美文网首页
【08】Opencv-Mask操作

【08】Opencv-Mask操作

作者: 豚大叔的小屋 | 来源:发表于2023-03-09 15:11 被阅读0次

    1.Mask掩膜
    mask是掩膜,可以用来遮盖非感兴趣区,突出感兴趣区,使得图像处理只专注于ROI部分。
    注意:mask最终需要与要作用到的输入图像的尺寸与类型保持一致

    2.举例子
    int main() {
    Mat src = imread("img1.png", IMREAD_GRAYSCALE);
    imshow("src", src);
    // 定义mask,大小640*480,像素全0
    Mat mask = cv::Mat::zeros(Size(640, 480), CV_8UC1);

    // 作一个从坐标(220,120),宽200,高200的矩形框,框内填充白色,从方法1,2,3中任选一
    // 方法1
    rectangle(mask, cv::Rect(220, 120, 200, 200), Scalar(255), -1);
    // 方法2
    mask(cv::Rect(320, 50, 240, 310)) = 255;
    // 方法3
    mask(cv::Rect(320, 50, 240, 310)).setTo(255);

    Mat dst;
    // 将src中对应对应掩膜ROI中区域拷贝到dst
    src.copyTo(dst, mask);

    imshow("mask",mask);
    imshow("dst", dst);
    waitKey();
    return 0;
    }

    相关文章

      网友评论

          本文标题:【08】Opencv-Mask操作

          本文链接:https://www.haomeiwen.com/subject/rquuldtx.html