1樓:匿名使用者
會均衡一個彩色影象了,但我還有一個問題想問一下:給一個灰度影象可得到你應該從本質上來理解:直方圖,在數學上是對一個矩陣進行的統計。這個時候,h
如何使用matlab計算彩色影象的顏色直方圖?
2樓:匿名使用者
方法如下:
1.將rgb圖象轉為hsv。
2. 將h分量量化16級,將s分量和v分量分別量化為4級.。
3.將三個顏色分量合成為一維特徵向量:l = h*qs*qv+s*qv+v;qs,qv分別是s和v的量化級數, l取值範圍[0,255]。
4.計算l的直方圖分佈。
3樓:匿名使用者
據我所知好像不行,可以用偽rgb顏色,要是轉換成gray可能可以還有一種方法我也沒試過,你可以試一下將影象轉換成索引影象,保留map用作變回原圖用
4樓:匿名使用者
從別人那裡學來的:
1.將rgb圖象轉為hsv
2. 將h分量量化16級,將s分量和v分量分別量化為4級.
3.將三個顏色分量合成為一維特徵向量:l = h*qs*qv+s*qv+v;qs,qv分別是s和v的量化級數, l取值範圍[0,255].
4.計算l的直方圖分佈
但願合你胃口,呵呵!
5樓:超人影視娛樂
如何使用matlab計算彩色影象的顏色直方圖將h分量量化16級,將s分量和v分量分別量化為4級.
將三個顏色分量合成為一維特徵向量:l = h*qs*qv+s*qv+v;qs,qv分別是s和v的量化級數, l取值範圍[0,255].計算l的直方圖分佈
參考程式
寫一段**畫出一個影象的灰度直方圖(不能用matlab自帶的imhist函式),並作直方圖均衡化處理。
6樓:用著追她
1、先求出給定**的直方圖。
2、直方圖均衡化處理的公式,其中,v和u分別代表影象的高和寬。
3、為此,寫出**是:pic[i,j]=(255)/(u*v)*sum(c[:int(img[i,j])])。
4、均衡化的**如下。
5、畫出均衡化**的直方圖。
6、均衡化前後,**對比一下。做影象減法:pic-img。
7樓:匿名使用者
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('直方圖均衡後的影象');
8樓:匿名使用者
%% 灰度均衡化函式 自編
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程式設計實現一幅影象的灰度直方圖,要縱座標為概率,橫座標為梯度值。。
9樓:匿名使用者
gradient計算梯度值, 然後用hist計算頻次,就可以畫出來了
影象灰度直方圖歸一化 matlab實現
10樓:匿名使用者
可能因為你讀入的是一張rgb三色的圖,需要在imread 後面加一行 rgb2gray 轉換成灰度圖,再做後面的歸一化。
11樓:匿名使用者
樓主直接用imhist就好了。。。。
12樓:薄奕聲笪溪
沒有錯啊,是不是影象是rgb圖,需要先轉換成灰度圖試試
13樓:樑蘭英邰乙
因為計算的是灰度直方圖,所以要先將彩色影象轉化成灰度影象才可以
進行處理,否則會出錯
14樓:匿名使用者
不說了 秒殺得了
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顯示灰度影象的直方圖的操作詳細步驟,小白求!
15樓:笑臉藍雨
1、開啟matlab需要處理的影象,然後再下面寫出**是:pic[i,j]=(255)/(u*v)*sum(c[:int(img[i,j])])。
2、然後接下來就可以看到影象均衡化的**。
3、最後,畫出均衡化**的直方圖如圖所示,衡化前後,**對比一下,這樣就可以解決問題了。
求一matlab程式,要求: 輸入影象,輸出灰度直方圖。
16樓:匿名使用者
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怎麼讀取一幅影象,並轉換為灰度影象
1 開啟 在主介面上輸入命令將影象轉換為資料 data imread folder icon.bmp 2 檢視資料 雙擊工作區中的資料,內我們可以看到 影象數容據的具體資訊。3 驗證影象結果 輸入命令,我們可以看到資料資料是 所代表的 imshow 資料 4 灰度說明 我們可以通過輸入指令獲得灰度後...
一幅YUV彩色影象的解析度為720 576分別計算採用
4 2 2的 720 576x2 4 1 1和4 2 0的 720 576x1.5 幫忙解決下列問題 1.賈誼的 陳政事疏 又名 治安策 2.竹林七賢 指的是晉代七位名士 阮籍 嵇康 山濤 劉伶 阮咸 向秀和王戎3.1348年,義大利的佛羅倫薩發生了一場可怕的瘟疫。為了記下人類這場災難,他以這場瘟疫...
matlab 已知一幅影象某點的座標,以此點為圓心,指定r為
看看du這個例 zhi子能不能滿 dao足專你的要屬求 想在matlab的一副影象中畫出指定座標和半徑的圓圈,比如座標 17,12 半徑2 hold on 保持影象在原圖上 r 2 alpha 0 pi 50 2 pi 角度 0,2 pi r 2 半徑 x r cos alpha 17 y r si...