2013-02-24 99 views
0

如何查找no。 RGB圖像中每個像素的出現(即每種顏色)??。
我需要存儲對應於它們的座標圖像的每個像素的出現次數......使用matlab查找圖像中每個像素的出現次數

+0

你的問題不是很清楚。你的意思是一個直方圖? – sfotiadis 2013-02-24 14:12:37

+0

在彩色圖像中,每個像素將具有紅色綠色藍色值以產生特定顏色。另一個像素也可以具有相同的像素值(即相同顏色)。因此,我希望找到每個像素的次數價值已經發生..我用普通的數組實現..它採取大量的時間來執行..其他方式獲取發生值 – user2102112 2013-02-24 16:44:20

+0

這可以通過索引您的圖像首先,與地圖,並創建一個例如直方圖。 你試過了什麼? – sfotiadis 2013-02-24 16:50:22

回答

0

嘗試:

maxNoOfColors=1024; 
[x,map]=rgb2ind(image,maxNoOfColors); 
[counts, histmap] = imhist(x,map); 

這會給你一個直方圖(出現的次數)爲每個不同的顏色在你的形象。如果您認爲圖像中有更多的顏色,您可以將數字設置得更大一些,最多可以處理65k色,然後使用分檔。您可以使用地圖從rgb值轉換爲直方圖值。

+0

即時通訊新的matlab .. wat是一個索引圖像..和我執行烏爾代碼我得到了計數值..我的懷疑是當我使用數組我得到了不同的值..我真的使用數組了。 。我在2d數組中存儲爲:a [:,1] =紅色值a [:,2] =綠色a [:,3] =藍色強度,我在具有相同紅色綠色藍色值的行之間進行比較。 – user2102112 2013-02-25 02:26:47

+0

索引意味着,不是採用EVERY RGB值(對於24位顏色約爲1700萬),而是僅考慮圖像中存在的實際顏色。例如,如果[123,45,212]存在,它將被編入索引,並且出現次數將被計入。如果沒有,那麼它將不會出現在索引中。 Btw什麼是你的形象的決議?這取決於你有多少不同的值(RGB顏色)。對於超過65k,它不會給出準確的結果。 – sfotiadis 2013-02-25 13:27:32

相關問題