#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("D:/DownLoad/x7b891op.png");
Mat img32;
img.convertTo(img32, CV_32F, 1 / 255.0, 0);
Mat gray0, gray1;
cvtColor(img, gray0, COLOR_BGR2GRAY);
cvtColor(img, gray1, COLOR_RGB2GRAY);
Mat imgs[3];//创建一个数组用来存储分离后的图像
split(img,imgs);//将img分离为三个单通道图像
Mat img0, img1, img2;
img0 = imgs[0];
img1 = imgs[1];
img2 = imgs[2];
Mat img_H;
merge(imgs, 3, img_H);//将数组内的三个单通道图像合并为一个三通道图像
Mat zero = Mat::zeros(Size(img.cols,img.rows),CV_8UC1);//创建一个三通道全为0的图像
vector<Mat> imgsV;//创建类型为Mat的向量
imgsV.push_back(img0);//添加向量
imgsV.push_back(zero);
imgsV.push_back(zero);
Mat imgsVH;
merge(imgsV, imgsVH);将向量中三个元素合并为一个三通道图像
//通过image watch可知imgsVH的第一个通道为蓝色,所以默认模式为BGR
return 0;
}
09-05
781
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
05-17