[英]how to detect colour from an image matlab?
我們正在做一個基於墊實驗室的機器人技術項目,該項目實際上是根據對象的顏色對對象進行分類的,因此我們需要一種算法來使用墊實驗室從相機拍攝的圖像中檢測特定顏色。 如果有人可以幫助我,那將是一個很大的幫助。 它是該項目的視頻
針對Amro的回答:
所有這五個正方形在HSV空間中具有相同的色相值。 通過“色相”進行選擇會有所幫助,但是您還希望對飽和度和值施加一些約束。
HSV允許您以更有意義的方式描述顏色,但是您仍然需要查看所有三個值。
首先,我將使用rgb空間和歐幾里得范數來檢測像素是否具有給定的顏色。 通常,一個像素有3個值: [red green blue]
。 您還可以使用3個值定義目標顏色: [255 0 0]
為紅色。 計算這兩個向量之間的歐幾里得范數,然后應用決策閾值對像素的顏色進行分類。
最終,您想擺脫亮度因子(即是鮮紅色還是暗紅色?)。 您可以切換到HSV空間,並對H值使用相同的范數。 或者,您可以使用[red/green blue/green]
矢量。 在此之前,對圖像應用低通濾波器,因為除法(在hsv2rgb變換中也存在)會增加噪聲。
為了獲得單個彩色蒙版,首先使用rgb2gray將rgb圖像轉換為灰色。 還從rgb圖像中提取所需的色彩平面,(例如,為了獲得紅色純色,請給出rgb_img(:,:,1))。 從灰度圖像中減去給定的平面........
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.