⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhifangtu.m

📁 这是我自己编的直方图源程序
💻 M
字号:
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);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -