【图像分割】基于meanshift实现色盲图像分割含Matlab源码

网友投稿 425 2022-09-08


【图像分割】基于meanshift实现色盲图像分割含Matlab源码

1 简介

图像的分割技术指的是将图像分成具有各种特殊性质的区域并且将感兴趣的目标提取出来的技术和过程.Mean Shift算法是一种十分有效的聚类迭代的算法,能够在多种特征空间分析的相关领域得到应用,其中就包括图像的分割.实验的研究对象是处理视觉图像的分割,用扩展形式的Mean Shift算法来解决视觉图像的分割问题,获得了较好的成效.Mean Shift图像分割的算法由图像的滤波步骤及图像的合并步骤组成.色度域带宽,空域带宽以及最小区域的限制这3个重要参数控制着最终的图像分割效果.

2 部分代码

close all;clear all;clc;%读取图片imagefile='242';%文件名image=imread(strcat('imag\',imagefile,'.jpg'));% imshow(image);I=rgb2gray(image);[m,n]=size(I);nThreshold=10;th1=1e-4;th2 = 4e-4;Phigh = m*n/5;Plow = m*n/20;BW=edge(I,'canny',0.05);CMP = sum(sum(BW));if CMP>Plow & CMPn MS_image=MSfilter(I'); MS_image=MS_image';else MS_image=MSfilter(I); endnew_image = zeros(m,n,3);% 下面进行图像的分隔。即将簇中数量小于M值点删除[pUnRegion,region_index_sum,region_index_n,region_index_cx,region_index_cy,region_index_blen,region_index] = meanshiftseg(MS_image,nThreshold);%进行聚簇region_index_W = zeros(1,region_index);for i=1:m for j=1:n if BW(i,j) temp = 0;min_dis = inf; for k=1 : region_index distance = sqrt((i-region_index_cx(k))^2 + (j-region_index_cy(k))^2); if distance < min_dis temp = k;min_dis = distance; end end region_index_W(temp) = region_index_W(temp) + 1; end endendfor i=1:m for j=1:n temp=pUnRegion(i,j); if temp~=0 & region_index_W(temp)/region_index_n(temp)>th1 & region_index_W(temp)/region_index_blen(temp)>th2 new_image(i,j,:) = image(i,j,:); end endendelse new_image = image;endfigure;imshow(uint8(new_image));

3 仿真结果

4 参考文献

[1]戴海涛, 唐作其, 张正平. 基于MeanShift聚类的图像分割研究[J]. 通信技术, 2011, 44(12):4.

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

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【图像融合】基于小波变换实现CTI与MRI医学图像融合含Matlab源码(小波变换图像融合matlab实例)
下一篇:SpringSecurity自定义AuthenticationProvider无法@Autowire的解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~