1. 图像的读取
cv2.imread参数说明:cv2.imread(文件路径,flags)
- 文件路径——一般使用绝对路径即可
- flags=1——读取前后,图片格式不变
- flags=2——读取后,图片格式转为灰度图
- flags=3——读取后,图片格式转为BGR三信道图像
import cv2
#读取图像像素值
img = cv2.imread('data/SDU/001/left/index_2.bmp')#读取图片,得到BGR格式显示的nparray数组
img.shape#查看图片大小
>>(240, 320, 3)
type(img)#查看数据类型
>><class 'numpy.ndarray'>
2. 图像的显示
cv2.imshow()中的第一个参数——图像title必须要写
cv2.imshow('image',img)#显示图片
cv2.waitKey(0)#等待手动点击(不加此行代码,图片会一闪而逝)
Ps:
如果使用cv2.imread搭配cv2.imshow,则无需考虑信道格式转换的问题
如果使用PIL库进行图像imshow,则需要注意信道格式转换的问题
cv2→→PIL
[B,G,R]→[R,G,B]
3. 图像的保存
cv2.imwrite参数说明:cv2.imread(文件名,图片对象)
- 文件名——注意添加后缀,可以指定png,jpg等格式
- 图片对象——图像数据,mat类型或者numpy的ndarray类型
cv2.imwrite('data/1.png',img)