如何通過顏色識別技術,將不同顏色輸出相應數值。可以用單片機,arduino或者樹莓派嗎?
01-13
比如有紅色小球和綠色小球。通過感測器識別出紅色小球時,顯示屏上顯示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 | 智能硬體 |