求一matlab程式,要求輸入影象,輸出直方圖均衡化後的

2021-05-20 09:18:07 字數 4987 閱讀 5215

1樓:背影無忌

你先把要處理的影象載入到matlab的work資料夾裡面a=imread(『1.bmp』); %輸入真彩色影象b=rgb2gray(a); %轉化成灰度影象影象顯示

figure(1)

subplot(1,2,1);imshow(a);

subplot(1,2,2);imshow(b);

%顯示灰度影象與直方圖

figure(2)

subplot(1,2,1);imshow(b);

subplot(1,2,2);imhist(b);

%直方圖均衡化

c=histeq(b);

figure(3);

subplot(1,2,1);imshow(c);

subplot(1,2,2);imhist(c);

希望能對你有幫助~

2樓:匿名使用者

en 背影無忌和熱心網友 已經回答了 gui具體問題 寡人也可幫忙

3樓:匿名使用者

補充樓上,你的意思是不是在一個figure中顯示clc,clear all

a=imread('mypic.jpg'); %輸入真彩色影象b=rgb2gray(a); %轉化成灰度影象%影象顯示

subplot(2,2,1);imshow(a);

subplot(2,2,2);imshow(b);

%顯示灰度影象與直方圖

subplot(2,2,3);imhist(b);

%直方圖均衡化

c=histeq(b);

subplot(2,2,4);imhist(c);

求一matlab程式,要求: 輸入影象,輸出灰度直方圖。

4樓:匿名使用者

img=imread('c:\test.bmp');

p=rgb2gray(img);

h=imhist(p);

h1=h(1:2:256);

h2=1:2:256;

stem(h2,h1,'r--');

figure,imhist(p);

如何用matlab畫直方圖,輸入影象,出來直方圖,我沒學過matlab,請從使用到輸出儘量詳細o(∩_∩)o謝謝哎~

5樓:匿名使用者

讀入matlab自帶**kids.tif,並求出該**的沿r,g,b方向的直方圖。

6樓:匿名使用者

a=imread('f:\xx.jpg'); %讀入原影象檔案

i=rgb2gray(a);%彩色影象轉黑白,若原影象為黑白的,則不要這一步

j=histeq(i); %對原影象進行直方圖均衡化處理

imshow(i); %顯示原影象

title('原影象'); %給原影象加標題名

figure;imshow(j); %對原影象進行螢幕控制;顯示直方圖均衡化後的影象

title('直方圖均衡化後的影象'); %給直方圖均衡化後的影象加標題名

figure;subplot(121);%對直方圖均衡化後的影象進行螢幕控制;作一幅子圖作為並排

%兩幅圖的第1 幅圖

imhist(i,64); %將原影象直方圖顯示為64 級灰度

title('原影象直方圖'); %給原影象直方圖加標題名

subplot(122); %作第2 幅子圖

imhist(j,64); %將均衡化後影象的直方圖顯示為64 級灰度

title('均衡變換後的直方圖'); %給均衡化後影象直方圖加標題名

7樓:匿名使用者

直接img=imread("flower.jpg");

imhist(img);

求matlab程式能夠對50張**同時進行直方圖均衡化,中值濾波,二值化處理的程式 10

直方圖均衡化後的影象怎麼算 已知原影象,求直方圖均衡化後的影象。不要matlab程式。我只求明白原理就行 10

8樓:匿名使用者

如圖,是均衡前後的直方圖對比。

直方圖均衡化的意義在於:儘量讓每個亮度的點都一樣多,從而讓**的灰度細節儘量展現在人眼前,符合人眼檢視**的規律。

所以舊圖的直方圖並不平坦,做完直方圖均衡化以後,直方圖就會趨向平坦。

就拿上面2張直方圖舉例:

假設一張**的的亮度最低是0,最高是255(我就不說灰度了)

1。假設**是一張m*m畫素大小的**

2。轉換以後,假設,舊圖亮度在0-10之間的點數,等於新圖0-30之間的點數(因為舊圖很多點都擠在0-10之間,新圖要把這些點拉開)

3。又因為新圖是平坦的,所以我們很容易假設,亮度為30的點數,佔了總點數的1/256,也就是(m*m)/256

4。所以新圖中,0-30亮度之間的點數為30*(m*m)/256

5。根據上面2和4的關係列等式

30=(256/(m*m))*(亮度在0-10的點數總和)

6。把10換成p,30換成q,這樣對應任何舊圖中的p亮度,都可以計算出與之對應的新圖的亮度p。舊圖跟新圖的對映關係就出來了。

以上計算都是基於一個假設:(3)新圖的直方圖是平坦的。

matlab做直方圖均衡,下面的程式是區域性直方圖均衡,程式執行後的影象顯示如下圖,黑色部分灰度值均為1

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

9樓:用著追她

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

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

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

4、均衡化的**如下。

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

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

10樓:匿名使用者

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('直方圖均衡後的影象');

11樓:匿名使用者

%% 灰度均衡化函式 自編

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的gui中對影象進行直方圖均衡化,直方圖統計…2319

12樓:匿名使用者

你先把要處理的影象載入到matlab的work資料夾裡面a=imread(『1.bmp』);%輸入真彩色影象b=rgb2gray(a);%轉化成灰度影象影象顯示

figure(1)

subplot(1,2,1);imshow(a);

subplot(1,2,2);imshow(b);

%顯示灰度影象與直方圖

figure(2)

subplot(1,2,1);imshow(b);

subplot(1,2,2);imhist(b);

%直方圖均衡化

c=histeq(b);

figure(3);

subplot(1,2,1);imshow(c);

subplot(1,2,2);imhist(c);

希望能對你有幫助~

求用matlab寫小程式,求用matlab寫一個小程式

內容來自使用者 夢見天亮11 num2str 變數值為字串 int2str 變整數為字串 str2num 變字串為數值 sprintf 變數值為格式控制下的字串 sscanf 變字串為格式控制下的數值 1.分段函式 for x pi 6 pi 10 6 pi y sin x if y 0 y 0 e...

求大俠幫我看下這個matlab程式,一直報錯

clear clci 1000 l 2 rr 0.01 x 0 0.1 2 k,j size x rg1 zeros 1,j rs1 zeros 1,j z zeros 1,j a zeros 1,j c zeros 1,j for i 1 j rg1 i 15 0 x i x i 0.8 63 6...

求程式啊,編寫程式,輸入五位整數,將它反向輸入,例如輸

反向function xx byval aa as string as string dim longth as integerdim i as integer longth len aa for i longth to 1 step 1xx xx mid aa,i,1 next end funct...