Python cv2模块使用(opencv库)

简介

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)

猜你喜欢

转载自blog.csdn.net/chengdong996/article/details/107750312