【图像分割】基于布谷鸟算法实现二维Tsallis熵、kapur、oust多阈值图像分割附matlab代码

简介: 【图像分割】基于布谷鸟算法实现二维Tsallis熵、kapur、oust多阈值图像分割附matlab代码

1 内容介绍

本文介绍了一种基于布谷鸟算法的多级阈值(MT)算法。布谷鸟优化算法[CuckooSearch (CS)],也叫杜鹃搜索,是智能算法的其中一种,于2009年由剑桥大学Xin-SheYang和DEBSuash提出。CS算法是一种新颖的群体智能算法,其通过模拟某些种属布谷鸟的寻窝产卵的行为来有效地求解最优化问题。提出基于改进布谷鸟搜索算法的二维Tsallis熵、kapur、oust多阈值图像分割方法

2 仿真代码


function [Iout,bestnest,fmax,time]=CSMC_tsallis(n)

tic;

if nargin<1,

% Number of nests (or different solutions)

n=25;%(i.e cuckoos( new solution) can lay eggs in any of these n nest)

end

 

% Discovery rate of alien eggs/solutions

pa=0.5;%(how well the host birdscan detect alian eggs)

 

%% Change this if you want to get better results

N_IterTotalR=100;

N_IterTotalG=100;

N_IterTotalB=100;

 

%Data

I=imread('rice.png');

% I=rgb2gray(I);

Lmax= 255;

Nt=size(I,1)*size(I,2);

%% Simple bounds of the search domain

nd=5;% number of thresholds required

 


 

if size(I,3)==1 %grayscale image

   [n_countR,x_valueR] = imhist(I(:,:,1));

elseif size(I,3)==3 %RGB image

   [n_countR,x_valueR] = imhist(I(:,:,1));

   [n_countG,x_valueG] = imhist(I(:,:,2));

   [n_countB,x_valueB] = imhist(I(:,:,3));

end

 

%PDF

for i=1:Lmax

   if size(I,3)==1 %grayscale image

       probR(i)=n_countR(i)/Nt;

   elseif size(I,3)==3 %RGB image    

       probR(i)=n_countR(i)/Nt;

       probG(i)=n_countG(i)/Nt;

       probB(i)=n_countB(i)/Nt;

   end

end

 

3 运行结果

4 参考文献

[1]吴禄慎, 程伟, 胡赞. 应用改进布谷鸟算法优化多阈值图像分割[J]. 吉林大学学报:工学版, 2021.

[2]朱浩亮, 李光平. 基于改进布谷鸟搜索算法的图像分割[J]. 计算机工程与设计, 2018, 39(5):6.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
6月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
737 0
|
6月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
306 8
|
6月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
308 8
|
6月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
613 0
|
6月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
213 0
|
6月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
227 0
|
6月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
260 8
|
6月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
347 8
|
6月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
503 12
|
6月前
|
人工智能 数据可视化 网络性能优化
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
220 9

热门文章

最新文章

下一篇
开通oss服务