opencv:通道的分离与合并

Posted Aloys Wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv:通道的分离与合并相关的知识,希望对你有一定的参考价值。

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    Mat src = imread("f:/temp/images/lena.jpg");
    if (src.empty())
    {
        printf("Could not find the image!\n");
        return -1;
    }

    namedWindow("input", WINDOW_AUTOSIZE);
    imshow("input", src);

    vector<Mat> mv;
    // 通道分离
    split(src, mv);
    int size = mv.size();
    printf("number of channels: %d\n", size);
    imshow("blue channel", mv[0]);
    imshow("green channel", mv[1]);
    imshow("red channel", mv[2]);

    // 修改通道内容然后合并通道
    mv[2] = Scalar(0);
    // bitwise_not(mv[0], mv[0]);
    Mat dst;
    // 通道合并
    merge(mv, dst);
    imshow("merge dst", dst);

    waitKey(0);
    destroyAllWindows();
}

以上是关于opencv:通道的分离与合并的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV之图像通道分离合并

opencv之通道分离和合并

OpenCV-颜色通道的分离合并(转)

图片的色彩空间转换简单色彩跟踪与通道分离合并

OpenCV通道的分离和合并

OpenCV实现图像颜色通道分离图像二值化图像滤波降噪C++