图像的基础操作
基本目标:
掌握图像的读取和保存方法
能够使用OpenCV在图像上绘制几何图形
能够访问图像的像素
能够获取图像的属性,并进行通道的分离和合并
能够实现颜色空间的变换
1.图像的IO操作
这里我们会给大家介绍如何读取图像,如何显示图像和如何保存图像。
1.1读取图像
API
cv.imread()
参数:
要读取的图像
读取方式的标志
cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的透明度都将被忽略。这是默认参数。
cv.IMREAD*GRAYSCALE:以灰度模式加载图像
cv.IMREAD_UNCHANGED:包括alpha通道的加载图像模式。
可以使用1、0或者-1来替代上面三个标志
参考代码
import numpy as np
import cv2 as cv
1.2显示图像
API
cv.imshow()
参数:
显示图像的窗口名称,以字符串类型表示
要加载的图像
注意:在调用显示图像的API后,要调用cv.waitKey()给图像绘制留下时间,否则窗口会出现无响应情况,并且图像无法显示出来。
另外我们也可使用matplotlib对图像进行展示。
参考代码
opencv中显示
cv.imshow('image',img)
cv.waitKey(0)
matplotlib中展示
plt.imshow(img[:,:,::-1])
1.3 保存图像
API
cv.imwrite()
参数:
文件名,要保存在哪里
要保存的图像
参考代码
cv.imwrite('messigray.png',img)
我们通过加载灰度图像,显示图像,如果按’s’并退出则保存图像,或者按ESC键直接退出而不保存。
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
# 1 读取图像
img = cv.imread(