如何通過顏色識別技術,將不同顏色輸出相應數值。可以用單片機,arduino或者樹莓派嗎?

比如有紅色小球和綠色小球。通過感測器識別出紅色小球時,顯示屏上顯示1,綠色小球則顯示2。

需要什麼樣硬體能完成整個流程,需要學習哪方面的知識。

感謝。


首先,需要確定你用什麼做處理器。arduino應該是編程最簡單的一種,樹莓派更強大一下,單片機的話則具體分析你用的型號,也最實用。

然後,你需要確定的是你要使用什麼感測器。

做過的可以完成顏色識別的感測器主要分兩種:

1、通過攝像頭獲得圖像後處理,這種辦法涉及圖像處理,需要自己對所採集到圖像進行分析。

當然,也有某些模塊化的攝像頭可以自己採集圖像然後比照得出結果。這種辦法的穩定度比較高。

2、使用簡單的RGB顏色感測器,可以獲得目標顏色的RGB數值,然後通過簡單的邏輯判斷,得到是什麼顏色。這種辦法的穩定度不好,而且識別距離需要很近。

最後顯示應該不用說了吧。

丟個實用RGB顏色感測器的小視頻,大概能完成題主的需求。攝像頭的那個找不到了。。。

視頻封面基於單片機的智能分揀系統—在線播放—優酷網,視頻高清在線觀看視頻


這都用不著單片機攝像頭,用光敏電阻就行了。讓小球打光敏電阻前面過,用紅光照它。不同顏色的小球對紅光的吸收有區別,光敏電阻對接受光頻率也有區別。這就能區分信號了。接下來小信號放大,用運放搭濾波和施密特觸發器。輸出用個小二極體就行。紅球它就亮,綠球就不亮。幾塊錢就搞定。

不過我表示這個難度比用單片機不知道高到哪裡去了。還是老實用單片機攝像頭吧,能用不太多的錢搞定的事就別瞎操這個心費這時間。以上答案就是寫著玩的。


用顏色感測器,獲取RGB數值,通過單片機處理數據後即可輸出相應的1或者2。

所學的知識大概就有單片機,感測器就沒了


TCS3200 顏色感測器

我基於STM32上寫的識別程序

視頻:WP_20130510_003


最簡單的方法51(arduino)+顏色感測器+1602顯示可滿足要求

進階,stm32/k60+攝像頭(7620等)+12864

高級,tk1/樹莓派/2440+opencv+顯示器

另:普通pc/手機+opencv亦可

當然方案選擇需要根據需求來,比如要節省成本,單純玩一玩51就行了,如果需要小球數量統計,運動軌跡跟蹤,預測,控制等等要求就需要高級點的裝備了……


這種需求如果用樹莓派就是高射炮打蚊子…… avr系列的就差不多了


題主問題是不是可以分為:

1.圖像採集 你需要一個可以採集圖像的感測器

2.圖像處理 這個如果你買的感測器已經有轉換模擬量數字量的能力,那後面也就是讀取數據的問題了,如果沒有比如就是個攝像頭,那還需要專門的圖像採集硬體

3.數據處理 後台不管是單片機還是其他的,只要能讀取上面數據,你後面也就是找個顯示裝置顯示出來就行。

其他的

如果還有其他的

估計在複雜點就是題主得加幾個圖像識別的演算法,好歹你得知道你採集圖像中的球是在哪個區域的


用樹莓派結合opencv,


如果只識別紅色綠色這種,二者都行。如果想識別很多種色彩,arduino不行,pi+opencv沒問題。


推薦閱讀:

arduino為什麼沒有arm晶元的控制板?
Arduino有什麼炫酷的作品?
arduino控制舵機所需電源,以及廉價的 flex sensor?
Arduino 的生命力在哪裡?
arduino如何才能變成錢?

TAG:嵌入式系統 | 單片機 | Arduino | 樹莓派RaspberryPi | 智能硬體 |