微軟|項目探討:相機標定技術難度,及在調試中的應用。

微軟|項目探討:相機標定技術難度,及在調試中的應用。

文章圖片

微軟|項目探討:相機標定技術難度,及在調試中的應用。

做我們這個行業的 , 應該基本上用到個相機已經不算啥了 , 相機用來干啥呢?我們之前在一篇文章里面也說過 , 現在在大概給大家把這個描述一遍 , 我們班相機的主要功能分為四個方面:第一個就是用來視覺檢測 。 第二個用來視覺定位 。 第三個就是視覺監控 。 第四個就是視覺與運動的組合 。

大多數的檢測公司都與視覺這樣的一個部門兒 , 這在機器視覺這個領域里面算是入門級 , 只要是個玩視覺的 , 基本上都會弄 , 有些人家呢直接買開發好的軟件 , 這算是比較差的視覺軟件開發的公司 , 再厲害的有專門養了四絕方面兒的開發人才 , 大多數是用c#來編寫的程序的 , 當然主要還是用嵌入式開發 。
用的太高端一點 , 就是視覺和運動 , 主要用法就是用視頻先拍照 , 抓出標定的具體位置和相差的位置 , 通過軟件計算這兩個位置之間的差距 , 再給控制電機一個信號 , 讓他把這個差距給補償一下 , 因為這牽扯到兩個東西的數據交換 , 而且是用一個數據來控制這個運動的距離 。
比較難的事 , 在視覺與運動里面就是通訊的問題 , 當然在通訊的問題 , 在整個控制系統里面都是最復雜 , 最難的 , 為什么這么說呢?我們大家也想想你的設備是不是會跟什么激光 , 什么ms系統?還有相機 , 網絡 , 遠程終端用戶 , 人機界面或者觸摸屏或者電腦等等各種各樣的裝備 。
沒有總裝備他能接受的通訊接口 , 通訊方式 , 通訊地址 , 差異還是蠻大的 , 每種通訊他直接是應該要有個協議 , 別放說我們手機為什么能打到另一個人的手機上?這是一種通信方式 , 那我們的電腦可以連到另一臺電腦上 , 這是另一種通信方式 , 每種通信方式都有自己特定的一種程序 , 所以我們要讓兩個東西產生通訊關系 , 那必須要讓他們互相彼此了解 。

大家應該對通訊這方面兒應該有所了解 , 我們再詳細給大家說一下相機在第二個運動控制里面的應用 , 說白了 , 通訊他不理解 , 你只是在這個軟件開發里邊兒 , 他在各行各業都是非常必要的 , 但相機的標定 , 這只有在相機和運動控制著方面才會存在 , 所以我們專門把他拿出來給大家科普 。
為什么要標定呢?因為我們在安裝了相機之后 , 相機總要有一個位置的吧?這個位置到底在哪里?必須讓系統非常清楚 , 要標定 , 我們先應該給他建立一個標定的板塊 , 具體來說 , 我們可以用1:1的尺寸打印一些圖案在一張紙上面 , 通常這張紙打印的圖案是在Auto CAD.軟件里面畫出來的 , 而且尺寸非常明確 , 比方我打印了一個直徑2mm的圓點 , 將它按每個點中心距是10mm水平垂直陣列 。
標定的時候 , 我們把這張紙先放在相機下面 , 對拍出來的照片的尺寸進行抓取 , 我們要確保排斥的兩個點之間的距離剛好算下來就是10mm , 而且我們要通過多個兩個點的距離來確定 , 我們這張打印的點之間的尺寸精度 , 因為點比較多 , 10mm的點中心距也比較多 , 這個數值肯定有很多尺寸差異 , 我們要了解到這含義最小化的情況 , 以此來調整相機與物品之間的距離 。
當我們把這10mm的中心距全部定義在某一個公差范圍之內 , 而且相機拍下來也能達到這樣的一個水準 , 其實這個時候我們的標定已經是完成了的 , 此時我們在把產品放到相機下面 , 那拍出來的產品的尺寸 , 就是沒有問題了 , 在這個基礎上 , 我們再來定義 , 哪種是不良品 , 哪種是Ok的 。

相關經驗推薦