百科问答小站 logo
百科问答小站 font logo



为什么opencv使用BRG模式读入图像? 第1页

  

user avatar   professionalcoder-16 网友的相关建议: 
      

简单来说历史原因,早期的摄像头数据采集、图像数据保存时,像素通道就按照B、G、R的顺序存放的,一直沿用下来这样的保存格式了。典型的就是.bmp未压缩图片文件中,就是直接BGR顺序保存像素数据。其实在图像开发中,对于RGB格式,除了注意通道顺序,更加需要关注的字节对齐的情况。通常保存一行像素的数据需要4字节对齐(即:一行像素的数据字节数是4的倍数),不足的要补充空字节对齐。 例如:对于BGR格式,宽高为 350*480的图像,一行像素正常只需要1050字节,但是为了四字节对齐,需要补充2个字节,变成1052字节,这样整个图像需要的字节数是:1052*480=504960字节。

详细的图像文件格式解析,可以参考


另外,楼上 @陈之炎 对于openCV中的像素数据操作讲解的非常详细了。不过实际项目中,openCV对于像素数据的遍历和操作方式还是非常耗时的,更多的可以参考我文章中的指针偏移计算的方式,通常我们在手机上对于一张 1080*1920的RGBA彩色图像,所有像素的遍历访问时间应该 < 30ms,如果是在PC端的话具体看机器配置,通常应该在16ms左右。(不使用任何多线程优化,直接串行遍历访问的情况下)




  

相关话题

  深度学习attention机制中的Q,K,V分别是从哪来的? 
  为什么很少人用FFT加速CNN卷积层的运算? 
  Photoshop 不支持编辑钞票图片吗? 
  机器视觉为什么不用手机的镜头,而要用那么大的工业相机? 
  如何评价全新的图片格式BPG,它会在将来彻底取代JPG吗? 
  如何评价「Patches are all you need」? 
  深度学习对图像的处理,为什么大多基于RGB,而没有其他色彩空间,比如HSV? 
  如何评价谷歌提出的 Pix2Seq:将目标检测看成语言建模,效果超过 DETR? 
  低分辨率图像相对于高分辨率图像在CNN中缺失了哪些特征? 
  有哪些比较好的机器学习、数据挖掘、计算机视觉的订阅号、微博或者是论坛? 

前一个讨论
有哪些事是痛并快乐着?
下一个讨论
如何评价深圳北理莫斯科大学2021年首届毕业生的出路?





© 2024-06-04 - tinynew.org. All Rights Reserved.
© 2024-06-04 - tinynew.org. 保留所有权利