【图像分割】粒子群优化指数熵图像分割【含Matlab源码 287期】

⛄一、图像分割简介

理论知识参考:【基础教程】基于matlab图像处理图像分割【含Matlab源码 191期】

⛄二、部分源代码

%%无递推
clc;
clear;
C=imread(‘1.jpg’);
C=rgb2gray©;
%C=imnoise(C,‘gaussian’,0,0.005);
figure
subplot(1,2,1)
imshow©
tic
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%确定基本粒子群算法的迭代次数和粒子个数
Iter =80;
global popsize
popsize = 12; %%粒子个数
global dimsize
dimsize=3; %%粒子维数

%初始化基本粒子群优化算法的参数
Wmax = 0.9; %最大惯性因子
Wmin = 0.1; %最小惯性因子
c1 = 2.0; %个体学习因子
c2 = 2.0; %群体学习因子
xmax = 254; %粒子允许的最小位置
xmin = 2;
speedmax=10;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%初始化
for k1=1:popsize
for i=1:popsize
Xpop(i,1:dimsize)= unifrnd(xmin,xmax,1,dimsize);
%pop(i,1:dimsize)=[ unifrnd(xmin,85), unifrnd(85,170),unifrnd(170,255)]; %%三阈值
%Xpop(i,1:dimsize)=unifrnd(2,254,1,dimsize); %%两阈值
end
for j=1:popsize
toc
% t=toc-tic;
%写入最终结果图
[m,n]=size©;
z=zeros(m,n);
% percentege=0;
for i=1:m
for j=1:n
if C(i,j)<=round(gBest(1))-1
z(i,j)=0;
elseif C(i,j)<=round(gBest(2))-1
z(i,j)=75;
elseif C(i,j)<=round(gBest(3))-1
z(i,j)=175;
else
z(i,j)=255;
% percentege=percentege+1;
end
end
end
z=z/255;
subplot(1,2,2);
imshow(z);

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]赵勇,方宗德,庞辉,王侃伟.基于量子粒子群优化算法的最小交叉熵多阈值图像分割[J].计算机应用研究. 2008,(04)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

你可能感兴趣的:(Matlab图像处理(进阶版),matlab,图像处理,开发语言)