问题描述
- cvMat矩阵还原彩色图片
-
我把一个彩色图像的RGB三个通道像素信息分别放在三个cvMat型矩阵Mat0,Mat1和Mat2中,对矩阵内容进行相关操作后如何再将这三个矩阵还原为一个IplImage型的彩色图像呢?求解答~要具体代码内容
解决方案
我给题主写下代码吧,有什么问题可以继续追问,直接写的,可能有错
Mat S = imread("...");
// 把一个3通道图像转换成3个单通道图像
vector channels;
split(S, channels);
CvMat imageBlueChannel;
CvMat imageGreenChannel;
CvMat imageRedChannel;
imageBlueChannel = channels.at(0);
imageGreenChannel = channels.at(1);
imageRedChannel = channels.at(2);
//假设操作结束后是这三个矩阵
CvMat BlueChannelResult;
CvMat GreenChannelResult;
CvMat RedChannelResult;
channels.at(0) = &fftBlueChannel;
channels.at(1) = &fftGreenChannel;
channels.at(2) = &fftRedChannel;
Mat Result;
//通道合成
merge(channels, Result);
//我习惯用Mat,不是很清楚IplImage有没有类似的方法,实在不行你再用Mat转IplImage吧
//Mat 转 IplImage
IplImage img = Result;
时间: 2024-11-10 01:27:45