你好,我有以下图片分割的问题。它是需要被识别的有色字符。我正在使用锐化,维纳去模糊和维纳平滑。之后,我用模糊c均值聚类(3级)分割图片。但是在字母E的情况下,我得到的最好的结果是没有锐化,去模糊和平滑处理,只是使用阈值fcm分割。但是,我应该得到比这更好的结果,我可以将这两部分整体结合起来(不仅仅是上半部分与另一半黑色部分)。图像降噪OCR
我怎么能解决这个问题,以更强大的和其他图像也工作,例如图片中的5? 5的结果是在fcm集群之上进行锐化,减弱和平滑处理。我怎么能让它更连接也许?
我真的很感激任何帮助,我可以得到,拜托,哦,我在matlab中这样做...所以它会很高兴从那里得到任何帮助,谢谢!
编辑:
我下面的代码是这样的: 函数[BW,电平] = fcmthresh(IM,SW) 如果(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);
这就是所有的代码,加上我只用fcmthres字母E,因为它的工作原理是最好的。 我读了关于形态图像处理(膨胀,侵蚀),以便可能做的伎俩。
有没有更好的图像对比和噪音去除技术?
您现在的工作代码是什么? – 2012-07-30 07:01:06
我会首先检测背景颜色反转区域,并将图像的所有部分转换为相同的背景(通过反转一半),然后开始分割和过滤... – Spektre 2015-05-19 08:05:40