2015-06-25 66 views
0

我正在嘗試使用灰度映射函數將原始灰度圖像轉換爲映射灰度圖像。我不知道如何獲得任何兩個最小值對應於原始直方圖的灰度範圍[a,b],以便我可以將這些值用於下面的公式以獲得映射的灰度圖像。如何獲得任意兩個直方圖值的最小值?

f(x,y)=0 if [0,a), 
f(x,y)=(255/(a-b))-a for [a,b], 
f(x,y)=255 if (b,255] 

謝謝!

+1

我假設你要求兩個*極值* a和b。在這種情況下,MATLAB具有查找最大值和最小值的功能。此外,你的「代碼」本質上是僞代碼似乎是一個問題。這是作業嗎?如果是這樣,它應該被標記爲這樣。 – AruniRC

+1

@AruniRC [家庭作業標籤已被棄用](http://meta.stackexchange.com/questions/147100/the-homework-tag-is-now-officially-deprecated) – Dan

+0

@丹對不起我的壞。變老! – AruniRC

回答

1

所以基本上你想縮放圖像的直方圖,範圍從0到255.所有你需要的是最大值和最小值。找到他們最簡單的方法是

a = min(I(:)); 
b = max(I(:)); 

而且我懷疑你中間的方程實際上應該是

F(X,Y)=(255 /(AB))*(F(X,Y )-a)for [a,b]

但是,這將消除您的前兩個方程式的需要。因此,ab可能不是您的案例中的極值,而是您實際上試圖強調坐在圖像直方圖中間的一些強度範圍(並且基本上放棄該範圍之外的所有信息)。在這種情況下,您沒有給我們足夠的信息來建議ab的值。

相關問題