简介
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 种
- cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
- cv2.IMREAD_GRAYSCALE:读入灰度图片
- cv2.IMREAD_UNCHANGED:读入完整图片,包括alpha通道
import cv2
img = cv2.imread('1.jpg',cv2.IMREAD_GRAYSCALE)
图像保存函数 cv2.imwrite(filename, img, params)
filename:保存的文件名
img:要保存的图像对象
params:可选参数,针对特定的格式。
- 对JPEG,表示的是图像的质量,用 0 - 100 的整数表示。
- 对 PNG,表示的是压缩级别,用 0 - 9的整数表示。
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) # 销毁指定名字的显示窗口
三、图像操作
3.1 翻转图像
翻转图像函数 cv2.flip(src, flipCode)
src:要转换的图像。
flipcode:控制翻转效果。
- flipcode = 0:沿x轴翻转
- flipcode > 0:沿y轴翻转
- flipcode < 0:x, y轴同时翻转
imgflip = cv2.flip(img,1)
3.2 颜色空间转换
颜色空间转换函数 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)