【CV】图像基本操作——①图像的IO操作
OpenCV基本操作
图像基本操作
图像的IO操作
解决问题:如何读取图像,如何显示图像,如何保存图像
读取图像
- API
cv.imread()
参数:
-
要读取的图像
-
读取方式的标志
-
cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的透明度都将被忽略。这是默认参数
-
cv.IMREAD*GRAYSCALE:以灰度模式加载图像
-
cv.IMREAD_GRAYSCALE:包括alpha通道的加载图像模式。
可以使用1、0或-1来依次代替上面三个标志
-
-
参考代码:
import numpy as np
import cv2 as cv
# 以灰度图的形式读取图像
img = cv.imread('messi5.jpg', 0)
注意:如果加载的路径有误,不会报错,会返回一个None值
显示图像
- API
cv.imshow()
参数:
- 显示图像的窗口名称,以字符串类型表示
- 要加载的图像
注意:在调用显示图像的API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应情况,并且图像无法显示出来
另外,我们也可使用matplotlib对图像进行展示。
- 参考代码
# opencv中显示
cv.imshow()
cv.waitKey(0)
# matplotlib中显示
plt.imshow(img[:, :, ::-1])
保存图像
- API
cv.imwrite()
参数:
- 文件名,要保存在哪里
- 要保存的图像
- 参考代码
cv.imwrite('messigray.png', img)
总结
我们通过加载灰度图像,显示图像,如果按’s’并退出则保存图像,或者按ESC键直接退出而不保存。
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
# 读取图像
img = cv.imread('messi5.jpg', 0)
# 显示图像
# 用opencv展示图象
img = cv.imshow('image', img)
# 用matplotlib展示图象
plt.imshow(img[:, :, ::-1])
plt.title('匹配结果'),plt.xticks([]),plt.yticks([])
plt.show()
k = cv.waitkey(0)
# 保存图像
cv.imwrite('messigray', img)