2 hesihai123 hesihai123 于 2016.04.19 15:55 提问

关于VS的里的R,G,B三个单色通道怎么再转化为一个原来的三色图

想问下大神
int bVal,gVal,rVal,Y,Cr,Cb;
// TODO: 在此添加控件通知处理程序代码
CDC *pDC = GetDlgItem(IDC_STATIC)->GetDC();//获取IDC_STATIC的环境,来控制这个组件的绘图
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect; // 矩形类
GetDlgItem(IDC_STATIC)->GetClientRect(&rect); //获取box1客户区(控件范围)
CvvImage cimg;
IplImage *src; // 定义IplImage指针变量src

src = cvLoadImage("F:\testimg.bmp",1); // 将src指向当前工程文件目录下的图像me.bmp

cimg.CopyOf(src,src->nChannels);
cimg.DrawToHDC(hdc,&rect);
ReleaseDC( pDC );//输出图像
//把图像的各个部分转化为RGB三个单通道
for (int i = 0; i < src->height; i++)
{
for (int j = 0; j < src->width; j++)
{

        bVal = ((uchar *)(src->imageData + i*src->widthStep))[j*src->nChannels + 0]; // B
        gVal = ((uchar *)(src->imageData + i*src->widthStep))[j*src->nChannels + 1]; // G
        rVal = ((uchar *)(src->imageData + i*src->widthStep))[j*src->nChannels + 2]; // R

    }
}我把一个图分离成了3个单色通道值,怎么样再用三个单色通道制合成一张原图呢
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!