利用改进哈里斯鹰优化算法对脑部MRI图像进行分割研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


💥1 概述

在医学领域,当数字图像被用于疾病诊断时,分割是一项基本要求,特别是在后续的分析和疾病识别任务中。对于放射科医生来说,对脑磁共振图像(MRI)进行高效的分割非常重要,因为这些图像的亮度较差,并且存在与图像采集相关的其他条件。阈值分割是一种常用的方法,它利用图像的直方图将不同均匀组的像素标记为不同类别。然而,计算成本随着阈值数量的增加而呈指数增长。在本文中,我们使用进化元启发式方法进行多级阈值分割。这是Harris Hawks Optimization(HHO)算法的改进版本,它结合了混沌初始化和利他主义概念。此外,对于适应度分配,我们使用混合目标函数,除了交叉熵最小化外,还应用了新的熵函数,并将权重分配给两个目标函数以形成新的混合方法。HHO最初设计用于解决数值优化问题。先前的统计结果和比较已经证明,与成熟的元启发式技术相比,HHO提供了非常有前途的结果。在本文中,利他主义已被纳入HHO算法以增强其开发能力。我们使用哈佛医学院WBA数据库的10个基准图像和Brainweb数据集的8个基准图像,使用一些标准评估指标对所提出的方法进行评估。在哈佛WBA数据集上,使用5个阈值达到了26.61的峰值信噪比(PSNR)和0.92的结构相似性指数(SSIM)。对于相同的场景,使用Brainweb数据集获得了24.77的PSNR和0.86的SSIM。所获得的结果证明了所提出方法与现有最先进方法和基准方法相比的优越性。

📚2 运行结果

部分代码:

%% File for results
date = datestr(datetime('now','Format','dd-MM-yyyy'));
namexc = strcat(Alg_name,'_Mth_',date(1:11),'.xlsx');
titles = {'BstFit','Bstsol','PSNR','SSIM','FSIM','UIQI','QILV','HPSI','Time'};
%xlswrite(namexc,titles,1,'A1')
fprintf("%s", namexc);
%show figs  
flagx = 1;

%% Gray-level values
MinValue = 1;
MaxValue = 256;

% Thresholds levels
num_thr = [2,3,4,5];
ThNum = numel(num_thr);

%% Magnetic Resonance image matrix 
load('Harvard_MRI.mat')
names = {'h22','h42','h62','h82'};
%names={'h22'};

MR_Images = numel(names); 

for I = 1:MR_Images
    nut=cell2str(names(1,I));
    nut = nut(3:5);
    fprintf(' \n\n----- Image = %s -----\n', nut)
    fil = 1;
    dataBest = cell(1*ThNum, 17);
    Im = eval(cell2mat(names(1, I)));
    
    for thr = num_thr
        T=num2str(thr);
        fprintf(' \nThreshold = %s', T)
        levels = thr;
        itermax = 1000;
        TempVSolu = 0;

        %% Result Vector
        BestFitStore = []; % Best Fitness vector
        BestSolStore = []; % Best Solution vector
        PSNRvect = [];
        FSIMvect = [];
        SSIMvect = [];
        UIQIvect = [];
        QILVvect = [];
        HPSIvect = [];
        TimeVect = [];
    
        for k=1:num_runs
            %=HHO(pop, itermax, lb, ub, levels+1, Im)
            %[BestFitt, temmmmp, BestSolu, metrics, time, Iout] = lshade(pop, levels+1, itermax, MinValue, MaxValue, Im);
            %return
            %pop+2
            [BestFitt, BestSolu, metrics, time, Iout] = HHO(pop, itermax, MinValue, MaxValue,levels+1, Im);
            %function [bsf_fit_var, converH, bsf_solution, metrics, time, Iout] = lshade(SearchAgents_no, problem_size=dims, Max_iter, lb, ub, Im)
            %          Rabbit_Energy,NULL, Rabbit_Locn, metrics, time, Io 

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

Rajarshi Bandyopadhyay   , Rohit Kundu , Diego Oliva   , Ram Sarkar 

🌈4 Matlab代码、数据、文章

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值