从摄像头采集到数据,
存入CBitmap bmp
想对这个图像中象素进行操作,
需要操作每个象素的RGB值,
该怎么操作.

解决方案 »

  1.   

    BITMAP bm;
    DWORD ByteSize;
    bmp.GetBitmap(&bm);   //首先,根据你的图像bmp得到其具体格式
    BYTE* buff;           //定义图像数据指针
    int bmBytePixel=bm.bmBitsPixel/8;     //每行图像占的字节数
    ByteSize=bm.bmHeight*bm.bmWidthBytes; //整幅图像占的字节数
    buff=new BYTE[ByteSize];
    bmp.GetBitmapBits(ByteSize,buff);     //现在buff里面就是你要的象素的RGB值了
    //对buff操作完以后,新建一个newbmp
             CBitmap newbmp;
              newbmp.CreateBitmap(bm.bmHeight,bm.bmWidth,bm.bmPlanes,bm.bmBitsPixel,buff);
      

  2.   

    谢谢,
    这个buff里面的位图RGB是怎么排列的
    是R,G,B?(buff++)
      

  3.   

    好像是B、G、R的排列,你自己试试吧