可以說我有一個矩陣x=[ 1 2 1 2 1 2 1 2 3 4 5 ]
。要查看其直方圖,我可以做h=hist(x).
如何從matlab獲取直方圖數據對象
現在,h檢索一個只包含出現次數的矩陣,並不存儲它發生的原始值。
我想要的是類似於一個函數,它從x
取值,並返回它的出現次數。話雖如此,histeq
我們應該欽佩的是,它自動衡量最接近的值!
應該如何解決這個問題?人們究竟做得如何?
我的興趣的原因是在圖像︰
可以說我有一個形象。我想查找圖像色度值的所有出現次數。
可以說我有一個矩陣x=[ 1 2 1 2 1 2 1 2 3 4 5 ]
。要查看其直方圖,我可以做h=hist(x).
如何從matlab獲取直方圖數據對象
現在,h檢索一個只包含出現次數的矩陣,並不存儲它發生的原始值。
我想要的是類似於一個函數,它從x
取值,並返回它的出現次數。話雖如此,histeq
我們應該欽佩的是,它自動衡量最接近的值!
應該如何解決這個問題?人們究竟做得如何?
我的興趣的原因是在圖像︰
可以說我有一個形象。我想查找圖像色度值的所有出現次數。
我真的不舒爾你在找什麼,但如果你螞蟻使用歷史記錄,以計算出現次數的數量,用途:
[h,c]=hist(x,sort(unique(x)))
否則HIST使用由中心定義的範圍。第二個輸出參數返回相應的數字。
hist
具有第二返回值將對應於第一返回值的形式返回的計數n
的bin中心xc
:[n, xc] = hist(x)
。您應該仔細查看描述大量控制hist
行爲的可選參數的引用。但是,hist
對於您的特定問題太強大了。
若要簡單計算特定值的出現次數,您可以簡單地使用諸如sum(x(:) == 42)
之類的內容。冒號操作符將對您的圖像矩陣進行線性化,等於運算符將產生一個布爾值列表,其中每個元素x
的值爲1,因此sum
將產生這些出現的總數。
到hist
/histc
另一種方法是使用bsxfun
:
n = unique(x(:)).'; %'// values contained in x. x can have any number of dims
y = sum(bsxfun(@eq, x(:), n)); %// count for each value
+1我只是打字一樣:-)我同意,這個問題不明確 –