1.前言
Opencv是一个C++库,用于实时处理计算机视觉问题,除了C++和C,python作为一种简洁的脚本语言,在C++代码基础上的python接口得到了越来越广泛的支持
2.Opencv的安装
step1.直接在终端中输入
pip install opencv-python
# 使用下面的指令可以指定版本
pip install opencv-python==4.5.4.60
下载完成后
step2.直接在终端中输入
pip install opencv-contrib-python
# 使用下面指令可指定版本
pip install opencv-contrib-python==4.5.4.60
3.opencv的Python接口
导入opencv
import cv2
4.opencv有关图像处理的基本操作
4.1读取图像
# 语法格式如下
image = cv2.imread(filename, flags)
# 参数说明
# image:是imread方法的返回值,返回的是读取到的图像。
# filename:尧都区图像的完整路径
# flags:读取图像颜色类型的标记(默认值为1,可以省略,表示读取彩色图像
flags值为0时,表示读取的时灰度图像,即使是彩色图像也可以读取为灰色图像)
import cv2
# 读取图像
image = cv2.imread(r"C:\Users\cgs\Desktop\pictures\1 (6).jpg", )
# 相当于image = cv2.imread("C:\\Users\\cgs\\Desktop\\pictures\\1 (6).jpg", )
# 相当于image = cv2.imread(r"C:/Users/cgs/Desktop/pictures/1 (6).jpg", )
print(image)
打印结果如下:
4.2显示图像
1.imshow()方法用于显示图像,语法格式如下:
cv2.imshow(winname, mat)
# 参数说明
# winname: 显示窗口的图像名称。
# mat: 要显示的图像
2.waitkey()方法用于等等用户按下键盘上按键的时间, 语法格式如下
retval = cv2.waitkey(delay)
# 参数说明
# retval:与被按下的按键相对应的ASCALL码,列如:Esc对应27,空格键对应32
# delay:等待用户按下键盘上按键的时间
3.destroyAllWindows()方法用于销毁所有正在显示图像的窗口,其语法格式如下
cv2.destroyALllWindows()
import cv2
image = cv2.imread(r"C:\Users\cgs\Desktop\pictures\2 (6).jpg", ) # 读取图像
cv2.imshow("mountain", image) # 在名为mountain的窗口上显示图像
cv2.waitKey() # 按下任何键盘按键后
cv2.destroyAllWindows() # 销毁所有窗口
运行结果图片:
试试如何显示该图像的灰度图像吧!!!
image = cv2.imread(r"C:\Users\cgs\Desktop\pictures\1.4.jpg", 0)
试试如何控制窗口的显示时间!!!
cv2.waitKey(5000) #即5秒
4.3保存图像
# 语法格式如下:
cv2.imwrite(filename, img)
import cv2
image = cv2.imread(r"C:\Users\cgs\Desktop\pictures\1.4.jpg", 0) # 读取图像
cv2.imwrite("A:1.4.jpg", image)
4.4获取图像属性
opencv提供了shape, size, dtype这三个常用属性,解释如下:
shape:
如果是彩色图像,那么获取的是一个由图像的像素数列、像素行数和通道数所组成的数组,如果是灰度图像,那么获取的是一个包含图像的像素列数、像素行数的数组
size:
获取的是图像包含的像素个数,其值为“像素列数 X 像素行数 X 通道数”(灰度图像通道数为1)
dtype:
获取的是图像的数据类型。
import cv2
image_Color = cv2.imread(r"C:\Users\cgs\Desktop\pictures\1.4.jpg") # 读取图像
print("获取彩色图像的属性")
print("shape =", image_Color.shape)
print("size=", image_Color.size)
print("dtype=", image_Color.dtype)
image_Gray = cv2.imread(r"C:\Users\cgs\Desktop\pictures\1.4.jpg", 0)
print("获取灰度图像的属性")
print("shape =", image_Gray.shape)
print("size=", image_Gray.size)
print("dtype=", image_Gray.dtype)