PCNN(3)图像增强

        图像增强即增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

        分为两个方向:

1.去噪,去掉噪声,常见的有中值滤波,还有频率域滤波,使得图像接近于真实图像。

2.边缘化,使得图像轮廓更突出,可以看做边缘检测,使得目标轮廓更明显,做分类,识别。

        以下源码采用PCNN原理进行边缘增强。.

[p,q]=size(I);
%初始化相关参数
alpha_L=0.06931;
alpha_Theta=0.05;
beta=0.2;
vL=1.00;
vTheta=200;%连接幅度因子
np=700000;%阈值幅度因子
%初始化所有用到的矩阵
EnhImage=zeros(p,q);
L=zeros(p,q);
U=zeros(p,q);
Y=zeros(p,q);
Y0=zeros(p,q);
%突触联接权系数矩阵W
W=[0.1091 0.1409 0.1091;...
    0.1409 0 0.1409;...
    0.1091 0.1409 0.1091];
%实现PCNN图像增强
Bri=max(I(:));%灰度图像中最亮的像素的灰度值
La=[-1 -1 -1;-1 8 -1;-1 -1 -1];%;拉普拉斯算子
Theta=Bri-conv2(I,La,'same');
F=I;
for n=1:np
    K=conv2(Y,W,'same');
    L=exp(-alpha_L)*L+vL*K;
    Theta=exp(-alpha_Theta)*Theta+vTheta*Y;
    U=F.*(1+beta*L);
    Y=im2double(U>Theta);
    EnhImage=(log(Bri)-(n-1)*alpha_Theta).*Y;
    Y0=Y0+EnhImage;
    if any(Y(:))==0
        fprintf('第%d次迭代后没有火点了.\n',n);
        break;
    end    
end
PCNN(3)图像增强_第1张图片

你可能感兴趣的:(PCNN(3)图像增强)