影象灰度直方圖歸一化matlab實現

2021-03-07 08:20:48 字數 5128 閱讀 9217

1樓:匿名使用者

可能因為你讀入的是一張rgb三色的圖,需要在imread 後面加一行 rgb2gray 轉換成灰度圖,再做後面的歸一化。

2樓:匿名使用者

樓主直接用imhist就好了。。。。

3樓:薄奕聲笪溪

沒有錯啊,是不是影象是rgb圖,需要先轉換成灰度圖試試

4樓:樑蘭英邰乙

因為計算的是灰度直方圖,所以要先將彩色影象轉化成灰度影象才可以

進行處理,否則會出錯

5樓:匿名使用者

不說了 秒殺得了

clear all

%一,影象的預處理,讀入彩色影象將其灰度化

讀入jpg彩色影象檔案

figure(1);subplot(2,2,1);imshow(ps);title('原影象灰度圖');

%二,繪製直方圖

[m,n]=size(ps); %測量影象尺寸引數

gp=zeros(1,256); %預建立存放灰度出現概率的向量

for k=0:255

gp(k+1)=length(find(ps==k))/(m*n); %計算每級灰度出現的概率,將其存入gp中相應位置

endfigure(1);subplot(2,2,2);bar(0:255,gp,'g') %繪製直方圖

title('原影象直方圖')

xlabel('灰度值')

ylabel('出現概率')

%三,直方圖均衡化

s1=zeros(1,256);

for i=1:256

for j=1:i

s1(i)=gp(j)+s1(i); %計算sk

endend

s2=round((s1*256)+0.5); %將sk歸到相近級的灰度

for i=1:256

gpeq(i)=sum(gp(find(s2==i))); %計算現有每個灰度級出現的概率

endfigure(1);subplot(2,2,4);bar(0:255,gpeq,'b') %顯示均衡化後的直方圖

title('均衡化後的直方圖')

xlabel('灰度值')

ylabel('出現概率')

%四,影象均衡化

pa=ps;

for i=0:255

pa(find(ps==i))=s2(i+1); %將各個畫素歸一化後的灰度值賦給這個畫素

endfigure(1);subplot(2,2,3);imshow(pa) %顯示均衡化後的影象

title('均衡化後影象')

imwrite(pa,'picequal.bmp');

matlab 影象處理中,直方圖均衡處理與直方圖歸一化各有什麼作用?

6樓:匿名使用者

1、直方圖均衡化處理的「中心思想」是把原始影象的灰度直方圖從比較集中的某個灰度區間變成在全部灰度範圍內的均勻分佈。直方圖均衡化就是對影象進行非線性拉伸,重新分配影象畫素值,使一定灰度範圍內的畫素數量大致相同。直方圖均衡化就是把給定影象的直方圖分佈改變成「均勻」分佈直方圖分佈。

2、歸一化是一種無量綱處理手段,使物理系統數值的絕對值變成某種相對值關係。簡化計算,縮小量值的有效辦法。直方圖歸一化類比這個吧!

寫一段**畫出一個影象的灰度直方圖(不能用matlab自帶的imhist函式),並作直方圖均衡化處理。

7樓:用著追她

1、先求出給定**的直方圖。

2、直方圖均衡化處理的公式,其中,v和u分別代表影象的高和寬。

3、為此,寫出**是:pic[i,j]=(255)/(u*v)*sum(c[:int(img[i,j])])。

4、均衡化的**如下。

5、畫出均衡化**的直方圖。

6、均衡化前後,**對比一下。做影象減法:pic-img。

8樓:匿名使用者

i=rgb2gray(i);  %灰度化

%繪製直方圖

[m,n]=size(i);

gp=zeros(1,256);

for k=0:255

gp(k+1)=length(find(i==k))/(m*n);  %計算每級灰度出現的概率,將其存入gp

end%三,直方圖均衡化

s1=zeros(1,256);

for i=1:256

for j=1:i

s1(i)=gp(j)+s1(i);

endend

s2=round((s1*256)+0.5); %將sk歸到相近級的灰度

for i=1:256

gpeq(i)=sum(gp(find(s2==i)));%計算現有每個灰度級出現的概率

endfigure;

subplot(221);bar(0:255,gp,'b');

title('原影象直方圖')

subplot(222);bar(0:255,gpeq,'b')title('均衡化後的直方圖')

x=i;

for i=0:255

x(find(i==i)) = s2(i+1);

endsubplot(223);imshow(i);

title('原影象') ;

subplot(224);imshow(x);

title('直方圖均衡後的影象');

9樓:匿名使用者

%% 灰度均衡化函式 自編

i = rgb2gray(imread('lena.png'));

matlab_i=histeq(i);

for j=1:1:256

num_j(j)=max(size(find(j-1==i)));

endfor op=1:1:size(i,1)

for pk=1:1:size(i,2)

gray=i(op,pk,1);

gray1=sum(num_j(1:gray+1))/(size(i,1)*size(i,2))*255;

custom_i(op,pk,1)=uint8(round(gray1));

endend

figure;

subplot(231),imshow(i);title('原圖灰度化');

subplot(234),imhist(i);

subplot(232),imshow(matlab_i);title('matlab灰度均衡');

subplot(235),imhist(matlab_i);

subplot(233),imshow(custom_i);title('自定義灰度均衡');

subplot(236),imhist(custom_i);

matlab如何實現矩陣影象的直方圖均衡化

10樓:匿名使用者

基於matlab的直方圖均衡化**

2007-04-15 20:15

clear all

%一,影象的預處理,讀入彩色影象將其灰度化

讀入jpg彩色影象檔案

imshow(ps) %顯示出來

title('輸入的彩色jpg影象')

imwrite(rgb2gray(ps),'picsamplegray.bmp'); %將彩色**灰度化並儲存

ps=rgb2gray(ps); %灰度化後的資料存入陣列

%二,繪製直方圖

[m,n]=size(ps); %測量影象尺寸引數

gp=zeros(1,256); %預建立存放灰度出現概率的向量

for k=0:255

gp(k+1)=length(find(ps==k))/(m*n); %計算每級灰度出現的概率,將其存入gp中相應位置

endfigure,bar(0:255,gp,'g') %繪製直方圖

title('原影象直方圖')

xlabel('灰度值')

ylabel('出現概率')

%三,直方圖均衡化

s1=zeros(1,256);

for i=1:256

for j=1:i

s1(i)=gp(j)+s1(i); %計算sk

endend

s2=round((s1*256)+0.5); %將sk歸到相近級的灰度

for i=1:256

gpeq(i)=sum(gp(find(s2==i))); %計算現有每個灰度級出現的概率

endfigure,bar(0:255,gpeq,'b') %顯示均衡化後的直方圖

title('均衡化後的直方圖')

xlabel('灰度值')

ylabel('出現概率')

%四,影象均衡化

pa=ps;

for i=0:255

pa(find(ps==i))=s2(i+1); %將各個畫素歸一化後的灰度值賦給這個畫素

endfigure,imshow(pa) %顯示均衡化後的影象

title('均衡化後影象')

imwrite(pa,'picequal.bmp');

請問影象處理中,l2正規化歸一化有什麼用

歸一化是一種無量綱處理手段,使物理 系統數值的絕對值變成某種相對值關係。內簡化計算,縮小量值的有效辦法。容例如,濾波器中各個頻率值以截止頻率作歸一化後,頻率都是截止頻率的相對值,沒有了量綱。阻抗以電源內阻作歸一化後,各個阻抗都成了一種相對阻抗值,歐姆 這個量綱也沒有了。等各種運算都結束後,反歸一化一...

matlab怎麼讀取一幅影象,並轉換為灰度影象

1 開啟 在主介面上輸入命令將影象轉換為資料 data imread folder icon.bmp 2 檢視資料 雙擊工作區中的資料,內我們可以看到 影象數容據的具體資訊。3 驗證影象結果 輸入命令,我們可以看到資料資料是 所代表的 imshow 資料 4 灰度說明 我們可以通過輸入指令獲得灰度後...

用matlab繪製一幅彩色影象的直方圖時,會生成幾個子灰度直

會均衡一個彩色影象了,但我還有一個問題想問一下 給一個灰度影象可得到你應該從本質上來理解 直方圖,在數學上是對一個矩陣進行的統計。這個時候,h 如何使用matlab計算彩色影象的顏色直方圖?方法如下 1.將rgb圖象轉為hsv。2.將h分量量化16級,將s分量和v分量分別量化為4級.3.將三個顏色分...