直方圖均衡化處理的主要步驟是什麼

2021-03-07 08:20:48 字數 7941 閱讀 4577

1樓:女寢門後賣香蕉

設原始影象在(x,y)處的灰度為f,而改變後的影象為g,則對影象增強的方法可表述為將在(x,y)處的灰度f對映為g。

在灰度直方圖均衡化處理中對影象的對映函式可定義為:g = eq (f)。

這個對映函式eq(f)必須滿足兩個條件(其中l為影象的灰度級數):

(1)eq(f)在0≤f≤l-1範圍內是乙個單值單增函式。這是為了保證增強處理沒有打亂原始影象的灰度排列次序,原圖各灰度級在變換後仍保持從黑到白(或從白到黑)的排列。

(2)對於0≤f≤l-1有0≤g≤l-1,這個條件保證了變換前後灰度值動態範圍的一致性。

2樓:暖萱紫菱

直方圖均衡化演算法分為三個步驟,第一步是統計直方圖每個灰度級出現的次數,第二步是累計歸一化的直方圖,第三步是計算新的畫素值。

第一步:

for(i=0;is[i][j])}}

找出畫素的最大值和最小值。

for(i=0;i

3樓:暮遲雪

直方圖均衡化的基本思想是把原始圖的直方圖變換為均勻分布的形式,這樣就增加了象素灰度值的動態範圍從而可達到增強影象整體對比度的效果。設原始影象在(x,y)處的灰度為f,而改變後的影象為g,則對影象增強的方法可表述為將在(x,y)處的灰度f對映為g。在灰度直方圖均衡化處理中對影象的對映函式可定義為:

g = eq (f),這個對映函式eq(f)必須滿足兩個條件(其中l為影象的灰度級數):   (1)eq(f)在0≤f≤l-1範圍內是乙個單值單增函式。這是為了保證增強處理沒有打亂原始影象的灰度排列次序,原圖各灰度級在變換後仍保持從黑到白(或從白到黑)的排列。

  (2)對於0≤f≤l-1有0≤g≤l-1,這個條件保證了變換前後灰度值動態範圍的一致性。

直方圖均衡化步驟? 5

4樓:匿名使用者

直方圖均衡化的基本思想是把原始圖的直方圖變換為均勻分布的形式,這樣就增加了象素灰度值的動態範圍從而可達到增強影象整體對比度的效果。設原始影象在(x,y)處的灰度為f,而改變後的影象為g,則對影象增強的方法可表述為將在(x,y)處的灰度f對映為g。在灰度直方圖均衡化處理中對影象的對映函式可定義為:

g = eq (f),這個對映函式eq(f)必須滿足兩個條件(其中l為影象的灰度級數):   (1)eq(f)在0≤f≤l-1範圍內是乙個單值單增函式。這是為了保證增強處理沒有打亂原始影象的灰度排列次序,原圖各灰度級在變換後仍保持從黑到白(或從白到黑)的排列。

  (2)對於0≤f≤l-1有0≤g≤l-1,這個條件保證了變換前後灰度值動態範圍的一致性。

①求該影象的灰度直方圖。②對該影象進行直方圖均衡化處理,寫出過程和結果。

5樓:

首先需要說明的是,如果你說的是一道完整的題目,則這道題目沒有唯一解,因為題目中沒有說明原始影象的灰度級數(比如原始影象是16個灰度級的,或者是32個灰度級的,等等)。為了給你提供乙個解題思路,現在人為假設原始影象是16個灰度級的,其它灰度級的解法類似。

1、影象的灰度直方圖求法為:

(1)先計算影象中各個灰度級的出現頻率,用h(i)表示灰度級i的出現頻率,其值等於灰度級出現次數/影象畫素個數:

h(0)=2/16

h(1)=1/16

h(2)=3/16

h(3)=2/16

h(4)=0/16

h(5)=1/16

h(6)=4/16

h(7)=1/16

h(8)=1/16

h(9)=1/16

h(10)=h(11)=h(12)=h(13)=h(14)=h(15)=0/16。

然後以灰度級i為橫軸,出現頻率h(i)為縱軸即可繪製出影象對應的直方圖。

(2)影象進行直方圖均衡化處理的過程為:

先計算累積分布,用r(i)表示灰度級i的累積分布:

r(0)=h(0)=2/16

r(1)=r(0)+h(1)=2/16+1/16=3/16

r(2)=r(1)+h(2)=3/16+3/16=6/16

r(3)=r(2)+h(3)=6/16+2/16=8/16

r(4)=r(3)+h(4)=8/16+0/16=8/16

r(5)=r(4)+h(5)=8/16+1/16=9/16

r(6)=r(5)+h(6)=9/16+4/16=13/16

r(7)=r(6)+h(7)=13/16+1/16=14/16

r(8)=r(7)+h(8)=14/16+1/16=15/16

r(9)=r(8)+h(9)=15/16+1/16=16/16=1

r(10)=r(11)=r(12)=r(13)=r(14)=r(15)=1

將累積分布進行量化(量化時需要用到原始影象的灰度級數,這也是為什麼前面需要說明的原因),量化後的灰度級用rq(i)表示,量化公式為rq(i)=round(r(i)*15),(說明:量化公式中的15等於原始影象灰度級數減1),可得:

rq(0)=round(r(0)*15)=2

rq(1)=round(r(1)*15)=3

rq(2)=round(r(2)*15)=6

rq(3)=round(r(3)*15)=8

rq(4)=round(r(4)*15)=8

rq(5)=round(r(5)*15)=8

rq(6)=round(r(6)*15)=12

rq(7)=round(r(7)*15)=13

rq(8)=round(r(8)*15)=14

rq(9)=round(r(9)*15)=15

rq(10)=round(r(10)*15)=15

rq(11)=round(r(11)*15)=15

rq(12)=round(r(12)*15)=15

rq(13)=round(r(13)*15)=15

rq(14)=round(r(14)*15)=15

rq(15)=round(r(15)*15)=15

因此,原始影象中的灰度級和均化後影象中的灰度級之間的對應關係為:

0->2

1->3

2->6

3->8

4->8

5->8

6->12

7->13

8->14

9->15

10->15

11->15

12->15

13->15

14->15

15->15

將原始影象中對應的灰度值安裝上述對應關係替換成相應的灰度值,即可得到均化影象,結果如下:

3 8 13 8

6 12 2 12

14 6 12 8

15 6 12 2

(在電腦上直接做的,僅供參考。round(.)表示四捨五入。)

為什麼直方圖均衡化能有效增強影象

6樓:楊柳風

因為直方圖均衡化處理之後,原來比較少畫素的灰度會被分配到別的灰度去,畫素相對集中, 處理後灰度範圍變大,對比度變大,清晰度變大,所以能有效增強影象。

直方圖均衡化是影象處理領域中利用影象直方圖對對比度進行調整的方法。這種方法通常用來增加許多影象的區域性對比度,尤其是當影象的有用資料的對比度相當接近的時候。通過這種方法,亮度可以更好地在直方圖上分布。

這樣就可以用於增強區域性的對比度而不影響整體的對比度,直方圖均衡化通過有效地擴充套件常用的亮度來實現這種功能。

7樓:匿名使用者

影象增強是數字影象處理中的重要而基本的內容。增強的首要目標是處理圖象,使其比原始圖象更適合特定應用。通過直方圖均衡化技術來實現影象增強,首先就是對原影象通過離散函式進行直方圖處理。

得到原影象的直方圖後,根據均衡化的變換函式通過計算得到所需要的增強效果的影象的直方圖。闡述和分析了影象增強的點處理、空間域濾波、頻域濾波、代數運算。用直方圖均衡化的演算法增強灰度影象,並在vc 6.

0中實現,達到了圖象增強的目的,取得了較好的效果。

數字影象的增強是影象處理中的乙個重要研究內容之一,是影象處理的一項基本技術。影象增強是指按特定的需要突出一幅影象的某些資訊,同時,削弱或除去某些不需要的資訊的處理方法。通過對本課題的畢業設計,能從以上幾個方面來認識數字影象的有關知識,深刻理解數字影象的增強方法,特別是直方圖均衡化方法的理論知識及其相關應用。

同時,能使本人掌握進行科學研究的基本方法和步驟,進一步熟悉vc6.0等軟體開發工具的使用。熟練掌握軟體開發的基本步驟和過程以及**撰寫的格式,加強了理論知識的應用,很好地鍛鍊了自己的理論聯絡實際的能力。

數字影象增強只是數字影象處理的乙個小部分。我們要做好數字影象增強就先要了解數字影象處理的內容。下面我們來介紹一下數字影象處理。

數字影象處理是一門多學科的綜合學科,它會聚了光學、電子學、數學、攝影技術和計算機技術等眾多學科方面。它通過對原始影象的加工,使之能具備更好的視覺效果或能滿足某些應用的特定要求。數字影象處理和光電檢測技術、電腦科學、多**技術及專家系統等技術密切相關,經過半個多世紀的發展,目前已廣泛地應用於工業、醫療保健、航空航天、軍事等各個領域。

它是一門偏重於應用的工程學科。作為計算機應用系列課程的一門實用性較強的課程,利用計算機進行數字影象處理已成為計算機應用的重要分支之一。本課程操作性和實用性較強,能充分發揮你的興趣及悟性。

求乙個直方圖均衡化的程式

8樓:匿名使用者

圖形處理中有一種對比度變換,像顯示器就有對比度調節,photoshop也有**的對比度修改,對比度的提高可以使影象細節清晰,相反,對比度的減小可以隱藏影象的細節,在一定程度上使影象柔和。

對比度變換其中一種比較簡單的方法是直方圖均衡化。

所謂直方圖就是在某一灰度級的象素個數佔整幅影象的象素比 h=nj/n,其中nj是灰度級在j的象素數,n是總象素數,掃瞄整幅影象得出的h的離散序列就是影象的直方圖,h求和必然=1,所以直方圖可以看成是象素對於灰度的概率分布函式。

直方圖是高低不齊的,因為象素灰度是隨機變化的,直方圖均衡化就是用一定的演算法使直方圖大致平和。

演算法如下:

對於乙個直方圖

設 pr(r)是原始影象直方圖,ps(s)是均衡化的直方圖,

由於其是乙個概率分布函式

所以有 ps(s)ds=pr(r)dr (編輯關係,ds,dr是積分變數)

因為要進行均衡化,令 ps(s)=1,

得 ds=pr(r)dr/1

兩邊積分得 s=f pr(r)dr (因為編輯關係,左邊f表示積分符號....-__-++)

數字影象是離散的,因此離散化上式得

sk=e(nj/n) 左式k,j是離散量下標,因為編輯關係,e表示下標0到k的連加符號,n是象素總數

由此得出每一象素的sk為均衡化後的正規化灰度(即灰度正規化到[0,1]),統計sk即可得出均衡化後的直方圖。

在均衡化過程中可以對每一象素對映到新的實際灰度值sk*255,就實現了影象的變換

(嚴格理論中應該是灰度正規化到[0,1]區間,然後均衡化後的sk還要量化到原始的正規灰度以實現灰度合併,下面的bcb程式並沒有量化,而且255是固定灰度級,因為256色bmp的彩色表就是256個表項)

現在開始實踐

用bcb對一bmp灰度影象進行直方圖均衡化處理,**如下

//----------------------------bcb6**

#include

#pragma hdrstop

#include

#include "unit1.h"

#include"file1.h"

#pragma pack(1)

//bmp檔案頭

struct bitmapfileheader_

; //bmp資訊頭

struct bitmapinfo_

; //bmp彩色表項

struct color_

; //------將bmp彩色表的資料校正到bcb tcolor的資料。

void switchcolor(long &c)

void ***()

fseek(f,0,0);//移動到開頭

//----------讀bmp檔案頭

bitmapfileheader_ *bmph=new bitmapfileheader_();

if(fread((char*)bmph,sizeof(bitmapfileheader_),1,f)==null)

//-----------讀bmp資訊頭

bitmapinfo_ *bmpi=new bitmapinfo_();

if(fread((char*)bmpi,sizeof(bitmapinfo_),1,f)==null)

//--------------讀彩色表

long *c=new long[bmph->offbits-sizeof(bitmapfileheader_)-sizeof(bitmapinfo_)];

fread((char*)c,bmph->offbits-sizeof(bitmapfileheader_)-sizeof(bitmapinfo_),1,f);

//----------顯示一些資訊

form1->edit1->text=inttostr(bmph->bfsize);

form1->edit2->text=inttostr(bmpi->width);

form1->edit3->text=inttostr(bmpi->height);

form1->edit4->text=inttostr(bmpi->***p);

form1->edit5->text=inttostr(bmpi->used);

int i,j,k,wc;

long n=bmph->bfsize- bmph->offbits;//象素總數

unsigned char *image=new char[n]; //位圖矩陣

unsigned char *newimage=new char[n];//變換後的點陣圖矩陣

fread(image,n,1,f);//讀入位圖矩陣

//---------直方圖數列初始化

//---------直方圖數列用來儲存正規化後的灰度

double *h=new double[255];//255個灰度級,儲存原始影象正規化灰度直方圖資料

for(i=0;i<255;i++)

h[i]=0.0;

double *nh=new double[255];//255個灰度級,儲存變換後的影象正規化灰度直方圖

for(i=0;i<255;i++)

nh[i]=0.0;

long *count=new long[255]; //每一灰度級的象素數量統計

for(i=0;i<255;i++)

count[i]=0;

for(i=0;icanvas->moveto(10+i,200);

form1->canvas->li***o(10+i,200+h[i]*n);

//新直方圖

form1->canvas->moveto(300+i,200);

form1->canvas->li***o(300+i,200+nh[i]*255);

} //------顯示圖形

tcolor *tc;

if(bmpi->width%4==0)//-----------因為bmp影象4位元組對齊

wc=bmpi->width/4*4;

else

wc=(bmpi->width/4+1)*4;

long a;

long pos=0;

for( i=0;iheight;i++) }

fclose(f);

} 這個程式使用256色bmp檔案,但程式**是針對灰度影象的,用於彩色影象時得出一些古怪色彩配合而已。

在對灰度影象均衡化時

如果原始影象對比度本來就很高,如果再均衡化則灰度調和,對比度降低。

在泛白緩和的影象中,由於均衡化過程中會合併一些象素灰度,則會增大對比度,這裡255灰度級太多,合併不明顯。

流浪地球計畫的主要策略是什麼,實施步驟是什麼呢?求解答,謝謝

從地球原有軌道到遙遠的比 鄰星,按照 流浪地球 情節而言,這是一場長達2500年 需要100代人才能完成的恢弘計畫,它分為了五個階段 1 剎車階段 憑藉赤道上的 行星發動機 的巨大推力,使地球停止自轉 2 逃逸階段 全功率開動行星發動機,使地球加速駛出太陽系 3 先流浪階段 利用太陽和木星完成最後的...

什麼是矽橡膠的硫化處理,矽膠產品硫化過程中需要注意什麼

硫化處理是對矽橡膠進行加熱或高溫加熱,使其膠層在促進劑的作用下,由線性分子變成專網狀分屬子結構的過程。硫化處理的方法 按加熱形式分為蒸汽加熱硫化 熱水加熱硫化 常溫硫化。其中蒸汽加熱硫化又分為直接加熱 本體加熱 硫化和間接加熱硫化。分一次硫化和二次硫化,一次硫化是成型的過程,二次硫化是烘烤或者水煮,...

什麼是納什均衡?能不能舉個簡單的例子?納什均衡與最優策略的關

一次博弈最終總會形成乙個結果,好比討價還價,這就是博弈均衡。納什均衡 是一種最常見的 也是最重要的博弈均衡。它是美國天才數學家納什在1950年正在攻讀博士學位時提出來的,題為 n人博弈的均衡問題 納什巧妙運用數學技巧,證明了如下定理 對一任何乙個n人參與的非合作博弈 零和或非零和 如果每個參與者的策...