OpenCV3-Python基本图像操作
admin 于 2018年04月05日 发表在 计算机视觉
OpenCV的imread()函数和imwrite()函数能支持各种静态图像文件格式,不同系统支持的文件格式不一样,但都支持BMP格式,通常应该还支持PNG、JPEG和TIFF格式。无论哪种格式,每个像素都会有一个值,但不同格式表示像素的方式有所不同。
1. 导入调用的模块:
import numpy as np import cv2 import os
注意:此处的cv2并不是针对OpenCV 2.x.x版本的,而是该模块引入一个更好的API接口,采用面向对象编程,有别于之前cv模块的更多采用面向过程化的编程方式。
2. 调用NumPy创建图像
通过二维NumPy数组创建一个黑色的正方形图像:
img = np.zeros((3,3),dtype=np.uint8) print(img)
3. 颜色空间转换
利用cv2.cvtcolor函数将图像转换成 blue-green-red(BGR) 格式:
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) print(img)
4. 输出图像特性
每个像素由一个三元数组表示,并且每个整型(integer)向量分别表示一个B、G和R通道。可以通过shape属性来查看图像结构,返回行和列,如果由1个以上的通道,还会返回通道数。
img = np.zeros((3,3),dtype=np.uint8) print(img.shape)
5. 图像存为不同格式
(1)读取图像,并保存为其它格式
''' imread()可添加参数实现不同调用结果: IMREAD_UNCHANGED = -1 IMREAD_GRAYSCALE = 0 IMREAD_COLOR = 1 IMREAD_ANYDEPTH = 2 IMREAD_ANYCOLOR = 4 IMREAD_LOAD_GDAL = 8 ''' image = cv2.imread('00.png') cv2.imwrite('00.jpg',image)
(2)读取图像,并存为灰度图像
grayImage = cv2.imread('00.png',cv2.IMREAD_GRAYSCALE) cv2.imwrite('000.png',grayImage)