OpenCV将一种颜色转换为另一种颜色

Ron*_*oss 2 c++ opencv colors

我有一个灰度图像我想将所有白色像素(纯白色 - 255)转换为黑色(0)只有那些颜色,而不是所有的灰度我怎么能这样做?谢谢!罗恩

Ale*_*xey 6

您可以执行以下操作.

  1. 使用您的图像阈值inRange().

    Mat image;  // your original image
    Mat mask;
    void inRange(image, Scalar(255), Scalar(255), mask)
    
    Run Code Online (Sandbox Code Playgroud)

    输出mask将是二进制掩码,如果相应的像素image等于255(即如果像素值介于255和255之间,则包含边界),其像素设置为255 .

  2. 通过使用将black_image(您想要的替代颜色)复制到您的原件中.imagemaskcopyTo()

    Mat black_image(image.size(), CV_8U, Scalar(0));  // all zeros image
    black_image.copyTo(image, mask);
    
    Run Code Online (Sandbox Code Playgroud)