开发环境:VS2013+opencv3.0
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat InpImage = imread("test.jpg", -1);
Mat bgr[3];
Mat bgr_res[3];
for (int j = 0; j < 3; j++)
{
split(InpImage, bgr);
for (int i = 0; i<3; ++i)
{
if (i != j)
bgr[i] = Mat::zeros(InpImage.size(), bgr[0].type());
}
merge(bgr, 3, bgr_res[j]);
}
imshow("b", bgr_res[0]);
imshow("g", bgr_res[1]);
imshow("r", bgr_res[2]);
imshow("原始图像", InpImage);
waitKey(0);
return 0;
}
效果:

OpenCV图像通道分离与显示

本文介绍如何使用OpenCV库在C++环境下分离并独立显示图像的RGB通道。通过VS2013和OpenCV3.0实现,代码详细展示了从读取图像到分离并显示各通道的过程。
188

被折叠的 条评论
为什么被折叠?



