目标
- 在这里,您将学习如何读取图像、如何显示以及如何将其保存回来
- 您将学习这些函数:cv.imread()、cv.imshow()、cv.imwrite()
- 或者,您将学习如何使用 Matplotlib 显示图像
Opencv读取图像
使用函数cv.imread()读取图像。 第一个参数是图像的位置。 第二个参数是一个标志,它指定应该读取图像的方式。
- cv.IMREAD_COLOR = 1:加载彩色图像。图像的任何透明度都将被忽略,它是默认标志
- cv.IMREAD_GRAYSCALE = 0:以灰度模式加载图像
- cv.IMREAD_UNCHANGED = -1:加载图像,包含alpha通道
传递参数时可以用整数 1、0 或 -1来表示他们。
import cv2 as cv
img = cv.imread('1.jpg',0)
如果路径错误,它不会抛出任何错误,而是img的值为None,可以使用pirnt输入测试。
显示图像
使用函数cv.imshow()在窗口中显示图像。窗口会自动适应图像大小。
第一个参数是一个窗口名称(字符串类型),第二个参数是对象数组。可以创建多个窗口,但必须使用不同的窗口名称。这里需要注意,如果不添加cv.waitKey()函数的话窗口会一闪而过
import cv2 as cv
img = cv.imread('1.jpg',0)
cv.imshow('windows',img)
cv.waitKey (0)
cv.destroyAllWindows ()
cv.waitKey()是一个键盘绑定函数,它的参数是以毫秒为单位的时间。该函数为任何键盘事件等待指定的毫秒数。如果您在该时间内按任意键,窗口关闭,代码将往下运行。如果传递0,它将无限期地等待。它还可以设置为检测特定的键位,例如按下a键关闭窗口,下面会给大家说。
cv.destroyAllWindows()函数只是销毁我们创建的所有窗口,如果要销毁特定的窗口,可以使用cv.destroyWindow(),在其中传递窗口名称作为参数。
保存图像
使用函数cv.imwrite()保存图像。 第一个参数是将要保存图像的文件名文件名,第二个参数是要保存的图像。
import cv2 as cv
img = cv.imread('1.jpg',0)
cv.imwrite('2.png',img)
小总结:
下面的程序加载灰度图像,显示它,如果按“s”并退出则保存图像,或者如果按 ESC 键直接退出而不保存。
import cv2 as cv
img = cv.imread('1.jpg',0)
cv.imshow('windows',img)
key = cv.waitKey(0)
if key == 27:
cv.destroyAllWindows()
elif key == ord('s'):
cv.imwrite('100.png',img)
cv.destroyAllWindows()
|