首先,让我们来安装并导入OpenCV:
# 使用pip安装OpenCV# pip install opencv-python# 导入OpenCV库import cv2import numpy as np
2. 图像的基本操作读取和显示图像是OpenCV最基础的操作,来看看怎么实现:
# 读取图像img = cv2.imread('cat.jpg')# 显示图像cv2.imshow('猫咪图片', img)cv2.waitKey(0) # 等待按键cv2.destroyAllWindows() # 关闭所有窗口# 保存图像cv2.imwrite('new_cat.jpg', img)
🌟 小贴士:imread()读取的图像格式是BGR(蓝绿红),而不是我们常见的RGB(红绿蓝)哦!
3. 图像处理的魔法来看看几个常用的图像处理操作:
# 调整图像大小resized_img = cv2.resize(img, (300, 200)) # 宽300,高200# 图像灰度化gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 图像模糊化blurred_img = cv2.GaussianBlur(img, (5, 5), 0) # 使用5x5的核进行高斯模糊# 边缘检测edges = cv2.Canny(gray_img, 100, 200) # 使用Canny算法检测边缘
4. 绘制图形和添加文字OpenCV还能让我们在图像上画画和写字:
# 创建一个空白画布canvas = np.zeros((400, 600, 3), dtype='uint8') # 黑色画布# 画一个矩形cv2.rectangle(canvas, (100, 100), (300, 200), (0, 255, 0), 2) # 绿色矩形# 画一个圆cv2.circle(canvas, (400, 200), 50, (0, 0, 255), -1) # 实心红色圆# 添加文字cv2.putText(canvas, "Hello OpenCV!", (200, 300), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
5. 实战小项目:人脸检测让我们来实现一个简单的人脸检测程序:
# 加载人脸检测器face_cascade = cv2.CascadeClassifier( cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')# 读取图片img = cv2.imread('people.jpg')gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 检测人脸faces = face_cascade.detectMultiScale(gray, 1.1, 4)# 在检测到的人脸周围画框for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)# 显示结果cv2.imshow('人脸检测结果', img)cv2.waitKey(0)cv2.destroyAllWindows()
实践小任务:
尝试用OpenCV读取你自己的照片,并对它进行灰度化和边缘检测在一张图片上画一个笑脸(提示:用circle和line组合)挑战一下用OpenCV打开摄像头,实现实时人脸检测!🎯 进阶提示:
OpenCV的图像处理函数都有丰富的参数可以调整,建议查看官方文档深入学习处理大图像时要注意内存使用在进行人脸检测时,调整detectMultiScale的参数可以提高检测效果今天的Python学习之旅就到这里啦!记得动手敲代码。祝大家学习愉快,Python学习节节高!