c++/opencv/矩阵掩膜

老太君陪你学cv矩阵掩膜

矩阵掩膜可以说是学习OpenCV的第一个难题,我记得第一次学的时候也被下软了,后来发现其实挺简单的。
这是学习视频里的矩阵掩膜代码
看到这先别怕,我来慢慢道来。
第一行:cols明显是int变量,src是Mat变量(在前面声明),因为Mat结构体变量名,所以src.cols-1是获取列数(总列数减一,因为最后一列·最开始一列·最后一行和最开始一行不用,所以去掉),src.channels(),也是一个结构体里的方法,获取图片的通道数,因为像素的通道数只与列有关所以相乘获得真正的像素列数。
第二行:就是获取通道数,备用。
第三行:获取图片高度即行数。
第四行:已知dst是Mat变量,但是空的,所以给它初始化一下,和src一样size和type。Mat::zeros的作用是初始化成全黑色,dst备用。
第五行:定义row计数器从一到rows-1,头尾去掉。
第六·七·八·九行:获取src该行·前一行·后一行指针和dst该行指针。(const uchar* abc =src.ptr(数),这个数为多少就获取多少行的指针)
第十行:内循环,对列操作。
第十一行:就是利用指针与数组共性进行操作。(算法:中间像素*5-上边的像素-下边的像素-左边的像素-右边的像素)
但是大家会发现这个代码是不完美的,还需要将像素值saturate_cast(第十一行等号左边的内容),这样才完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值