結構光第一件事就是要打 pattern,gray code 算是一個比較簡單,正確性也還不錯的編碼,很適合第一次嘗試。
原本以為要全螢幕投影 pattern 是件很麻煩的事,是不是要透過 OpenGL 之類的比較底層的控制,稍微 Google 了一下(Google 25歲生日了,時間過得好快,我算是看著他出生的XD),原來用 OpenCV 就可以了,一點都不困難,看起來不需要特別用 Linux 環境。
由於我的投影機很陽春只有幾千塊,故我本就打算解析度只用 640 x 480,沒想到用之前學習的專案產生投影 pattern 後,看著這些 pattern 就讓我不禁產生了疑問,結構光的第一張圖片不是應該黑白各半,為什麼我的白色只佔很小的一部份?
一開始以為是不是作者寫的 code 有問題,看了一下,都是用 OpenCV graycode class,理應沒問題才對,稍微看了下 OpenCV document,他是參考某篇論文實做 class,害我一直往光的二值化方向去思考?
沒關係我有之前寫的 decoder 的程式,一跑完看到 project x index 是從 0 ~ 639,我就馬上知道為什麼了,一開始不知道為什麼想不到?
640 取 log2 要 10 個 bit,故範圍是 0 ~ 1023,但我的投影機解析度是 640,當然只有這張圖前面的 8 分之 5 而已!
沒有留言:
張貼留言