2010-05-05 21 views
2

我從連接到小型arduino機器人的C328R相機中獲取圖像。我想讓機器人開着橙色的乒乓球,然後把它們拿起來。我使用funkotron76提供的C#代碼http://www.codeproject.com/KB/recipes/C328R.aspx如何使用.NET在圖像中查找橙色球?

有沒有我可以用來做這個的庫,還是我需要遍歷圖像中的每個像素尋找橙色?如果是這樣,我需要什麼樣的容差來補償各種照明條件?

我大概可以測試以找出這些數字,但我希望有人知道答案。

+0

有一個前面的問題(http ://stackoverflow.com/questions/152028/are-there-any-ok-image-recognition-libraries-for-net)可以解決.NET良好的圖像識別庫。 – 2010-05-05 00:12:18

+0

有趣的項目!你使用相同的硬件還是隻使用代碼? – baron 2010-05-05 00:58:52

回答

3

視覺可能會令人驚訝地困難,尤其是當您試圖容忍不同的條件時。有幾件好事可以研究,包括Blob Finding(搜索匹配某些標準的連續像素,通常是亮度閾值),Image Segmentation(您可以在圖像中有多個球?)和Hue的一般理論(大多數視覺算法可以使用灰度或二進制圖像,因此您首先需要以突出顯示橙色作爲選擇標準的方式來轉換圖像。)

由於您大概在跟蹤它們時實時跟蹤這些對象,因此您可能還需要有興趣瞭解跟蹤模型,例如Kalman filter。對於你正在做的事情來說這太過分了,但這很有趣,而且基本的想法很有幫助。既然你大概知道對象不應該移動得很快,你可以用這個事實來過濾誤報,否則會導致你離開對象。您可以通過簡單地忽略移動距離先前接受的幀太遠的幀(使用一些邊界條件以避免卡住忽略該對象)來將這種過濾的簡單版本放在一起。

相關問題