- 一、原码opencv-master
- 二、创建显示窗口
- 三、图片-Mat类型 bgr
- 四、视频采集
- 五、视频录制
- 六、设置鼠标
- 七、TrackBar控件
- 八、numpy库
- 九、Mat
- 1、属性
- 2、拷贝
- 3、访问属性
- 十、通道的分离与合并
- 十一、绘制图像
- 1、线
- 2、椭圆
- 3、多边形
- 4、文本
- 十二、图像运算
- 1、加法
- 2、减法
- 3、乘除
- 4、图像融合
- 5、位运算
- (1)非运算
- (2)与运算
- (3)或/异或
- 十三、图片变换
- 1、图片放大与缩小
- 2、图片翻转
- 3、图像旋转
- 十四、图片仿射变换
搜索:
grep "搜索名" * -Rn | grep "\.h"
含义:寻找 搜索名.h
二、创建显示窗口1.创建视图
namedWindow(name, window_flags)
2.显示
imshow()
3.显示时间
waitKey(0) #0代表一直 1代表显示1ms
4.销毁所有窗口
destroyAllWindows()
三、图片-Mat类型 bgr
1.加载图片
imread(path, flag)
2.保存图片
imwrite(name, img)
四、视频采集
1、虚拟采集器
cap = VideoCapure(index, api)
2、判断摄像头
cap.isOpened()
3、读取视频帧
状态表ret,视频帧frame = cap.read()
4、释放
cap.release()
五、视频录制
1、创建
fourcc = cv2.VideoWriter_fourcc(*'MJPG') # 多媒体文件格式
vw = VideoWriter(输出文件,多媒体文件格式,帧率,分辨率真实大小)
2、写入
vw.write()
3、释放
vw.release()
六、设置鼠标
1、创建鼠标
setMouseCallback(winname, callback, userdata) # 窗口名字 回调函数
2、设置鼠标回调函数
callback(event, x, y, flags, userdata) #
七、TrackBar控件
1、创建trackerbar
createTrackbar(trackbarname, winname, value当前值, count最大值, callback, userdata)
getTrackerbarPos(trackbarname, winname)
2、颜色空间转换
img = cvtColor(图片, 色彩空间)
八、numpy库
1、创建矩阵
array()
2、创建全0/1矩阵
zeros() / ones
zeros((480, 640, 3), np.uint8)
3、创建全值数组
full
4、创建单元数组
identity / eye()
5、检索
[y, x, channel]
6、获取子矩阵
[y1: y2, x1:x2]
[:,;]
九、Mat
1、属性
字段 | 说明 | 字段 | 说明 |
---|---|---|---|
dims | 维度 | channels | 通道数 |
rows | 行数 | size | 矩阵大小 |
cols | 列数 | type | |
depth | 像素的位深 | data | 存放数据 |
(1)浅拷贝:
(2)深拷贝:
3、访问属性shape # 高度、长度、通道数
size
dtype # 位深
十、通道的分离与合并
split(mat)
merge((ch1, ch2, ...))
十一、绘制图像
1、线
line(img, 开始点, 结束点, 颜色, 线宽, 线型)
2、椭圆
ellipse(img, 中心点, 长宽的一半, 角度, 从哪个角度开始, 从哪个角度结束, 颜色)
3、多边形
polylines(img, [点集], 是否闭环, 颜色)
fillPoly(img, [点集], 颜色)
4、文本
putText(img, 字符串, 起始点, 字体, 字号)
十二、图像运算
1、加法
add()
2、减法
subtract(A, B)
3、乘除
multiply(A, B)
divide(A, B)
4、图像融合
addWeighted(A, alpha, B, bate, gamma)
# alpha\bate权重
# gamma 静态权重
5、位运算
(1)非运算
bitwise_not(img)
(2)与运算
bitwise_and(img1, img2)
(3)或/异或
bitwise_or(img1, img2)
bitwise_xor(img1, img2)
十三、图片变换
1、图片放大与缩小
resize(src, dsize, fx, fy, interpolation)
fx/fy缩放因子
dsize[y, x]
interpolation | 插值算法 | |
---|---|---|
INTER_NEAREST | 临近插值 | |
INTER_LINEAR | 双线性插值 | 4个点 |
INTER_CUBIC | 三次插值 | 16个点 |
INTER_AREA |
flip(img, flipCode)
flipCode == 0 上下
flipCode > 0 左右
flipCode < 0 上下+左右
3、图像旋转
rotate(img, rotateCode)
rotateCode | 描述 |
---|---|
ROTATE_90_CLOCKWISE | 顺时针旋转90° |
ROTATE_180 | 旋转180° |
ROTATE_90_COUNTERCLOCKWISE | 逆时针旋转90° |
warpAffine(src, M, dsize, flags, mode, value)
M = np.float32([[1, 0, 100], [0, 1, 0]) # 平移矩阵
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)