如果要圖像不失細節(jpeg是有損壓縮)
最好是PNG格式(無損壓縮)
這邊介紹YUV
import time
import picamera
with picamera.PiCamera() as camera:
camera.resolution = (100,100)
camera.start_preview()
time.sleep(2)
camera.capture('image.data','yuv')
一般的YUV指的是YUV420的平面格式(相關資料請詳見Google)
RGB格式生成的檔案比YUV更大
大多數的情況下都是用RGB
要輸出RGB格式,只需要指定capture()為rbg
camera.capture('image.data','rgb')
另外有一種Bayer的
Bayer是相機內部的原始資料
與上面YUV/RGB不同的是
無論相機的輸出resolution 和size是多少
Bayer的數據總是全解析
Bayer一般是10bits來表示一個channel
與我們認知的8bits不同 ,多的2bit會移到第五個byte來存
像是下面這樣
AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDAABBCCDD
只是第五byte是低位,所以可以不嚴謹的省略
一般來說
如果相機的sensor是OV的
其排列是BGGR
而SONY的IMX 其排列是RGGB