zoukankan      html  css  js  c++  java
  • Opencv中copyTo()函数的使用方法

    在Mat矩阵类的成员函数中copyTo(roi , mask)函数是非常有用的一个函数,尤其是后面的mask可以实现蒙版的功能,我们用几个实例来说明它的作用。我们要注意mask的数据类型,必须是CV_8U,且通道数或者是1,或者与roi一致

    首先我们令mask为尺寸与roi一致的1矩阵:

    int main()
    {
        Mat img1=imread("D:/CodeWork/MyImage/baboon.jpg",0);
        Mat img2=imread("D:/CodeWork/MyImage/linux.jpg",0);
        imshow("initial img1",img1);
        
        Mat roi=img1(Rect(0,0,img2.cols,img2.rows));
    //分别令像素值为1、0,以及令mask=img2.clone();观察输出结果

        Mat mask(roi.rows,roi.cols,roi.depth(),Scalar(1));

        img2.copyTo(roi,mask); 
    imshow(
    "logan img2",img2);
    imshow(
    "after mask img1",img1);
    waitKey();
    return 0;
    }

    运行结果如下:

    接下来,我们令mask=0,观察输出结果如下,很明显mask为0的区域并没有被替换成img2图像:

    再接下来,我们将mask直接等于img2图像,看看会怎么样?在mask中,非0区域的图像被保留下来,而像素值为0的区域则保持不变。

  • 相关阅读:
    springmvc最简单的搭建,初学者必看
    搭建服务器需要的那些
    jaxb使用
    Memcached Java Client API详解
    memcached client --ref
    使用Dom4j解析XML
    架构整洁之道
    架构的整理
    VMware虚拟机的三种联网方法及原理
    软件开发进度管理
  • 原文地址:https://www.cnblogs.com/phoenixdsg/p/8420716.html
Copyright © 2011-2022 走看看