在学习《OpenCV3编程入门》这本书中的5.3节分离颜色通道、多通道图像混合时,发现了几个值得注意的点,因为书上没有说明或强调,稍有不慎可能还是会出错,然后让你气cry!所以我在此记录一下,至于其它书籍有没有提或者你早就知道噜,本人都NBCS嘻嘻,看看就好!
分离色彩通道的效果
书中只给了关键代码,且没有效果图,所以不测试一下的人不一定能理解这个分离的作用,所以本人花了个13分钟完整了一下代码,如下:
#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
void main()
{
vector<Mat> channels; //必须有命名空间std
Mat imageBlueChannel,imageGreenChannel,imageRedChannel;
Mat srcImage = imread("RGB测试.png");
imshow("【原图】", srcImage);
//把一个3通道图像转换成3个单通道图像
split(srcImage, channels);
imageBlueChannel = channels.at(0);
imageGreenChannel = channels.at(1);
imageRedChannel = channels.at(2);
imshow("【蓝色】", imageBlueChannel);
imshow("【绿色】", imageGreenChannel);
imsho