欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

OpenCv图像通道分离 合并

程序员文章站 2022-04-01 09:37:18
...
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
    Mat img = imread("E:/test/MySource/OpenCV/1.jpg");
	Mat dst;
	vector<Mat> channels;//定义Mat类型的向量

	split(img, channels);//通道分离
	Mat blue = channels.at(0);
	Mat green = channels.at(1);
	Mat red = channels.at(2);

	threshold(blue, blue, 150, 255, THRESH_BINARY);//二值化:大于200的赋值255  小于200的赋值0
	threshold(green, green, 150, 255, THRESH_BINARY);
	threshold(red, red, 150, 255, THRESH_BINARY);

	merge(channels, dst);//通道合并

	imshow("原图", img);
	imshow("blue", blue);
	imshow("green", green);
	imshow("red", red);
	imshow("dst", dst);

	waitKey(0);
    //std::cout << "Hello World!\n"; 
}