1 原始代码【matlab】
i=handles.noise_img;
if isrgb(i)
a=handles.noise_img(:,:,1);
b=handles.noise_img(:,:,2);
c=handles.noise_img(:,:,3);
k(:,:,1)=wiener2(a,[5,5]);
k(:,:,2)=wiener2(b,[5,5]);
k(:,:,3)=wiener2(c,[5,5]);
imshow(k);
2.1 图像增强
针对现场生产环境复杂、生产车间内存在各种干扰的问题,在分析图像前,必须对获取的图像进行预处理,截取ROI区域,提高图像的质量,使其更适于后续算法的分析和处理。本文首先截取图像的ROI区域,针对图片明暗分布不均、图像细微处对比度低的问题,采用对比度受限的自适应直方图均衡化方法(CLAHE)[5]对图像进行增强。传统直方图均衡化是在图像全局增强对比度,它对数据的处理不加选择,由于本系统采集的图像常会出现部分区域对比度较好,部分较差,CLAHE算法更适用于对比度不均的情况,CLAHE在增强对比度的同时能抑制图像的噪声,可以更好地突出图像的细节,以下为算法具体流程:
(1)图像分割:将ROI区域分成M行N列的图块,分割数量根据图像特点而定,假设每个图块区域大小为(a,b)。
(2)计算灰度阈值:计算每个图块的直方图,将直方图的灰度级标记为r,可能出现的灰度级个数为K,每个图块直方图函数为Hm,n(r),0≤r≤K-1。通过以下方法得到灰度阈值β。