?? zhifangtu.m
字號(hào):
clear all; clc;
imoriginal=imread('pout.tif');
figure,subplot(2,2,1),imshow(imoriginal);
[height,width]=size(imoriginal);
imagehist= zeros(256,1);
for i = 1:1:height
for j=1:1:width
for k=0:1:255
if imoriginal(i,j)==k;
imagehist(k+1,1)=imagehist(k+1,1)+1;
end
end
end
end
subplot(2,2,2),bar(0:1:255,imagehist);
%直方圖均衡化
prk = imagehist/(height*width);
sumprk = 0;
sk = prk*0;
imresult=imoriginal;
for k = 1:1:256;
sumprk = sumprk+prk(k);
sk(k) = sumprk;
for i=1:1:height
for j=1:1:width
if imoriginal(i,j)==(k-1)
imresult(i,j)=round(sumprk*255);
end
end
end
end
subplot(2,2,3),imshow(imresult);
aa= zeros(256,1);
for i = 1:1:height
for j=1:1:width
for k=0:1:255
if imresult(i,j)==k;
aa(k+1,1)=aa(k+1,1)+1;
end
end
end
end
subplot(2,2,4),bar(0:1:255,aa);
%中值濾波
imresult = imoriginal;
for i = 2:1:height-1;
for j = 2:1:width-1;
temp = [imoriginal(i-1,j-1),imoriginal(i-1,j),imoriginal(i-1,j+1),...
imoriginal(i,j-1),imoriginal(i,j),imoriginal(i,j+1),...
imoriginal(i+1,j-1),imoriginal(i+1,j),imoriginal(i+1,j+1)];
temp = sort(temp);
imresult(i,j) = temp(5);
end
end
figure,subplot(2,2,1),imshow(imresult);
subplot(2,2,2),imhist(imresult);
%sobel銳化
imresult = imoriginal;
imoriginal=double(imoriginal);
for i = 2:1:size(imoriginal,1)-1;
for j = 2:1:size(imoriginal,2)-1;
temp = [imoriginal(i-1,j-1),imoriginal(i-1,j),imoriginal(i-1,j+1),...
imoriginal(i,j-1),imoriginal(i,j),imoriginal(i,j+1),...
imoriginal(i+1,j-1),imoriginal(i+1,j),imoriginal(i+1,j+1)];
imresult(i,j) = abs(temp(7)+2*temp(8)+temp(9)-temp(1)-2*temp(2)-temp(3))+...
abs(temp(3)+2*temp(6)+temp(9)-temp(1)-2*temp(4)-temp(7));
end
end
imresult = uint8(imresult);
subplot(2,2,3),imshow(imresult);
subplot(2,2,4),imhist(imresult);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -