我有兩個圖像處理問題,我正在使用Open-CV處理。如何根據顏色和大小分割對象?
- 識別彼此不同顏色的相似對象。
- 識別彼此不同大小的相似顏色的物體。
方案1和方案2的示例圖像;
兩個圖像有三種類型的感興趣的對象的。 (三種顏色或尺寸)
我遇到的技術包括閾值處理,然後使用像素計數侵蝕,使用RGB值進行顏色分割。
什麼是一個好的工作鏈,什麼是一個好的開始?
我有兩個圖像處理問題,我正在使用Open-CV處理。如何根據顏色和大小分割對象?
方案1和方案2的示例圖像;
兩個圖像有三種類型的感興趣的對象的。 (三種顏色或尺寸)
我遇到的技術包括閾值處理,然後使用像素計數侵蝕,使用RGB值進行顏色分割。
什麼是一個好的工作鏈,什麼是一個好的開始?
很明顯,使用RGB值可能是從這裏開始的最佳方式。使用函數cvSplit,它將給你三個分離的計劃B,G和R(BGR順序與OpenCV,而不是RGB)。在它們中的每一箇中,只能看到相應顏色的圓圈。
我會在這裏推薦首先用Canny算法執行邊緣檢測,在OpenCV中用cvCanny函數實現,然後用Hough算法做一個圓檢測,同樣在OpenCV中實現。如果我記得很清楚,Hough圈子的OpenCV函數將返回圓的屬性(半徑...),這將允許您根據其大小標識您的圓。 2.的另一個選項是Hit & Miss算法,使用形態學。我從來沒有用OpenCV形態學,只用Matlab。
玩得開心
看看cvBlob,它工作得很好,可以處理複雜的形狀。
對於色彩分割,你應該從RGB遠離類似的顏色不是線性相關。
作爲一個例子2相似的顏色(具有相同色調)可以具有非常不同的RGB值:
這是更好的色彩空間,如LUV或HSV已經從亮度分離色彩工作。例如,您可以嘗試對LUV的U,V分量進行聚類算法。
如果你感興趣的對象是圓圈,我會查看[this](http://stackoverflow.com/questions/10404062/opencv-dot-target-detection-not-finding-all-targets-and -found-circles-are-offse/10416428#10416428),[this](http://stackoverflow.com/questions/6416117/simple-object-detection-using-opencv-and-machine-learning/6416361#6416361)和[this](http:// stackoverflow。COM /問題/ 10313602 /重塑,嘈雜的硬幣 - 到 - 一個圈表格/ 10316493#10316493)。 – karlphillip