• bgr to rgb


    因为在研究车牌识别算法(plr),遇到了算法 处理的格式问题,可分三个常用格式:

    0:rgb

    1:bgr

    2:yuv422——需要注意的是,这里为啥选yuv422做识别,当然还可选yuv444,最坏打算可选yuv420,主要是考虑颜色识别效果 

      

      R代表红,red; G代表绿,green; B代表蓝,blue。RGB模式就是,色彩数据模式,R在高位,G在中间,B在低位。BGR正好相反。
      如果色彩数据是24位,对于RGB模式,就是高8位是R,中间8位是G,低8位是B。一个色彩数据共24位,3个字节。
      255-255-255 (unsigned char )

      opencv中矩阵是以BGR而不是RGB显示像素的大小,包括 Gamegear,不过其他的都 大部分采用rgb格式的

    他们之间的转换如下:

    引用了网友的一段(其实很简单的)

    通过V4L得到了图像数据,但是保存为ppm,jpg格式时都出现了颜色失真,蓝色变成了红色,红色变成了蓝色,而保存为bmp格式时就没有问题。

    经过摄像头采集的图像的通道排列顺序为BGR,而BMP文件的排列顺序也为BGR,所以保存成BMP文件使不会出现什么问题。
    但是在显示器上显示的时候的排列顺序为RGB,所以如果需要显示的化,可以把BGR顺序颠倒一下。
    如果你想保存为JPEG格式的文件,需要在压缩前将其顺序先按RGB排列,然后压缩再保存成JPEG格式的文件。
    具体的转换方法为:
    image_buffer = tmp = (unsigned char *)map + m_buf.offsets[frame];
      for(i =0;i<image_height;i++)
       for(j=0;j<image_width;j++)
       {
        buf = *tmp;
        *tmp = *(tmp+2);
        *(tmp+2) = buf;
        tmp += 3;
       }
    其中image_buf为采集的数据,在此只需要将指向R和B的指针互调一下就行,经过处理重新得到的image_buf为RGB排列
     
     

    24bit 的bmp图像中rgb 实际排列顺序为bgr:

    读取方法
    (i,j)为象素坐标,左下为源点
    SrcImageData为图像数据指针,指向图像数据首地址
    nindex为当前象素离SrcImageData的偏移象素数
        for (j = 0; j < ImageHeight; j++)
        {
            for(i = 0; i < ImageWidth; i++)
            {
                nindex=((ImageHeight-j-1)*ImageWidth+i);
                SrcImageData[nindex*3+0] = 255;
                SrcImageData[nindex*3+1] = 0;
                SrcImageData[nindex*3+2] = 0;
            }
        }
    按(255,0,0)赋值为蓝色,而按(0,0,255)则为红色
    (0,0,0)为黑色(OK)。

     http://www.360doc.com/content/12/0406/16/2036337_201444004.shtml

    其他资料:

    http://blog.csdn.net/xiaorui0328/article/details/1748229

    水木社区http://www.newsmth.net/nForum/#!article/Graphics/49532?au=bitinf

  • 相关阅读:
    c++设计模式:工厂模式(Factory Pattern)
    lua和tolua++的安装
    c++设计模式:观察者模式(Observer Pattern)
    c++设计模式:抽象工厂模式(Abstract Factory Pattern)
    linux下搭建eclipsec++开发环境
    c++设计模式:单件模式(Singleton Pattern)
    SQL SERVER查询Job每个步骤执行结果情况
    XMLA清空Cube缓存
    【转载】SSIS 包组件的命名规则
    SQL SERVER 游标删除无数据试图
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/3790204.html
Copyright © 2020-2023  润新知