opencv 是一个开源的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS上。opencv 由一系列 C 函数和少量 C++ 类构成,轻量且高效,提供了 Python、MATLAB 等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
在 python 中,引用 opencv 库时 需写为 import cv2。其中,cv2 是 opencv 的 C++ 命名空间名称,使用它来表示调用的是 C++ 开发的 opencv 的接口。所以安装时,不是用 pip install cv2 来安装,正确的安装语句如下:
pip install opencv-python
图像读取函数 cv2.imread(filename, flags)
filename:要读取图片的路径
flags:读取方式的标志,共以下 3 种
import cv2
img = cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE)
图像保存函数 cv2.imwrite(filename, img, params)
filename:保存的文件名
img:要保存的图像对象
params:可选参数,针对特定的格式。
cv2.imwrite('1.jpg',img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imwrite('1.png',img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
图像显示函数 cv2.imshow(winname, mat)
winname:显示图像的窗口的名字
mat:要显示的图像(即由 imread 读入的图像),窗口大小自动调整为图片大小
import cv2
img1 = cv2.imread('29.jpg',cv2.IMREAD_GRAYSCALE) # 图像读取
cv2.imshow('image',img1) # 图像显示
cv2.waitKey(0) # 等待键入,参数为 0 表示无限等待。这里是为了方便查看效果,不使用的话,窗口会一闪而逝。
cv2.destroyAllWindows() # 销毁所有显示窗口
#cv2.destroyWindow(wname) # 销毁指定名字的显示窗口
翻转图像函数 cv2.flip(src, flipCode)
src:要转换的图像。
flipcode:控制翻转效果。
imgflip = cv2.flip(img,1)
颜色空间转换函数 cvtColor(src, code)
src:要转换的图像。
code:转换的方式代码,形如 cv2.COLOR_X2Y
其中 X,Y 的取值为 RGB, BGR, GRAY, HSV, YCrCb, XYZ, Lab, Luv, HLS
#彩色图像转为灰度图像
img2 = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
#灰度图像转为彩色图像
img3 = cv2.cvtColor(img,cv2.COLOR_GRAY2RGB)