下面,我们初步认识一下OpenCV这款计算机视觉处理程序开发库。在这之前需要确保成功安装它的Python版本,可以用上篇提到的pip install opencv-python
命令进行安装,考虑到部分用户的网络问题,可以使用pip install opencv-python -i https://pypi.douban.com/simple
切换成豆瓣源进行加速。
图像的载入,显示以及写入
最首先的自然是图像的载入,我们引入OpenCVimport cv2 as cv
,然后使用imread
载入图像:
import cv2 as cv
img = cv.imread('./python.jpg')
print(type(img))
给cv.imread
函数传入一个图像文件路径的字符串作为参数,如果成功cv.imread
将返回返回图片像素信息的numpy数组,如果失败则返回None
。
成功载入图像后我们可以使用imshow
去显示它:
if img is not None:
cv.imshow('hello opencv', img)
cv.waitKey(0) # 按键盘任意键退出
cv.imshow
会打开一个窗口用于显示图像,该函数的第一个参数是窗口标题的字符串;第二个是图像的numpy数组。此外,我们还需要调用cv.waitKey(0)
去阻塞程序,该函数会阻塞程序直到接收到一个键盘输入。
使用imwrite
可以将图像的numpy数组写入到图像文件:
cv.imwrite('./python2.jpg', 255 - img)
cv.imwrite
一般接收两个参数,第一个为保存的文件路径;第二个是图像的numpy数组,我们用255减去原来的图像数组得到一个新的图像数组并保存「利于区分」。
图像缩放
对图像进行缩放可以使用cv.resize
函数:
img = cv.resize(img, (100, 100))
这里我们为cv.resize
传入了两个参数,第一个是原始图像的numpy数组;第二个是缩放后的宽与高,是个元祖。该函数将返回缩放后的图像数组。
其它操作
除此之外,OpenCV还有许多功能,例如:图像裁剪,几何变换,颜色空间,阈值处理,形态学操作,角点检测,轮廓检测,目标检测…… 感兴趣的朋友可以自己上网搜索相关专题。