赞
踩
你好,我有下面的图片分割问题.这是需要识别的有色人物.我正在使用锐化,维纳去模糊和维纳平滑.之后,我用模糊c分割图片意味着聚类(3级).但是在字母E的情况下,我得到的最好的是没有锐化,去模糊和平滑,只是使用阈值fcm分割.然而,我应该得到比这更好的结果,在那里我可以将这两个部分作为一个整体组合(不仅仅是上部白色部分而另一半是黑色部分).
我怎么能解决这个问题更强大,并与其他图像一起工作,例如图片中的5? 5的结果是在fcm聚类之上进行锐化,去抖和平滑.我怎么能让它更加连接呢?
我真的很感激我能得到的任何帮助,拜托,哦,我在matlab中这样做…所以从那里得到任何帮助会很高兴,谢谢!
编辑:
我的以下代码是这样的:
函数[bw,level] = fcmthresh(IM,sw)
if(nargin< 1)
错误(‘你必须提供图像.’);
elseif(nargin == 1)
SW = 0;
elseif(sw~ = 0&& sw~ = 1)
错误(‘sw必须为0或1’);
结束
data=reshape(IM,[],1);
[center,member]=fcm(data,3);
[center,cidx]=sort(center);
member=member';
member=member(:,cidx);
[maxmember,label]=max(member,[],2);
if sw==0
level=(max(data(label==1))+min(data(label==2)))/2;
else
level=(max(data(label==2))+min(data(label==3)))/2;
end
bw=im2bw(IM,level);
function img=wienerDeblur(im)
ImgNoisyBlurry = im2double(im);
PSF = fspecial('laplacian'); %LEN, THETA add parameters for 'motion'
noise_var = 0.0001; %0.0001
estimated_nsr = noise_var / var(ImgNoisyBlurry(:));
wnr3 = deconvwnr(ImgNoisyBlurry, PSF, estimated_nsr);
img = wnr3;
end
H = fspecial('unsharp');
im = imfilter(im,H,'replicate');
im = wienerDeblur(im);
im = wienerSmoothing(im);
这是所有的代码,加上我只使用字母E的fcmthres,因为它是最好的.
我读到了关于形态学图像处理(扩张,侵蚀)的信息,因此也许可以做到这一点.
有没有更好的图像对比和噪音去除技术?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。