目录
OpenCV是一个跨平台的计算机视觉库。用于开发实时的图像处理、计算机视觉以及模式识别程序。
安装OpenCV模块:pip install opencv-python
OpenCV基本使用
读取图片
显示图像是OpenCV最基本的操作,imshow()函数可以实现该操作。imshow()函数有两个参数:显示图像的帧名称以及要显示的图像本身。直接调用imshow()函数图像会立即消失。要保证图片一直在窗口上显示,可通过waitKey()函数。waitKey()函数的参数为等待键盘触发的时间,单位为毫秒,其返回值是-1 (表示没有键被按下)
import cv2 as cv
img = cv.imread('poo/5.jpg') # 读取图片路径不能有中文
gray_img = cv.cvtColor(img, cv.COLOR_BGR2GRAY) # 灰度转化
# height, width, channels = img.shape # 获取图像尺寸及通道数
cv.imshow('input img', img)
cv.waitKey(0) # 等待键盘输入,单位是亳秒 传入0无限等待
cv.imshow('grayimg', gray_img)
cv.waitKey(0)
resizeimg = cv.resize(gray_img, dsize=(300, 200)) # 修改图片尺寸
cv.imshow('grayimg', resizeimg)
cv.waitKey(0)
cv.imwrite('poo/gray_5.jpg', resizeimg) # 保存图片
cv.destroyAllWindows() # C++语言,使用完内存必须释放
画图
OpenCV可以对图片进行任意编辑处理。
import cv2 as cv
img = cv.imread('poo/6.jpg')
x, y, w, h = 50, 50, 80, 80
cv.putText(img, 'python', (200, 100), cv.FONT_HERSHEY_SCRIPT_SIMPLEX, 5, (255, 255, 0), 10)
cv.rectangle(img, (x, y, x + w, y + h), color=(0, 255, 0), thickness=2) # color-BGR
cv.circle(img, center=(x + w // 2, y + h // 2), radius=w // 2, color=(255, 0, 0), thickness=2)
cv.imshow('', img)
cv.waitKey(3000)
cv.destroyAllWindows()