从处理图片开始
目标
如何读取,显示和保存图片
需要用到的函数:cv2.imread(), cv2.imshow(), cv2.imwrite()
可选项,学习如何通过Matplotlib显示图像
使用OpenCV
读取一个图片
利用cv2.imread()函数读取一张图片。
该函数需要两个参数:
图片所在的文件路径,如果没有返回none。
读片读取的方式。
cv2.IMREAD_COLOR:以彩色的方式读取
cv2.IMREAD_GRAYSCALE:以灰度的方式读取
cv2.IMREAD_UNCHANGED:以alpha通道的方式读取
注意
可以用 1, 0, -1代替第二个参数。
代码如下:
1 | import numpy as np |
显示一张图片
利用cv2.imshow()这个函数在窗口上显示图片。显示窗口会自动适应图片的大小。
第一个参数是窗口的名字,是一个string类型。
第二个参数就是图片的名字。
你可以同时创建多个不同窗体名字的窗体来显示图片。
1 | cv2.imshow('image', img) |
cv2.waitKey()是一个键盘绑定函数。参数是毫秒。这个函数是在这个时间段内等待键盘事件。如果在这个时间段内键盘的按键被触发,那么程序继续。如果是0则继续等待。
cv2.destroyAllWindows()直接删除我们创建的所有的窗口。如果想删除指点的窗口,那么将窗口名字作为参数传入函数cv2.destroyWindow()。
注意
可以通过函数cv2.namedWindow()这个函数来决定窗体的大小是否可变。默认情况下,参数是cv2.WINDOW_AUTOSIZE。如果将这个参数修改为cv2.WINDOW_NORMAL,那么就能修改窗体的大小。
代码如下
1 | cv2.namedWindow('image', cv2.WINDOW_NORMAL) |
保存图片
利用cv2.imwrite()函数来保存图片
第一个参数是保存的图片名。
第二个参数是想保存的图片。
1 | cv2.imwrite('saveImg.png', img) |
总结
下述代码总结了通过灰度的方式读取、显示、保存图片的方式。按下‘s’保存并退出,按下ESC直接退出。
1 | import numpyt as np |
警告
如果你使用的是64位操作系统,那么需要将k = cv2.waitKey(0)这一行修改为 k = cv2.waitKey(0) & 0xFF
使用Matplotlib
Matplotlib是Python的一个画图库,它提供了很多的方法。你会在接下来的几章中接触到它们。现在,先学习如何使用Matplotlib来显示一张图片。你可以通过它实现放大缩小或者保存图片等操作。
1 | import numpy as np |
- 本文作者: Kevin Sworker
- 本文链接: https://sworker.gitlab.io/2018/03/21/OpenCV-Python-First/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!