Multimedia - ISP 控制
材料準備
- AmebaPro2 [ AMB82 MINI ] x 1
範例說明
介紹
在此範例中,我們將使用 Ameba Pro2 對板載鏡頭感測器 (JX-F37P) 進行客製影像調整,並透過 RTSP(Real Time Streaming Protocol)將處理後的結果傳輸到電腦以查看結果。
以下範例與本章節相關。
1. Exposure
2. ImageTuning
3. Mode
4. WhiteBalance
5. WideDynamicRange
流程
開啟 “File” -> “Examples” -> “AmebaMultimedia” -> “ISPControl” 。
在標記的程式碼片段中,在 “ssid” 中填入您的 WiFi 網路 SSID,在 “pass” 中填入網路密碼。
編譯程式碼並將其上傳到Ameba。 按下 Reset 按鈕後,等待 Ameba Pro 2 板連接到 WiFi 網路。 開發板的 IP 位址和網路連接埠號碼將顯示在Serial Monitor中。
您可以從此處的連結下載 VLC 媒體播放器。
軟體安裝完成後,開啟VLC媒體播放器,進入 “Media” -> “Open Network Stream”。
確保您的 PC 連接到與 Ameba Pro2 開發板相同的網路以進行串流傳輸。 由於使用 RTSP 作為串流協議,因此在 VLC 媒體播放器中鍵入「rtsp://{IPaddress}:{port}」作為網路 URL,將 {IPaddress} 替換為 Ameba Pro2 板的 IP 位址,並將 {port} 設定與Serial Monitor中顯示的RTSP 連接埠相同(例如,「rtsp://192.168.3.16:554」)。 預設 RTSP 連接埠號碼為 554。如果同時有兩個 RTSP 串流,第二個連接埠號碼預設為 555。
您可以在 “Show more options” 中更改快取時間。 較短的快取時間將減少視訊延遲,但在網路條件較差的情況下可能會導致播放卡頓。
接下來,按一下 “Play” 開始 RTSP 串流。 來自鏡頭的視訊串流將顯示在 VLC 媒體播放器中。 同時在Serial Monitor中,將出現訊息 “rtp started (UDP)”。
在 ISP 控制範例之一中,“ImageTuning” 範例可讓您在視訊串流期間調整亮度、對比度、飽和度、銳利度等級並啟用Lens Distortion Correction (LDC)。
調整亮度:
輸入 “BRIGHTNESS={value}” 以更改影像的亮度值。
輸入 “BRIGHTNESS” 來取得影像的亮度值。
BRIGHTNESS=20
調整對比度:
輸入 “CONTRAST={value}” 以更改影像的對比度。
輸入 “CONTRAST” 來取得影像的對比度值。
CONTRAST=75
調整飽和度:
輸入 “SATURATION={value}” 以更改影像的飽和度。
輸入 “SATURATION” 來取得影像的飽和度值。
SATURATION=75
調整銳利度:
輸入 “SHARPNESS={value}” 以更改影像的銳利度。
輸入 “SHARPNESS” 來取得影像的銳利度值。
SHARPNESS =75
啟用/停用 LDC:
輸入 “LDC={value}” 啟用或停用LDC。
輸入 “LDC” 來取得影像的LDC值。
LDC=0
LDC=1
“Exposure” 範例
曝光可以設定為自動或手動模式。 預設為自動。
設定曝光模式:
輸入 “AE={value}” 將曝光模式設定為自動或手動。 (0:手動,1:自動)。
輸入 “AE” 取得曝光模式。
如果曝光模式設定為手動,您可以設定您喜歡的曝光時間和自動曝光增益。
設定曝光時間:
輸入 “EXPTIME={value}” 設定曝光時間。 曝光時間應小於或等於33333us。
輸入 “EXPTIME” 以獲得我們的曝光時間。
設定 AE Gain:
輸入 “GAIN={value}” 設定增益值。 (範圍從256-32768)
輸入 “GAIN” 以獲得增益值。
設定電源頻率(防閃爍模式):
您也可以將電源頻率設定為防閃爍模式。如果防閃爍模式設定為自動,則預設使用 50Hz 檢查是否有閃爍。
輸入 “PLF={value}”設定防閃爍模式電源頻率。(0:停用,1:50Hz,2:60Hz,3:自動)
輸入 “PLF” 取得電源頻率。
“Mode” 範例
可以設定日間夜間模式以及灰階模式。
設定日間或夜間模式:
輸入 “DAYNIGHT={value}” 設定日間或夜間模式。 (0:日間模式,1:夜間模式)
輸入 “DAYNIGHT” 取得日間或夜間模式的值。
設定灰階模式:
輸入 “GRAY={value}” 設定灰階模式。 (0:彩色模式,1:灰階模式)
輸入 “GRAY” 取得灰階模式的值。
“WhiteBalance” 範例
白平衡模式可以設定為自動或手動模式。 預設為自動。
設定白平衡模式:
輸入 “AWB={value}” 將白平衡模式設定為自動或手動模式。 (0:手動,1:自動)。
輸入 “AWB”取得白平衡模式。
如果白平衡模式設定為手動,則可以設定偏好的紅色和藍色平衡增益。
設定紅藍平衡增益:
輸入 “RED={value}” 設定紅色平衡增益。 (範圍從 256-2047)。
輸入 “RED” 取得紅平衡值。
輸入 “BLUE={value}” 設定藍色平衡增益。 (範圍從 256-2047)。
輸入 “BLUE” 取得藍平衡值。
要獲取白平衡溫度:
輸入 “WBTEMP” 取得白平衡溫度值。
“WideDynamicRange” 範例
Wide Dynamic Range (WDR) 可以設啟用或停用。 WDR 可設定為自動或手動模式。 預設為禁用。
啟用或停用 WDR:
輸入 “WDR={value}”將 WDR 模式設定為停用、自動或手動。 (0:停用,1:手動,2:自動)。
輸入 “WDR” 取得 WDR 模式。
如果 WDR 模式設定為手動,則可以設定首選 WDR 級別。
設定 WDR 級別:
輸入 “LEVEL={value}” 設定首選 WDR 級別。 (範圍從 50 到 100)。
輸入 “LEVEL” 取得 WDR 級別的值。
將所有 ISP 控制值重設為預設值:
輸入 “RESET” 將所有值設為預設值。
程式碼說明
此鏡頭可同時產生 3 個視訊串流頻道,每個頻道的預設配置如圖所示。 您可以選擇編輯程式碼以使用不同的視訊串流。
頻道 0: 1920 x 1080, 30FPS, H264 格式
頻道 1: 1280 x 720, 30FPS, H264 格式
頻道 2: 1280 x 720, 30FPS, MJPEG 格式
可以根據您的 WiFi 網路品質調整video bitrate,方法是取消註解下面標記的程式碼。