资源简介
改程序是蚁群优化方法进行图像分割的程序,对普通图像跟MRI图像进行测试,效果理想!
代码片段和文件信息
%close all
clear all;clc
h=helpdlg(‘按左键选择分割区域双击‘);
uiwait(h)
%程序中对图像特征最敏感的两个参数
%T=5;%邻域特征的域值,决定聚类中心的一个关键参数
r=300;%归为该聚类中心的最小距离
prompt={‘最大循环次数:‘‘邻域灰度阈值:‘};
name=‘蚁群聚类分割‘;
numlines=1;
defaultanswer={‘10‘‘10‘};
options.Resize=‘on‘;
options.Windowstyle=‘normal‘;
options.Interpreter=‘tex‘;
itermax1=inputdlg(promptnamenumlinesdefaultansweroptions);
itermax=str2num(itermax1{1});
T=str2num(itermax1{2});
%itermax=10; %
%load aa;%aa.mat里面储存了一幅灰度图象的矩阵数据
%bb=imcrop(bb);%从该图像中选中一块矩形区域,程序对选中区域进行处理,这样可以减少运行时间
%[xmap]=imread(‘Dorsal 10.4.gif‘);%这几句读入索引类型的图象
%grayimg=ind2gray(xmap);%把索引类型图像转换为灰度图象
dicom1=dicomread(‘33091247‘);
grayimg=dicom2gray(dicom1);
%grayimg=imadjust(dicom1);
figure;imshow(grayimg)
%grayimg=imresize(grayimg0.5);%把图片缩小为原来大小的0.5倍
%figure;imshow(grayimg);%把读入的图片显示出来
set(gcf‘outerposition‘get(0‘screensize‘));%设置figure全屏显示
[ffimgrect]=imcrop(grayimg);
set(gcf‘outerposition‘get(0‘screensize‘));%设置figure全屏显示
title(‘原始图像‘);
%h1 = zoom;
%set(h1‘Enable‘‘on‘)
%figure;
%imshow(ffimg);
%w8=[111;1-81;111];
%ffimg=ffimg-imfilter(ffimgw8‘replicate‘);
%ffimg=grayimg;
%ff=imread(‘LENA256.BMP‘);%读入另一幅灰度图象对算法进行效果测试
%ffimg=imread(‘cameraman.tif‘);%处理256*256的图片
%ffimg=imresize(ffimg0.5);
%cannyedgeimg=edge(ff‘canny‘);%对读入的待处理灰度图象进行canny边缘检测
%figure;imshow(cannyedgeimg)%显示边缘检测输出的二值边缘图像
%width=70;%设定一个正方形的区域的边长
%另一种选取图像中一个正方形区域的方法
%ff=ff(floor(a/2)-width:floor(a/2)+width-1floor(b/2)-width:floor(b/2)+width-1);
%[ab]=size(ff);%输出图像的大小
%figure;imshow(ff);%显示待分割的图像
ff=double(ffimg);%把图像数据类型由unit8转化为double类型,便于后面进行数值处理
ff = medfilt2(ff);%进行中值滤波处理,效果比原来在连续性这一点上要好
%figure;imshow(uint8(ff));
%w1=fspecial(‘laplacian‘);w2=w1‘;%采用拉普拉斯梯度算子
%w1=fspecial(‘log‘3);w2=w1‘;%采用log梯度算子
%w1=fspecial(‘prewitt‘);w2=w1‘;%采用prewitt梯度算子
w1=[-1-2-1;000;121];w2=[-101;-202;-101];%采用sobel梯度算子
g=sqrt(imfilter(ffw1).^2+imfilter(ffw2).^2);%计算梯度图像
gmax=max(sum(g(:3:size(ff2)-2)))/(size(ff1)-4);%取出最大梯度列的均值 注意: 由于边界采用了人为填充所以剃度很大应该忽略
fp=padarray(ff[11]‘replicate‘‘both‘);%对边界进行填充 目的是为了进行3*3的8邻域特征提取
for i=2:size(ff1)+1
for j=2:size(ff2)+1
a=[ fp(i-1j-1) fp(i-1j) fp(i-1j+1);fp(ij-1) fp(ij) fp(ij+1); fp(i+1j-1) fp(i+1j) fp(i+1j+1)];
ne(i-1j-1)=length(find((a-fp(ij)) end
end
%下面是测试ne中小于等于6对应的图象中的点所组成的图像边缘
% as1=size(ff1);as2=size(ff2);
% m=zeros(as1as2);
% m=reshape(m1as1*as2);
% m(find(ne<=5))=1;
% m=reshape(mas1as2);
% figure;imshow(m)
% 初始化聚类中心
f=reshape(ff1size(ff1)*size(ff2));
h=hist(f256);%灰度直方图图象点统计
counter=0;%计算出灰度直方图上的极大值点,以它们作为聚类中心
for i=2:length(h)-1
if h(i-1)<=h(i)&h(i)>=h(i+1)
counter=counter+1;
V(counter)=i;
end
end
h1=sum(h(V))/length(h(V));%取整体均值作为区分背景目标与边缘的区域值,即像素数远远大于该整体均值的灰度作为背景或者目标的灰度特征
h2=sum(h(find(h(V) for i=1:counter
if h(V(i))>5*h1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10878 2009-06-04 15:23 LCL_ANT_COLONY\Colony_partition\Automatic\ACO_edge_detection.m
文件 118946 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\Automatic\Dorsal 10.4.gif
文件 215 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\Automatic\fname.mat
文件 8356 2009-05-21 19:30 LCL_ANT_COLONY\Colony_partition\Automatic\waitbar.m
文件 3431 2009-05-22 12:31 LCL_ANT_COLONY\Colony_partition\Automatic\drawedgelist.m
文件 7646 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\Automatic\edgeli
文件 189886 2009-05-20 10:53 LCL_ANT_COLONY\Colony_partition\Automatic\33091247
文件 267 2009-05-24 22:45 LCL_ANT_COLONY\Colony_partition\Automatic\a_dicom.m
文件 501 2009-05-25 17:02 LCL_ANT_COLONY\Colony_partition\Automatic\dicom2gray.m
文件 118946 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\FCM\Dorsal 10.4.gif
文件 41 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\FCM\fdd.m
文件 8217 2009-05-20 17:43 LCL_ANT_COLONY\Colony_partition\FCM\waitbar.m
文件 8572 2009-06-04 15:28 LCL_ANT_COLONY\Colony_partition\FCM\MYFCM.m
文件 4040 2009-05-20 17:43 LCL_ANT_COLONY\Colony_partition\FCM\fcm.m
文件 189886 2009-05-20 10:53 LCL_ANT_COLONY\Colony_partition\FCM\33091247
文件 3388 2009-05-25 08:29 LCL_ANT_COLONY\Colony_partition\FCM\nlfilter.m
文件 376 2003-01-26 01:00 LCL_ANT_COLONY\Colony_partition\FCM\mkconstarray.m
文件 3329 2009-05-25 08:55 LCL_ANT_COLONY\Colony_partition\FCM\rand.asv
文件 8395 2009-05-30 09:28 LCL_ANT_COLONY\Colony_partition\FCM\MYFCM.asv
文件 41938 2009-05-30 09:31 LCL_ANT_COLONY\Colony_partition\FCM\lcl.mat
文件 118946 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\Semi-automatic\Dorsal 10.4.gif
文件 3472 2009-05-22 12:55 LCL_ANT_COLONY\Colony_partition\Semi-automatic\drawedgelist.m
文件 7646 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\Semi-automatic\edgeli
文件 2601 2009-05-22 09:09 LCL_ANT_COLONY\Colony_partition\Semi-automatic\edge_li
文件 9515 2009-05-20 17:38 LCL_ANT_COLONY\Colony_partition\Semi-automatic\source_MY_ACO_edge_detection.gif
文件 8217 2009-05-21 08:33 LCL_ANT_COLONY\Colony_partition\Semi-automatic\waitbar.m
文件 500 2009-05-22 08:41 LCL_ANT_COLONY\Colony_partition\Semi-automatic\READ ME.txt
目录 0 2009-11-12 10:17 LCL_ANT_COLONY\Colony_partition\Automatic
目录 0 2009-11-12 10:17 LCL_ANT_COLONY\Colony_partition\FCM
目录 0 2009-11-12 10:17 LCL_ANT_COLONY\Colony_partition\Semi-automatic
............此处省略5个文件信息
- 上一篇:查询乘客的航班目的地xquery
- 下一篇:混合粒子群和引力搜索算法代码
相关资源
- FT频率调谐法的图像显著性检测,并对
- 改进的蚁群算法及其在TSP中的应用研
- SPM8安装与FMRI预处理流程
- 基于模糊c聚类的图像分割
- 蚁群算法资料:蚁群算法工具箱
- Qt编写视频监控画面分割界面
- 利用snake算法实现数字图像的边缘检测
- 基于阈值分割的车牌定位识别
- 基于Chan-Vese模型图像分割算法代码
- openCV中grabcut图像分割函数使用VS2017
- \\基于TSP问题的蚁群算法优化及并行策
- 基于区域生长的图像分割
- stm32F4图像使用迭代阈值法分割图像
- 蚁群算法的轨迹优化基于蚁群算法的
- KML 文件分割
- 基于em算法的图像分割报告
- 基于区域的分裂合并图像分割方法
- windows_nginx_log 日志分割
- TSP的各种算法遗传、蚁群,禁忌搜索
- 新型的图像分割方法综述
- 基于区域内一致性和区域间差异性的
- 静态图像目标分割算法
- 基于蚁群算法的海洋工程群项目资源
- 深度学习 脑部图像分割
- 自动分割CT肺组织的论文
- 机械臂避障路径规划仿真 蚁群算法
- 论文研究-基于改进的Chan-Vese模型与边
- 论文研究-结合超体素和区域增长的植
- 基于最大熵的图像分割
- 蚁群时间窗.zip
评论
共有 条评论