pretty code

2023年9月27日 星期三

9 又 4 分之 3 月台

結構光也研習了一陣子,反正家裡也有之前買的 webcam 和 projector,想要真的來跑看看結果,不然都只是紙上談兵,正所謂魔鬼就藏在細節裡,只有真的動手去做,才能知道理論與實務的差距,另外,有一些眉角,沒有真的動手做你永遠不會知道!

結構光第一件事就是要打 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 而已! 

沒有留言: