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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
OpenCV多通道图像转单通道R,G,B图像
从多通道图像提取单通道R,G,和B分量图像
基于vs2010+opencv2.4.8实现----将三通道RGB图片分别按R,G,B三个不同分量输出显示
(一)RGB模型:             RGB模型是工业界的一种颜色标准,是通过对红(Red),绿(Green),蓝(Blue)3个颜色亮度的变化以及她们相互之间的叠加来得到各种各样的颜色的。该标准几乎包括了人类视觉所能感知的所有的颜色,是目前运用最广的模型之一。 (二)理论基础:        RGB彩色空间对应的坐标系统是如图一所示的立方体,红,绿和蓝位于立方体的三个顶点上,青,品红
如何获取RGB图像的单色图像
今天项目中遇到需要处理一下
MATLAB实现3通道的真彩图像转换成2通道的灰度图像
%将3通道的真彩图像转换成2通道的灰度图像,因为每一个figure(图像)有且仅有一个色图(colormap),然而色图有4种使用方法 1、COLORMAP(MAP) 用MAP矩阵映射当前图形的色图。矩阵本身就是二维的 2、COLORMAP('default')  默认的设置是 JET. 3、MAP = COLORMAP 获得当前色图矩阵. 4、COLORMAP(AX,...) 应用色
图像中将彩色图像分别转化为三个RGB通道
该程序是关于将一幅彩色图像转化成三个RGB通道,对学图像处理的同学有好处
matlab实现将彩色图像(R,G,B)色分量的直方图显示出
I=imread('1.bmp'); R=I(:,:,1); G=I(:,:,2); B=I(:,:,3); figure,imhist(R); title('R'); figure,imhist(G); title('G'); figure,imhist(B); title('B');
图像的直方图
用MFC实现彩色图像转化为灰度图像,并且得到灰度图像的直方图,以及R/G/B三通道的直方图
OpenCV中提取R,G,B通道,并显示出来。
今天突然想到要提取图像的RGB通道出来显示看看,然后就看看书怎么玩。 实际上提取单独的通道是使用到cvSplit函数,只是如果想把通道图像给显示出来,就有那么点需要注意的地方咯。 直接上代码: #include #include int main(int argc, char* argv[]) { IplImage* pSrcImage = cvLoadImage("D:\\cvIm
颜色(color)转换为三色值(r/g/b)(干货分享)
干货分享---颜色转换 — 三色值
笔记:OpenCV 读取摄像头并显示图像的R、G、B三个通道的直方图
要点: 1、读取摄像头 2、从一副彩色图像中分离出R、G、B三个通道(cvSplit) 3.  分别对每个通道图像创建直方图,并显示 源码如下: // Camera_Capture_Histogram.cpp : Defines the entry point for the console application. //author: JarvisChu //date: 201