2010-11-21 32 views
2

我需要確定圖像是否高於某個亮度。 使用0 - 255的比例我想在此範圍內生成一個值來反映圖像的亮度。生成一個值以反映圖像的平均亮度

即白色圖像爲255,黑色圖像爲0

這一切都需要通過一個bash腳本,我此刻的建立發生。 我不知道什麼圖像庫可以爲我做這個雖然。

您的想法互聯網?

感謝您的任何意見。

Denford

回答

4

嘗試ImageMagick的gray statshistogram

convert rose: -colorspace gray -format "%[fx:100*mean]%%" info: 
+1

我正在尋找將圖像重新採樣爲1x1像素黑白圖像以獲得我需要將其與其他圖像進行比較的平均值,因此這可能是我認爲是正確答案的最接近的建議。 – dibs 2010-11-23 04:40:32

5

一般來說,它是信號處理中的經典問題之一,有幾種方法的基礎上,你怎麼定義「亮度」。這是通常用於圖像的「亮度」,聲音信號的「音量」等相同

的東西,你可以作爲一個通用的「亮度」使用的一些想法是:

  • 的平均值所有像素(即總和所有像素的所有亮度,然後除以總像素數,即寬度*高度)。
  • 建立一個亮度分佈的直方圖,然後在該直方圖中選擇這樣一個點:圖像中所有像素的98%(95%,90%,70% - 這個數字可以變化)將會不太明亮比這x。它被稱爲百分位數。
  • 對所有像素計算"root mean square" (RMS)(所有像素的總和平方,除以總像素數,從中提取平方根)。

有多個圖像庫可以產生良好的結果。從shell腳本中最簡單的一個可能是ImageMagick/GraphicsMagick - 你可以得到簡單的平均值,並且可以做一些更復雜的直方圖來檢查百分點是否符合要求。