#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include"opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(int argc,char* argv[])
{
Mat image=imread("逐帧人脸B_4*4_result_00.jpg");
Size s=image.size();
Mat result= Mat::zeros(s, CV_32FC3);
Mat imageGreenChannel = imread("逐帧人脸G_4*4_result_00.jpg");
Mat imageRedChannel = imread("逐帧人脸R_4*4_result_00.jpg");
Mat imageBlueChannel = imread("逐帧人脸B_4*4_result_00.jpg");
//这个函数将rgb转为单通道图像,这一步必不可少
cvtColor(imageBlueChannel, imageBlueChannel, CV_BGR2GRAY);
cvtColor(imageGreenChannel, imageGreenChannel, CV_BGR2GRAY);
cvtColor(imageRedChannel, imageRedChannel, CV_BGR2GRAY);
vector<Mat> mbgr(3);
mbgr[0] = imageBlueChannel;
mbgr[1] = imageGreenChannel;
mbgr[2] = imageRedChannel;
merge(mbgr, result);
imshow("逐帧人脸彩色_4*4_result.jpg",result);
imwrite("逐帧人脸彩色_4*4_result.jpg",result);
waitKey(0);
return 0;
}
如何将R、G、B通道3附图merge为一幅彩色图
猜你喜欢
转载自blog.csdn.net/qq_33591712/article/details/84403258
今日推荐
周排行