图片的格式大体上可以分为yuv格式和RGB格式,以及png,jpg格式;
其中yuv格式对应的摄像头的格式可以是YUYV、UYVV、YVYU、VYUY;
rgb格式的图片对应的摄像头格式为RGB,BGR,ARGB8888格式;
一、RGB8888和ARGB8888像素格式如果搞混了会有什么样的问题?
由于ARGB8888种多了一个channel A,其中A代表α,就是透明度的channel,所以对应为RGB32;RGB8888对应的像素格式为RGB24,但是在写代码的过程中忽略了这一点,导致图片的色域空间发生变化,如下图:简单来说会将黄色识别为蓝色,将蓝色识别为红色;
但是将ARGB888格式对应到RGB32像素格式、或者将RGB8888对应到RGB24像素格式,图片的颜色就恢复正常;
二、鱼眼环视拼接想要提高视角高度:
可以通过改变pz和zoom的两个值,调整AVM视角的高度;
三、dump的图片为rgb或者yuv打不开怎么办?
如果是rgb格式的图片,可以使用以下的python代码,将rgb格式的图片转换为png格式的图片,查看鱼眼拼接的效果;
import cv2
import numpy as np
def rgb2jpg(name,shape):
with open(name,'rb') as f:
data = np.fromfile(f, dtype=np.uint8)
data = np.reshape(data,shape)
data =cv2.cvtColor(data,cv2.COLOR_RGB2BGR)
cv2.imwrite(name[:-4]+'.jpg',data)
# cv2.imshow("data",data)
cv2.waitKey(0)
if __name__ == "__main__":
rgb2jpg("rgb格式图片的名字.rgb",(宽*高*3)) #如果是rgb格式的图片就是*3,如果是argb就是*4
如果是yuv格式的图片可以使用一个叫yuvplayer的工具打开,记得调整图片的宽高,以及像素格式;GitHub - leixiaohua1020/YUVplayer: Modified from a sourceforge project