资源描述
武汉理工大学《专业课程设计》说明书
课程设计任务书
学生姓名: 专业班级: 电信1205班
指导教师: 工作单位: 信息工程学院
题 目:基于图像处理方法的液晶显示器表面缺陷检测设计
初始条件:
具备专业课程数字图像处理的理论知识;具备液晶显示器表面缺陷的设计能力;掌握数字图像的设计知识;自选相关电子器件;可以使用实验室仪器调试。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
(1)选择液晶显示屏有缺陷的图像作为分析对象,或自行模拟相应图像,缺陷种类应至少包括点缺陷、线缺陷;
(2)完成液晶屏图像表面缺陷的图像预处理,包括图像滤波等;
(3)完成图像的分割、边缘提取和目标提取等;
(4)完成图像的特征提取和识别实现;
(5)给出相应程序,并给出每一步的仿真处理结果及分析。
时间安排:
十九周一周,其中3天设计,2天调试
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
摘要
随着科技的发展,信息显示技术在人们生活中的作用与日俱增,液晶显示屏也因其体积小、重量轻、功耗低、高分辨率、高亮度和无几何变形诸多特点被广泛应用。但在液晶显示器的生产过程中,由于工艺及环境的原因可能导致液晶显示屏的显示缺陷,包括点缺陷、线缺陷和面缺陷。而液晶显示屏缺陷检测作为生产过程中的重要环节,目前多采用人工检测方法。人工检测不仅存在主观性、标准难以统一等弱点,且占用大量人力、物力资源。因此,本课程设计主要基于数字图像处理方法的液晶显示器表面缺陷检测设计以期望实现快速、规范、低成本的自动识别系统。
关键词:液晶显示屏 显示缺陷 数字图像处理方法 自动识别系统
目 录
1 概述…………………………………………………………………………………1
1.1 液晶显示屏及其显示缺陷简介………………………………………………1
1.2 数字图像处理简介……………………………………………………………1
2 系统设计方案及其原理……………………………………………………………3
2.1 设计任务及要求………………………………………………………………3
2.2 设计原理 ……………………………………………………………………3
3 源程序 ……………………………………………………………………………6
3.1 简易程序 ……………………………………………………………………6
3.2 繁琐程序 ……………………………………………………………………8
4 仿真结果及分析 …………………………………………………………………14
4.1 点缺陷仿真结果 ……………………………………………………………14
4.2 线缺陷仿真结果 ……………………………………………………………16
4.3 面缺陷仿真结果 ……………………………………………………………18
4.4 仿真结果分析 ……………………………………………………………20
5 心得体会 …………………………………………………………………………21
参考文献 ……………………………………………………………………………22
本科生成绩评定表 …………………………………………………………………23
1. 概述
1.1 液晶显示屏及其显示缺陷简介
21世纪是一个信息的时代,信息显示技术在人们社会活动和日常生活中
的作用日益剧增。例如,信息处理、接受及发送等操作均借助于信息系统终端设
备与人之间的界面——显示来完成。LCD一般代指薄膜液晶显示器,是利用液晶的特性“主动的”对屏幕上的各个独立的象素进行控制,以达到成像目的一种终端显示设备。图像产生的基本原理很简单:显示屏由许多可以发出任意颜色的光线的点组成,只要控制各个点显示相应的颜色就能达到目的了。他不仅具有高分辨率、高亮度和无几何变形等诸多优点外,还具有体积小、重量轻和功耗低等特点。因此,被广泛应用于数码照相机、数码摄像机、车载显示器、桌上显示器、笔记本电脑和液晶电视等几乎所有的显示器领域。
在液晶显示器的生产过程中,由于工艺及环境的原因可能导致液晶显示屏的显示缺陷,常见的TFT-LCD屏显示缺陷包括点缺陷、线缺陷和面缺陷。点缺陷主要是单个TFT失效引起的,线缺陷则主要是由于驱动IC与屏连接不良所致。面缺陷是与点、线两种缺陷完全不同类型的缺陷,它无同定的形状和尺寸,必须在暗室下为TFT-LCD提供特定的背景亮度才能够将其辨认,产生面缺陷的原因有:液晶分子配向不均匀,TFT漏电不均匀和背光源发光不均匀等。这些显示缺陷的产生对显示器的显示造成了很大的干扰,对日常生活、生产有不小的负面影响。
1.2 数字图像处理简介
数字图像处理(DigitalImageProcessing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。图像处理工具箱提供一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可用其对有噪图像或退化图像进行去噪或还原、增强图像以获得更高清晰度、提取特征、分析形状和纹理以及对两个图像进行匹配。工具箱中大部分函数均以开放式 MATLAB 语言编写。这意味着可以检查算法、修改源代码和创建自定义函数。图像处理工具箱在生物测定学、遥感、监控、基因表达、显微镜技术、半导体测试、图像传感器设计、颜色科学及材料科学等领域为工程师和科学家提供支持。它也促进了图像处理技术的教学。
数字图像处理的优点主要表现在以下几个方面:
1. 再现性好数字图像处理与模拟图像处理的根本不同在于,它不会因图像的存储、传输或复制等一系列变换操作而导致图像质量的退化。只要图像在数字化时准确地表现了原稿,则数字图像处理过程始终能保持图像的再现。
2.处理精度高按目前的技术,几乎可将一幅模拟图像数字化为任意大小的二维数组,这主要取决于图像数字化设备的能力。现代扫描仪可以把每个像素的灰度等级量化为16位甚至更高,这意味着图像的数字化精度可以达到满足任一应用需求。对计算机而言,不论数组大小,也不论每个像素的位数多少,其处理程序几乎是一样的。换言之,从原理上讲不论图像的精度有多高,处理总是能实现的,只要在处理时改变程序中的数组参数就可以了。回想一下图像的模拟处理,为了要把处理精度提高一个数量级,就要大幅度地改进处理装置,这在经济上是极不合算的。
3.适用面宽图像可以来自多种信息源,它们可以是可见光图像,也可以是不可见的波谱图像(例如X射线图像、射线图像、超声波图像或红外图像等)。从图像反映的客观实体尺度看,可以小到电子显微镜图像,大到航空照片、遥感图像甚至天文望远镜图像。这些来自不同信息源的图像只要被变换为数字编码形式后,均是用二维数组表示的灰度图像(彩色图像也是由灰度图像组合成的,例如RGB图像由红、绿、蓝三个灰度图像组合而成)组合而成,因而均可用计算机来处理。即只要针对不同的图像信息源,采取相应的图像信息采集措施,图像的数字处理方法适用于任何一种图像。
4.灵活性高图像处理大体上可分为图像的像质改善、图像分析和图像重建三大部分,每一部分均包含丰富的内容。由于图像的光学处理从原理上讲只能进行线性运算,这极大地限制了光学图像处理能实现的目标。而数字图像处理不仅能完成线性运算,而且能实现非线性处理,即凡是可以用数学公式或逻辑关系来表达的一切运算均可用数字图像处理实现。
2. 系统方案设计及其原理
显示缺陷的产生对显示器的显示造成了很大的干扰,对日常生活、生产有不小的负面影响。所以,对于显示缺陷的检测是非常重要的。目前对缺陷的检测主要依靠人工,为了提高检测效率及准确性,研制有效的液晶屏自动检测系统十分必要。鉴于数字图像处理的便捷性、可操作性、简单易行性以及本次设计的内容及目的是检测显示图像缺陷的自动检测,所以本次对于液晶显示器显示缺陷的自动检测系统采用基于数字图像处理的方式来设计。
2.1设计任务及要求:
(1)选择液晶显示屏有缺陷的图像作为分析对象,或自行模拟相应图像,缺陷 种类应至少包括点缺陷、线缺陷;
(2)完成液晶屏图像表面缺陷的图像预处理,包括图像滤波等;
(3)完成图像的分割、边缘提取和目标提取等;
(4)完成图像的特征提取和识别实现;
(5)给出相应程序,并给出每一步的仿真处理结果及分析。
2.2设计原理:
本次设计由于是要自动检测出显示图像的缺陷,于是采取的方案是将图像先进行中值滤波预处理,然后通过选取阈值为灰度的平均值加常数h=10~15对图像进行二值化处理,之后再通过帧运算过滤噪声、数学形态滤波去噪以及边缘处理等手段将缺陷目标提取出来。提取出的缺陷目标为白色,无缺陷的地方为黑色,这样就完成了将要检测的缺陷提取的目的。之后就是将提取的目标进行坐标定位,个数以及大小计算等,最后将结果打印出来。
2.2.1中值滤波法
中值滤波法是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值实现方法:1、通过从图像中的某个采样窗口取出奇数个数据进行排序;2、用排序后的中值取代要处理的数据即可。中值滤波法对消除椒盐噪音非常有效,在光学测量条纹图象的相位分析处理方法中有特殊作用,但在条纹中心分析方法中作用不大。中值滤波在图像处理中常用来保护边缘信息,是经典的平滑噪声的方法。
中值滤波的原理:中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个拎域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)}f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如圆形,十字形或者圆环形。
2.2.2图像二值化
图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。所有灰度大于或等于阈值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
图像的二值化的基本原理:图像的二值化处理就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。
2.2.3 边缘填充与区域提取
边缘改进全阈值对虽然可以有效的对图像进行缺陷与背景的分割,但同时也将会造成缺陷边缘的锐化与分离。原本是一个整体的缺陷部分边缘有部分单元与本体分开这将会对之后的区域识别与信息的提取造成错误。为确保对缺陷识别的准确性,需要对边缘进行填充以确保分割部分的完整性。对分割图像进行取反,使缺陷部分为 1 即白色部分,背景显示为黑色部分,先对图像进行边缘提取再进一步对边缘进行填充最后与原始图像叠加,完成对边缘的平滑与复原。
3. 源程序
3.1简易程序
a=imread('4.png');
bw=rgb2gray(a); %图像类型转换灰度
% imwrite(bw,'2.jpg');
figure(1);subplot(1,2,1);
imshow(a),title('数码采集到的图像');
subplot(1,2,2);
imshow(bw),title('转化后的灰度图');
bw1=medfilt2(bw);figure(2);%图像平滑
% subplot(2,2,1);
% imshow(bw1),title('原始图像');imshow(bw1),title('中值滤波的图像');
subplot(2,2,2);
% bw2=histeq(bw1); %图像增强
% figure(1);
% imshow(bw2),title('增强图像');
% figure(2);
% imhist(bw1),title('原始图像直方图');
% figure(3);
% imshow(bw2),title('直方图均衡图像');
% figure(4);
% imhist(bw2),title('均衡化图像直方图');
level = graythresh(bw1);
bw3=im2bw(bw1,level);
figure(3);
imshow(bw3),title('二值图像');
se = strel('disk', 3);
bw4=imerode(bw3,se);
figure(4);
imshow(bw4),title('腐蚀形态学滤波');
bw5=imdilate(bw4,se);
figure(5);
imshow(bw5),title('数学形态学滤波');
[l,m]=bwlabel(bw5,8);
status=regionprops(l,'BoundingBox');
for i=1:m;
hold on;
rectangle('position',status(i).BoundingBox,'edgecolor','r');
left=round(status(i).BoundingBox(1));
top=round(status(i).BoundingBox(2));
right=round(status(i).BoundingBox(1)+status(i).BoundingBox(3));
bottom=round(status(i).BoundingBox(2)+status(i).BoundingBox(4));
end;
if((status(i).BoundingBox(3)*status(i).BoundingBox(4))<1)
disp('无');
elseif ((status(i).BoundingBox(3)*status(i).BoundingBox(4))<150)
disp('点缺陷');
elseif (status(i).BoundingBox(3)/status(i).BoundingBox(4)>5||status(i).BoundingBox(4)/status(i).BoundingBox(3)>5);
if(status(i).BoundingBox(3)>status(i).BoundingBox(4))
disp('横线缺陷');
else
disp('纵线缺陷')
end;
else
disp('面缺陷');
end;
3.2繁琐程序
I=imread('1.png');%读取原始图片
I=rgb2gray(I);
J=medfilt2(I,[3,3]);%进行中值滤波
J=medfilt2(J,[3,3]);%进行中值滤波
J=medfilt2(J,[3,3]);%进行中值滤波
subplot(2,2,1),imshow(I),title('原图像');
subplot(2,2,2),imshow(J);title('中值滤波后图像');%显示中值滤波后图像
subplot(2,2,3),imhist(I),title('原图像的直方图');%显示原图像的直方图
subplot(2,2,4),imhist(J),title('中值滤波后图像的直方图');
%显示中值滤波后图像的直方图
%选取阈值为所有像素的灰度的平均值加常数h=10~15对图像进行二值化处理
%灰度值大于的为白色,小于的为黑色
J1=J;
J2=mean2(J)+15;
K=find(J<J2);
J(K)=mean2(J);
K=find(J>=J2);
J(K)=255;
figure,subplot(1,2,1),imshow(J),title('Binary Image');%显示二值化后图像
J3=mean2(J1)+10;
K=find(J1<J3);K=find(J1>=J3);
J1(K)=255;
subplot(1,2,2),imshow(J1),title('Binary Image');%显示二值化后图像
K1=bitand(J,J1);%位与
figure,imshow(K1),title('帧运算过滤噪声后图像');
%数学形态滤波
se=strel('square',3);%生成放心结构元素
K2=imerode(K1,se);%执行腐蚀
figure,imshow(K2);
K2=imdilate(K2,se);%执行膨胀
figure,imshow(K2),title('数学形态学滤波后图像');
J2=double(K1);
[m n]=size(J2); %图像的大小(长和宽)
s=0;c=0;k=1;
for i=1:m-1
for j=1:n-1
if J2(i,j)==255
s=s+1;a(k)=j;b(k)=i; k=k+1;
end
end
end
c=0;
if s==0
pt=sprintf('不存在缺陷');disp(pt)
else
if s/(7*2*n)>0.8
for i=1:n-1
if b(i+7+n)-b(i+n)==0
if a(i+1+n)-a(i+n)==1
if i==n-1
pt=sprintf('存在横向的线缺陷');disp(pt)
st=sprintf('线缺陷的面积S=%8.5f',n*7);disp(st)
at=sprintf('线缺陷的长度L=%8.5f',n);disp(at)
ct=sprintf('线缺陷的个数c=%8f',round(s/(7*n)));disp(ct)
for j=1:round(s/(7*n))
yt=sprintf('线缺陷的坐标y=%8.5f',b(1+7*n*(j-1))+3);disp(yt)
yt=sprintf('在液晶屏中线缺陷的坐标y=%8.5f',(b(1+7*n*(j-1))+3)/m*10*2);disp(yt)
end
end
end
end
end
else
if s/(7*2*m)>0.8
for k=1:round(s/(7*m))
for i=1:m-1
if a(i+7*k)-a(i)==0
if b(i+7*k)-b(i)==1
if i==m-1
pt=sprintf('存在纵向的线缺陷');disp(pt)
st=sprintf('线缺陷的面积S=%8.5f',m*7);disp(st)
at=sprintf('线缺陷的长度L=%8.5f',m);disp(at)
ct=sprintf('线缺陷的个数c=%8f',k);disp(ct)
for j=1:k
xt=sprintf('线缺陷的坐标x=%8.5f',a(1+7*(j-1))+3);disp(xt)
xt=sprintf('在液晶屏中线缺陷的坐标x=%8.5f',(a(1+7*(j-1))+3)/n*15*2);
disp(xt)
end
end
end
end
end
end
else
if s>n
for t=1:round(s/(7*m))
for i=1:m-1
if a(i+7*t)-a(i)==0
if b(i+7*t)-b(i)==1
if i==m-1
pt=sprintf('存在纵向的线缺陷');disp(pt)
st=sprintf('线缺陷的面积S=%8.5f',s);disp(st)
at=sprintf('线缺陷的长度L=%8.5f',m);disp(at)
ct=sprintf('线缺陷的个数c=%8f',t);disp(ct)
for j=1:t
xt=sprintf('线缺陷的坐标x=%8.5f',a(1+7*(j-1))+3);disp(xt)
xt=sprintf('在液晶屏中线缺陷的坐标x=%8.5f',(a(1+7*(j-1))+3)/n*15*2);
disp(xt)
end
end
end
end
end
end
for i=1:n-1
if b(i+7+n)-b(i+n)==0
if a(i+1+n)-a(i+n)==1
if i==n-1
if (a(k-7)-a(12))>n-10
pt=sprintf('存在横向的线缺陷');disp(pt)
st=sprintf('线缺陷面积S=%8.5f',n*7);
disp(st)
at=sprintf('线缺陷长度L=%8.5f',n);disp(at)
ct=sprintf('线缺陷个数c=%8f',round(s/(7*n)));
disp(ct)
for j=1:round(s/(7*n))
yt=sprintf('线缺陷坐标y=%8.5f',b(1+7*n*(j-1))+3);disp(yt)
yt=sprintf('在液晶屏中线缺陷的坐标y=%8.5f',(b(1+7*n*(j-1))+3)/m*10*2);
disp(yt)
end
else
if (a(k-1)-a(1))<n
if (b(k-1)-b(1))<m
pt=sprintf('存在面缺陷');disp(pt)
st=sprintf('面缺陷的面积S=%8.5f',s);disp(st)
at=sprintf('面缺陷的长a=%8.5f',(a(k-1)-a(1))/n.*15*2);
disp(at)
bt=sprintf('面缺陷的宽b=%8.5f',(b(k-1)-b(1))/m.*10*2);disp(bt)
xt=sprintf('面缺陷起始点横坐标x=%8.5f',a(1)/n.*15*2');disp(xt)
yt=sprintf('面缺陷起始点纵坐标y=%8.5f',b(1)/m.*10*2');disp(yt)
end
end
end
4. 仿真结果及分析
4.1.点缺陷的仿真结果
图一 采集到的图像及转换后的灰度图
图二 二值化的图像
图三 数学形态学滤波后的图像
图四 腐蚀形态学后的滤波
图五 缺陷的检测结果
4.2.线缺陷的仿真结果
图六 采集到的图像及转换后的灰度图
图七 二值化的图像
图八 腐蚀形态学后的滤波
图九 数学形态学滤波后的图像
图十 缺陷的检测结果
4.3.面缺陷的仿真结果:
图十一 采集到的图像及转换后的灰度图
图十二 二值化的图像
图十三 腐蚀形态学后的滤波
图十四 数学形态学滤波后的图像
图十五 缺陷的检测结果
4.4.结果分析:
从以上仿真图中可以看出,无论是点、线或者面缺陷,先经过中值滤波来平滑噪声,然后通过二值化处理初步分离出缺陷目标,之后再通过帧运算、数学形态学滤波过滤噪声以及边缘处理等最终将缺陷目标提取。最后计算提取目标的大小形状来判断缺陷种类。
5.总结与心得
本次课程设计题目是基于图像处理方法的液晶显示器表面缺陷检测设计,开始时在网上和图书馆查找相关的资料和书籍,之后翻阅资料了解系统的基本工作原理和框架结构,利用matlab仿真软件设计,最后制作仿真检测液晶显示器表面缺陷。
这次的课题看上去不算太难,但是我在设计的过程中还是遇到了许多之前没有想到的问题,程序的编写我做的还算顺利,很快就有了结果,但是仿真时检测图片却始终没有出来,我尝试了多种方案,选择了很多图片才挑选出和程序相匹配的图片来检测。
完成本次课程设计的过程,是一个从无到有的过程,经历了兴奋、自信、失落、奋发、所悟、完成几个过程。刚做做课程设计时,仔细阅读设计的题目和要求,以为没什么困难的,所用的知识书上都有。可是当我动手开始做的时候,才发现其中的算法,设计是那么繁琐。经过一天的努力,毫无结果。失落的心情油然而生。于是,再到图书馆和网上查找资料,在经过借鉴很多类似的资料,文献后,总算是有点眉目了。埋头苦干的过程是痛苦的,尤其是在思考算法和程序框架时,迷茫,烦躁,特别是当苦思出来一个结果,又被自己推翻,心痛的无法言绘。在痛苦中挣扎,建立,推翻,参考别人的思路,建立,再次在推翻,在这不断循环中,终于最后完善了程序。其中的煎熬是很痛苦的,深刻明白攻克自己“未知领域”的困难。但当课程设计完成时,那感觉是甜蜜的,没有耕耘,哪来得收获的喜悦,不懂付出怎么能知道回报的快乐,一分耕耘一分收获,有付出才会有回报,就在这样的痛与快乐的交换中,我学到了知识, 学到了做人的道理。
经过这次课程设计,我学到了很多课堂上得不到的东西。我体会最深的是仿真的设计有许多的不确定因素在里面,这都是我们需要考虑到的。在设计过程中,我们查阅了大量的有关书籍,巩固了以前所学过的知识。通过这次课程设计使我懂得了理论与实际相结合的必要性,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。
6.参考文献
1.杨杰,黄朝兵.数字图像处理及MATLAB实现.电子工业出版社.2010
2.唐剑.B 样条曲面拟合在 Mura 缺陷获取中的应用.清华大学出版社.2008
3.王慧琴.数字图像处理.北京邮电大学出版社.2006
4.马平.数字图像处理与压缩.电子工业出版社.2007
5.王家文,曹宇. MATLAB6.5图形图像处理. 国防工业出版社.2004
本科生课程设计成绩评定表
姓 名
性 别
专业、班级
电信120班
课程设计题目:基于图像处理方法的液晶显示器表面缺陷检测设计
课程设计答辩或质疑记录:
成绩评定依据:
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年 月 日
22
展开阅读全文