opencv笔记1

cv2.namedwindow("名字", cv2.WINDOW_NORMAL)

cv2.imshow("名字",数组)

ret,frame = cap.read()

cv2.imwrite("保存的路径")

cv2.destroyALLWindows()

resizeWindow

cv2.waitKey(0)等待时间

cap.caputure(0)本设备摄像头

cv2.VideoWrite("写入的路径",fourcc,帧数,像素)

鼠标回调函数:setMouseCallback(winname,callback,userdata)
callback(event:指事件,x,y,:指坐标,flags:组合键,userdata)

Trackbar控件(trackbarname,winname,value:trackbar当前值,count:最小值为0,最大值为count,callback,userdate)

getTrackBarPos参数(输入参数:trackbarname,输出参数:winname,输出:当前值)

核心知识
1:色彩空间变换
2:像素访问
3:矩阵的加减乘除。
4基本图形绘制

颜色空间RGB:人眼的色彩空间
opencv默认使用BGR

HSV:
Hue:色相,指色彩,如红色,蓝色
Saturation:饱和度,纯度
Value:明度
颜色转换:cv2.cvtcolor()

HSL:
Hue:色相,指色彩,如红色,蓝色
Saturation:饱和度,纯度
Lightness:亮度
区别17fd1c0e06654fbda3cce393012c3b64.jpg 

OpenCV中用到的矩阵都要转换成Numpy数组
Numpy是一个经高度优化的Python数值库
创建数组array()
创建全0数组zeros()/ones
创建全值数组full()
创建单元数组identity/eye()
格式:
np.array([])
np.zeros((行的个数,列的个数,通道数/层数),np.uint8)
np.ones和zeros一样
np.full(行的格式,列的个数,通道数/层数),数组中要的数字,np.uint8)
np.identity(3):即3×3,斜对角为1其他为0

np.eye(3,5,k=3)指从第一个第四个开始为1,第二行第5个为1…

Numpy检索
[y,x]
[y,x,通道数:指哪一个层数]也可以img[里面填一个数组,我学习的视频中是用一个循环,img[count,100]=[0,0,255]后面指的是[第一层,第二层,…]

获取子矩阵
Region of Image(ROI)
对段[y1:y2,x1:x2]
对整个的图像变更[:,:]

Mat由头和数据组成
一般2个用途:储存图像(图像可以看成一个高行宽列的一个矩阵)和储存矩阵
public:

int dims;维数
int rows,cols;行列数
uchar *data;储存数据的指针
int *refcount;引用技术

Mat浅拷贝
Mat A 
A=imread(file,IMREAD_COLOR)
Mat B(A)
Mat 深拷贝
.copy()

.shape属性包括了 高度,长度,通道数
.size:图像占用了多大空间,长度*高度*通道数
.dtype,图像中每个元素的位深

通道分离与合并
spit()
merge((ch1,ch2,…))

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值