图像处理代码训练(matlab)

对数变换 幂律变换 直方图均衡以及局部均衡

clc;
clear all;
close all;
%对数变换以及幂律变换(伽马=0.1和伽马=5)
IM=imread('Fig0310(a)(Moon Phobos).tif');
IM=im2double(IM);
[H,W,C]=size(IM);
IM1=zeros(H,W,C);
IM2=zeros(H,W,C);
IM3=zeros(H,W,C);
for x=1:1:H
    for y=1:1:W
        for z=1:1:C
            IM1(x,y,z)=log(1+IM(x,y,z));
            IM2(x,y,z)=(IM(x,y,z))^0.1;
            IM3(x,y,z)=(IM(x,y,z))^5;
        end
    end
end
figure(1);
subplot(121)
imshow(IM);
title('原图像');
subplot(122)
imshow(IM1);
title('对数变换后');
figure(2);
subplot(131)
imshow(IM);
title('原图像');
subplot(132)
imshow(IM2);
title('幂律变换(0.1)后');
subplot(133)
imshow(IM3);
title('幂律变换(5)后');




直方图均衡函数

function IM1=junheng(IM)
[H,L]=size(IM);
T=linspace(0,255,256);
J=zeros(1,256);
HL=H*L;
t=zeros();
%统计灰度等级
for z=1:256
    t=find(IM==T(z));
    J(z)=length(t);
    t=zeros();
end
   
%计算均衡初始化
P=zeros(1,256);
S=zeros(1,256);
P=J./HL;
S(1)=255*P(1);
for a=2:1:256%计算均衡后的灰度值
    S(a)=S(a-1)+255*P(a);
end

for b=1:1:256%四舍五入
    if S(b)-floor(S(b))-0.5>=0
        S(b)=floor(S(b))+1;
    else if S(b)==0
        S(b)=S(b);
        else
        S(b)=floor(S(b));
    end
    end
end
%原图像的灰度值替换为均衡后
for c=1:1:H
    for d=1:1:L
        for e=1:256
            if IM(c,d)==T(e)
                IM1(c,d)=S(e);
            end
        end
    end
end
end     

以5x5的矩阵为单位做局部直方图均衡

clc;
clear all;
close all;
IM=imread('Fig0308(a)(pollen).tif');
[H,L]=size(IM);
IM1=zeros(H,L);
A=zeros(5,5);%以5*5的小矩阵做直方图均衡
i=0;j=0;
while(j<=99)
    
while(i<=99)
        for a=1+5*i:5+5*i
        for b=1+5*j:5+5*j
            A(a-5*i,b-5*j)=IM(a,b);  
        end
        end
        IM1(a-4:a,b-4:b)=junheng(A);
        i=i+1;
end
        i=0;
        j=j+1;
end
IM1=uint8(IM1);
subplot(121)
imshow(IM);
% imhist(IM);
title('原图像');
subplot(122)
imshow(IM1);
% imhist(IM1);
title('局部直方图均衡后');  

            

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值