當我通過'cvQueryFrame'使用openCV捕捉投影圖案的照相機圖像時,我經常會得到一個意想不到的工件:投影機的掃描線。也就是說,由於「cvQueryFrame」捕獲圖像時我無法精確計時,因此拍攝的圖像並不考慮投影機的恆定30Hz刷新。其結果是那些將視頻攝像機轉向電視屏幕的人所熟悉的典型水平頻帶。openCV:是否有可能使cvQueryFrame與投影儀同步?
短訴諸硬件同步的,有沒有人曾在OpenCV的一些成功的近似(例如,「足夠好」)非正式投影器相機同步?
下面是兩個解決方案我正在考慮,但希望這是一個很好的解決方案可能存在一個共同的問題不夠。我的低於優雅的想法是:
在cvWindow添加的滑塊控制顯示視頻的用戶控制的定時從0偏移1 /第30秒,然後設置隊列定時器在此間隔。無論何時需要幀,我都會請求一個回調函數在下一次觸發定時器時執行'cvQueryFrame'。通過這種方式,理論上用戶可以使用滑塊來減少掃描線僞影,只要定時器分辨率足夠。
在通過'cvQueryFrame'接收到一個幀後,通過查找像素垂直列的HSV值中的增量來檢查該告警水平帶的幀。當然,這隻有在拍攝對象在平穩變化的照明條件下包含均勻顏色的基準條時才起作用。
我已經使用了幾款相機與OpenCV,最近一個佳能單反相機(7D)。