当前位置: > 财经>正文

OpenCV

2023-07-17 12:32:06 互联网 未知 财经

OpenCV

一、什么是掩模mask

OpenCV中很多函数都带有一个mask参数,mask被称为掩模。图像掩模一般用来对处理的图像(全部或者局部)进行遮挡,来控制图像处理的区域或处理过程。

二、掩模原理

掩模一般是小于等于源图像的单通道矩阵,掩模中的值分为两种0和非0。以Mat::copyTo为例,当mask的值不为0,则将源图像拷贝到目标图像,当mask为0,则不进行拷贝,目标图像保持不变。

源图像目标图像mask源图像拷贝叠加到目标图像上得到新的目标图像

1003055502202300 0050220230

2018088997712255255255    20   180        88

33281109211011525525525533        28         110

 三、示例 1 #include 2 #include 3 4 using namespace cv; 5 using namespace std; 6 7 8 int main(int argc, char** argv) 9 {10 Mat src = imread("test.jpg");11 Mat src1 = src.clone();12 Mat dst, edge, gray;13 14 dst.create(src1.size(), src1.type());15 dst = Scalar::all(0);16 17 cvtColor(src1, gray, COLOR_BGR2GRAY);18 19 blur(gray, edge, Size(3, 3));20 21 Canny(edge, edge, 3, 9, 3);22 23 //掩膜的存在使得只有边缘部分被copy24 src1.copyTo(dst, edge);25 26 imshow("效果图", dst);27 28 waitKey(0);29 return 0;30 31 }

 

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。