OpenCV:掩膜操作mask

 时间:2024-10-12 09:06:35

1、先看一个示例:对图像中的指定区域提取;代码如下:#坡纠课柩include <opencv2\opencv.hpp>稆糨孝汶;#include <opencv2\highgui\highgui.hpp>#include <opencv2\features2d\features2d.hpp>#include <opencv2\core\core.hpp>using namespace std;using namespace cv;int main(){ Mat image, mask; Rect r1(172, 60, 74, 214);//感兴趣区域 image = imread("1.jpg"); mask = Mat::zeros(image.size(), CV_8UC1);mask(r1).setTo(255);//二值图Mat img1, img2, img3, img4; img1 = image(r1); image.copyTo(img2, mask); image.copyTo(img3); img3.setTo(0, mask); imshow("Image sequence", image); imshow("img1", img1); imshow("img2", img2); imshow("img3", img3); imshow("mask", mask); waitKey(); return 0;}结果如下如所示:

OpenCV:掩膜操作mask

3、image.copyTo(img2,mask);表示将原图像拷贝到img2上,mask掩膜的作用是仅允许原图像固定区域的像素执行拷贝操作;结果如图所示:

OpenCV:掩膜操作mask

5、mask意义:mask位图,来选择哪个像素允许拷贝,哪个像素不允许拷贝。如果mask像素的值是非0的,我就拷贝它,否则不拷贝。因为我们上面得到的mask中,感兴趣的区域是白色的,表明感兴趣区域的像素都是非0,而非感兴趣区域都是黑色,表明那些区域的像素都是0。一旦原图与mask图进行与运算后,得到的结果图只留下原始图感兴趣区域的图像了。也正如下图所示。

OpenCV:掩膜操作mask
  • 如何理解资本积累的历史趋势
  • 腾讯认证空间怎么弄
  • Python如何精确的四舍五入
  • 如何自制美味好吃的柚子饼
  • 热门搜索
    香港长洲岛旅游攻略 旅游资源开发与规划 去法国旅游要多少钱 旅游区规划 黄山旅游线路图 南岳旅游网 山东潍坊旅游景点 莲花山旅游区 坝美最佳旅游时间 冰岛旅游局