OpenCV的imread函数()和imwrite( )函数能支持各种静态图像文件格式。不同系统支
持的文件格式不一样,但都支持BMP格式,通常还应该支持PNG , JPFG和TIFF格式。
1 通过二维Numpy数组来简单创建一个黑色的正方形图像:
img = np.zeros((3,3),dtype=np.uint8)
print(img)
打印:
[[0 0 0]
[0 0 0]
[0 0 0]]
每个像素都由一个8位整数来表示 ,即每个像素值的范围是0~255。
现在利用cv2.cvtColor函数将该图像转换成Blue-green-red ( BGR)格式:
img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
print(img)
print(img.shape)
打印:
[[[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]]
[[0 0 0]
[0 0 0]
[0 0 0]]]
(3, 3, 3)
从这个结果可看出:现在每个像素都由一个三元数组表示,并且每个整型(integer)向
量分别表示一个B、G、R通道。
2 读取一种格式图像文件,然后保存为另一种格式:
image = cv2.imread('cat.1.jpg')
cv2.imwrite('cat.1.png',image)
3 读取图像文件作为灰度图像并保存:
grayImage = cv2.imread('cat.1.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imwrite('cat.1.gray.jpg',grayImage)
前后图像对比:
4 在窗口显示图像
image = cv2.imread('cat.1.jpg')
cv2.imshow('my image',image)
cv2.waitKey()
cv2.destroyAllWindows()