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


  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PCNN(Pulse Coupled Neural Network)是一种基于脉冲耦合神经网络的图像融合算法。它模拟了生物视觉系统中神经元的激发和抑制过程,具有较好的生物学可解释性。 PCNN图像融合的代码实现一般包括以下几个步骤: 1. 导入所需的库和模块:首先,需要导入一些常用的图像处理库和模块,例如OpenCV、NumPy和Matplotlib等。这些库和模块可以帮助我们进行图像读取、处理和显示等操作。 2. 读取待融合的图像:通过使用OpenCV库的函数,可以读取待融合的图像并存储在内存中。 3. 图像预处理:对读取到的图像进行预处理,例如将图像转换为灰度图像,去除图像中的噪声等。这个过程可以使用OpenCV中的函数来实现。 4. 计算融合图像的激发指数:根据PCNN算法的原理,需要计算输入图像的激发指数。这个指数可以通过对图像进行卷积操作得到,以模拟脉冲的传播过程。 5. 计算融合图像:通过将计算得到的激发指数进行阈值处理,可以得到融合图像。阈值的选择需要根据具体的应用场景进行确定。 6. 显示融合结果:最后,使用Matplotlib库中的函数,可以将融合的图像显示在屏幕上,以供观察和分析。 需要注意的是,PCNN图像融合算法有许多不同的改进和变种,不同的代码实现可能会有所不同。所以在编写代码时,需要参考相关的研究文献和资料,以确保代码的正确性和有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值