• opencv-Mask(掩膜)


    数字图像处理中的掩膜的概念是借鉴于PCB制版的过程,在半导体制造中,许多芯片工艺步骤采用光刻技术,用于这些步骤的图形“底片”称为掩膜(也称作“掩模”),其作用是:在硅片上选定的区域中对一个不透明的图形模板遮盖,继而下面的腐蚀或扩散将只影响选定的区域以外的区域

    图像掩膜与其类似,用选定的图像、图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程

    数字图像处理中,掩模为二维矩阵数组,有时也用多值图像,图像掩模主要用于:

    ①提取感兴趣区,用预先制作的感兴趣区掩模与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0

    ②屏蔽作用,用掩模对图像上某些区域作屏蔽,使其不参加处理或不参加处理参数的计算,或仅对屏蔽区作处理或统计

    ③结构特征提取,用相似性变量或图像匹配方法检测和提取图像中与掩模相似的结构特征

    ④特殊形状图像的制作

        cv::Mat src(5, 4, CV_8UC3,cv::Scalar(10, 20, 30));
        std::cerr << src << std::endl;
        cv::Mat mask = cv::Mat::zeros(5, 4, CV_8UC3);
    
        cv::Rect r1(0,1,2,3);//像素点区域
        /*参数1:起始像素点列号--从0开始
               参数2:起始像素点行号
               参数3:总像素点列数
               参数4:总像素点行数
        */
        mask(r1)=cv::Scalar(5, 6, 7); //给某个区域设置值
        std::cerr << mask << std::endl;
        cv::Mat dst(5, 4, CV_8UC3,cv::Scalar(11, 22, 3));
        std::cerr << dst << std::endl;
        src.copyTo(dst, mask);
        //当mask的值不为0,则将源图像数据拷贝到目标图像;当mask为0,则不进行拷贝,目标图像数据保持不变
        std::cerr << dst << std::endl;

  • 相关阅读:
    Win7 vs2017 WDK 1803 1809 驱动开发 出错 KMDF
    http 请求 post get 长度限制
    IO模式和IO多路复用(阻塞IO、非阻塞IO、同步IO、异步IO等概念)
    select/poll 和 epoll 比较
    centos查看端口被哪个应用端口占用命令
    mysql索引知识简单记录
    Spring钩子方法和钩子接口的使用详解
    mysql使用自增Id为什么存储比较快
    分布式Id教程
    如何配置JVM系统属性及获取方式System.getProperty("pname")
  • 原文地址:https://www.cnblogs.com/liming19680104/p/15394337.html
Copyright © 2020-2023  润新知