學習OpenMV使用的是 OpenMV IDE 軟件進行學習
OpenMV生成的文件以 .py結尾
import sensor # Setup camera. 設置相機 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames() # Take pictures. 拍照。 while(True): sensor.snapshot()
導入 sensor 庫
sensor.reset() 相機初始化
sensor.set_pixformat(pixformat) 設置相機的分辨率
sensor.
GRAYSCALE
每像素為8位、1字節。我們所有的計算機視覺算法在灰度圖像上比在RGB565圖像上運行更快。(例如:識別二維碼、條形碼,等)
sensor.
RGB565 每像素為16位、2字節。5位用於紅色,6位用於綠色,5位用於藍色,更具體,但是也相對運行慢 (例如:識別顏色,色塊,等)
sensor.
BAYER 如果你試圖使幀大小太大,以適應幀緩沖區,你的OpenMV攝像頭將設置像素格式為BAYER,使你可以捕獲圖像,但是無法使用任何圖像處理方法。
sensor.
set_framesize
(framesize) 設置相機模塊的幀大小
sensor.
VGA
640x480 分辨率的相機傳感器。 只適用於OV2640相機或OpenMV Cam M7。
sensor.
set_windowing
(roi) 將相機的分辨率設置為當前分辨率的子分辨率 ,傳入的是個元組格式 (x,y,w,h)
例如:將相機的分辨率設置為 sensor.VGA (640x480) ,再將 windowing設置為(120,140,200,200),那么就是截取點 (120,140) 到點 (200,200) 之間的圖片,可以減少運算量,加速
也可以直接輸入 (w,h) ,那么默認從圖像中心截取 (w,h) 的圖片,例如 識別條形碼時,設置為 (640,80) ,長 640,寬 80
sensor.
set_auto_gain
(enable[, gain_db=-1[, gain_db_ceiling]]) 設置自動增益
enable: True/ False ,默認打開 ,可以通過 gain_db=-1 更改 最大增益上限,以分貝為單位 ,可以優化圖像
設置 False :sensor.set_auto_gain(False) 例如:當識別顏色,色塊時候,不能自動增益
sensor.
set_auto_whitebal
(enale[, rgb_gain_db]) 白平衡
與 自動增益 類似,優化圖像
enable 默認打開,可以通過更改 rgb_gain_db 設置紅綠藍通道固定增益分貝,
設置 False : 追蹤顏色,色塊 時要關閉
sensor.
skip_frames
([n, time]) 設置完相機參數后,需要等待時間完成配置
設置 n 個快照 skip_frames(10) 跳過 10個幀
導入 time 模塊, skip_frames(time = 2000) 跳過2000ms的幀
配置完成后,進行主程序
while(1):
img = sensor.snapshot() 獲取圖像