我需要使用Java檢測圖像中的所有紅色像素。做這件事的最好方法是什麼?僅檢測Java中的紅色像素
只有當紅色RGB值大於200時,假設像素是紅色的不夠好(請參閱this table)。
那麼有沒有更好的方法來做到這一點?還是有一些紅色的顏色rgb算法?
我需要使用Java檢測圖像中的所有紅色像素。做這件事的最好方法是什麼?僅檢測Java中的紅色像素
只有當紅色RGB值大於200時,假設像素是紅色的不夠好(請參閱this table)。
那麼有沒有更好的方法來做到這一點?還是有一些紅色的顏色rgb算法?
將RGB轉換爲HSL,並將色相(H)分量閾值化。
> 345或<15時色相值爲紅色?所以:'if(hsv [0] * 360> 345 || hsv [0] * 360 <15){'但是這並不能給出可接受的結果... – francisMi
@francisMi:請更具體一些。什麼是不可接受的? –
@OliCharlesworth檢查不可接受。 – ArtemStorozhuk
正如你所建議的,你可能想在HSB空間做一些比較。您可能希望根據您的期望值爲所有三個值定義適當的風險。
您可以使用Color.RGBtoHSB
來獲取給定顏色的值。
1.4.2?請隨時加入我們*** 3千年!目前正在查看Java 7. –
如果您搜索「Color.RGBtoHSB」,則1.4.2文檔是第一個鏈接。我發現大多數Java搜索都是這種情況 - 舊文檔首先出現。我必須在每次搜索後添加'7'來獲取它,以便提供最新的文檔,這非常可惜。 –
使用一些URL(包括這個),您可以用「7」替換路徑中的「1.4.2」。 – finnw
如何定義紅色? –
您在這裏提出兩個問題:一個是*,「如何確定某種顏色(用RGB值表示)看起來紅色?」*,另一個是*「您能用Java爲我編寫此程序嗎?」 *。第一個問題沒有問題,第二個問題沒有(因此我的downvote)......除非你證明你已經做了一些你自己的努力。 – stakx