安装
pip install opencv-python==4.5.5.64
RGB
3通道: Red通道 Green通道 Blue通道
HSV
3通道: Hue:色调,颜色种类 Saturation:饱和度,颜色的浓淡 Value:明度,颜色明亮度
基本处理
-
图像读取:img = cv.imread("./images/small.png")
-
图像处理:
- 彩色图转灰度图:gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
- 后面cv.COLOR_BGR2GRAY是格式,格式决定可视化方式
- 图像可视化:
- cv.COLOR_BGR2GRAY格式:cv.imshow('image', img)
- cv.IMREAD_GRAYSCALE格式:plt.imshow(img, cmap='gray') plt.show()
- 暂停图像:
- 获取按下的任意键对应的ASCII 码:k = cv.waitKey(0) & 0xFF
- 释放所有资源:
- cv.destroyAllWindows()
- 保存的图像数据:
- cv.imwrite("./images/t1.png", img)
- 彩色图转灰度图:gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
-
Numpy处理:
- 图像转置,宽高互换:
- cv.imshow('image', np.transpose(img, (1, 0, 2)))
- 图像截取:
- cv.imshow('image', img[200:400, 100:300, :])
- 图像转置,宽高互换:
-
视频处理
-
创建一个基于摄像头的视频读取流:
- capture = cv.VideoCapture(0)
-
获取视频宽高属性:
- size = (int(capture.get(cv.CAP_PROP_FRAME_WIDTH)), int(capture.get(cv.CAP_PROP_FRAME_HEIGHT)))
-
读取当前时刻的摄像头捕获的图像,返回为值:True/False, Image/None
- success, img = capture.read()
-
设置摄像头相关参数:
- success = capture.set(cv.CAP_PROP_FRAME_WIDTH, 880) if success: print("设置宽度成功")
-
设置视频中的帧率,也就是每秒存在多少张图像
- fps = 25
-
指定视频编码格式(FourCC 代码)
- video_writer = cv.VideoWriter('./videos/v2.avi', cv.VideoWriter_fourcc('I', '4', '2', '0'), fps, size)
-
存放视频帧的路径:
-
构建 6 秒的视频输出:
-
创建视频路径
-
等待任意键盘输入
-
-
基于OpenCV的基本绘画
- 创建一个黑色的图像(BGR格式):
- img = np.zeros((512, 512, 3), np.uint8)
- 画一条直线
- 创建一个黑色的图像(BGR格式):
-
-
画一个矩形
-
画一条圆
-
画一个椭圆
-
画多边形
-
添加文本
-