秘訣與技巧#
示範模式#
示範模式讓您無需主處理器即可示範 CMUcam4。在示範模式下,CMUcam4 執行「TW」(Track Window,追蹤視窗)指令,然後將兩個標準的業餘伺服機驅動朝向被追蹤的物體,同時將被追蹤的物體顯示在標準電視上。CMUcam4 一旦進入示範模式,就不會退出示範模式,直到它被重設為止。請依照下列步驟進入示範模式:
按住 CMUcam4 上的 reset button
按住 CMUcam4 上的 user button
放開 reset button(不要放開 user button)
等到紅色輔助 LED 亮起(2 秒)
等到紅色輔助 LED 開始以 10 Hz 閃爍,然後放開 user button
如果 CMUcam4 連接至電視,電視應該會開啟(您應該會看到電視上顯示一個啟動畫面)
CMUcam4 現在將在接下來的 5 秒 內調整以適應照明條件
在接下來的 5 秒 內,請勿將您想追蹤的物體放在 CMUcam4 前方
等到紅色輔助 LED 停止以 10 Hz 閃爍
CMUcam4 現在已完成對照明條件的調整
平移與傾斜伺服機針腳應以 50 Hz 輸出 1500 μs 的脈衝
將您想追蹤的物體放在 CMUcam4 前方,然後按下 user button
如果紅色輔助 LED 開始以 10 Hz 閃爍,請檢查 OV9665 相機模組的連接
OV9665 相機模組可能已損壞,而且很可能需要更換
如果 CMUcam4 連接至電視,您現在應該會看到被追蹤的物體(或類似內容)顯示在電視上
平移與傾斜伺服機(若已連接)也會嘗試驅動相機朝向被追蹤的物體
請在不同的環境中以不同的物體嘗試此程序,看看哪種效果最好
CMUcam4 現在正以示範模式執行
按下 reset button 以退出示範模式。
若要讓平移伺服機以非反向方式運作,短於 1500 µs 的脈衝長度必須使相機模組的 X 位置向右移動(從相機模組的視角來看),而長於 1500 µs 的脈衝長度必須使相機模組的 X 位置向左移動(從相機模組的視角來看)。
若要讓俯仰伺服機以非反向方式運作,短於 1500 µs 的脈衝長度必須使相機模組的 Y 位置向下移動(從相機模組的視角來看),而長於 1500 µs 的脈衝長度必須使相機模組的 Y 位置向上移動(從相機模組的視角來看)。
停止模式#
停止模式讓您可以在仍連接至 Arduino 的情況下停止 CMUcam4。在停止模式下,CMUcam4 消耗極少的電力,且不會因阻塞 Arduino 的序列埠而妨礙 Arduino 被程式設計。只有當 CMUcam4 干擾 Arduino 程式設計過程時,才需要停止模式。如果它沒有干擾,就不需要停止模式——通常都是這種情況。CMUcam4 一旦進入停止模式,就不會退出停止模式,直到它被重設為止。請依照下列步驟進入停止模式:
按住 CMUcam4 上的 reset button
按住 CMUcam4 上的 user button
放開 reset button(不要放開 user button)
等到紅色輔助 LED 亮起(2 秒)
放開 user button
CMUcam4 現在已無限期停止
按下 reset button 以退出停止模式。
關於更佳追蹤的注意事項#
運用自動增益與白平衡達到更佳的追蹤#
自動增益是一種內部控制,可調整影像的亮度等級以最能符合環境。它會嘗試將影像中的明暗正規化,使其接近手動調整影像的整體亮度。當相機自動調整其亮度等級時,此過程會反覆進行許多畫格。舉例來說,如果打開了一盞燈使環境變亮,相機會嘗試調整亮度以使整體影像變暗。
另一方面,白平衡則試圖校正相機的色彩增益。您影像中的環境光可能並非純白色。在這種情況下,相機看到的色彩會有所不同。相機一開始會對要給每個色彩通道多少增益做出初步的猜測。如果啟用,白平衡會逐畫格調整這些增益,使影像中的平均色彩趨近於灰色。根據經驗,這種「灰世界」方法被發現運作得相對不錯。灰世界白平衡的問題在於,如果某種純色填滿了相機的視野,白平衡就會緩慢地設定增益,使該色彩看起來像是灰色而非其真正的顏色。然後當該純色被移除時,影像就會帶有不理想的色彩增益,直到它重新建立起灰色平均值為止。
在追蹤色彩時,就像在示範模式中一樣,您可能會希望讓自動增益與白平衡運行一小段時間後再將它們關閉。在開啟約 5 秒的期間,相機可以將其亮度增益與色彩增益設定為它認為合適的值。然後將它們關閉,就能阻止相機因為某個物體被靠近鏡頭、陰影等原因而不必要地變更其設定。如果自動增益與白平衡未被停用,而相機變更了它針對 RGB 或 YCbCr 值的設定,那麼新測得的值可能會落在原先所選的色彩追蹤閾值之外。
相機模組需要啟用自動增益才能運用白平衡。
YUV(YCbCr)色彩空間#
YCbCr 是一種與更廣為人知的 RGB 空間不同的色彩空間定義。在 YCbCr 中,照明資料儲存於一個獨立的通道中。由於這個特性,在 YCbCr 模式下,相機對照明變化的抵抗力可能更強。由於它是一種不同的色彩空間,YCbCr 的影像在被畫格傾印程式直接映射時,看起來不像標準的 RGB 影像。RGB 通道映射至 CrYCb。因此在 YCbCr 模式下,作為 red 參數回傳的值實際上是 Cr,green 參數是 Y,而 blue 參數是 Cb。所以如果您想追蹤一個紅色物體,您需要查看一個傾印出的畫格,看看該物體的顏色在 YCbCr 中映射成什麼。屆時應該就能找出 Cb 與 Cr 的界限,同時給予一個非常寬鬆的 Y 界限,顯示照明並不是很重要。使用 YCbCr 時,請務必考慮到就所有 CMUcam4 I/O 而言,Red 映射至 Cr、Green 映射至 Y、Blue 映射至 Cb。
請注意,RGB 通道對應後會得到 CrYCb,而非 YCbCr。
關於相機模組#
從開機起,相機最多可能需要 5 秒的時間來自動調整以適應光線。環境的劇烈變化,例如燈光的開啟與關閉,可能會引起類似的重新調整時間。在戶外使用相機時,由於太陽強烈的紅外線輻射,即使在相對多雲的日子裡,可能也有必要使用紅外線濾鏡或中性密度相機濾鏡來降低環境光線的等級。
相機板所提供的功能,旨在為使用者提供一組色彩視覺函式的工具箱。實際的應用可能大不相同,並留待使用者發揮想像。變更可視視窗、擷取色彩與光線統計以及追蹤色彩的能力,可由主處理器交織運用,以創造更高階的功能。