数字图像处理总结
国内外相关会议和杂志:
国内杂志:一级学报
Journal of Computer Science and Technology (JCST)(SCI)
计算机学报
软件学报
电子学报
计算机研究与发展
国外会议:
IEEE International Conference on Computer Vision (ICCV)
IEEE International Conference on Computer Vision and Pattern Recognition (CVPR) ACM Multimedia Conference (MM)
IEEE International Conference on Image Processing (ICIP)
IEEE International Conference on Multimedia and Expo (ICME)
International Conference on Pattern Recognition (ICPR)
ACM International Conference on Image and Video Retrieval (CIVR)
国外期刊:
IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI) IEEE Transactions on Image Processing (IP)
IEEE Transactions on Circuits and Systems for Video Technology (CSVT) International Journal of Computer Vision(IJCV)
Pattern Recognition (PR)
Image and Vision Computing (IVC)
数字图像处理基础
第二篇:数字图像处理课设
燕山大学
课程设计说明书
题目: 七段数码管的数字识别
学院(系): 电气工程学院
年级专业:
学 号:
学生姓名:
指导教师:
教师职称:
燕山大学课程设计(论文)任务书
院(系): 电气工程学院 基层教学单位: 自动化仪表系
说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。
年 月 日
目 录
第一章 摘 要………………………………………………………2
第二章 七段数码管数字图像的简介……………………………………2
第三章 手写数字图像识别的实现过程…………………………………3
1、读入图像并预处理……………………………………
2、特征提取………………………………………………
3、编程调试………………………………………………
第四章 总 结 ………………………………………………………
第五章 参 考 文 献 ……………………………………………
第六章 附 录
摘 要
数字图像处理就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。数字图像处理技术已经广泛深入地应用于国计民生休戚相关的各个领域。
数字仪表具有高精度,方便读取,易操作等优点,广泛应用于检测,显示等领域。
本文主要研究对七段数码管0到9十个数字的识别的方法。利用matlab对图片进行处理,将图像二值化,从而获得可以反映图像整体和局部特征,再利用数码管数字显示的特点,提取利于有效识别的特征点,从而识别出数字。
关键字 数字图像处理 二值化 数字识别 matlab
七段数码管数字图像的简介
LED及发光二极管,单独的发光二极管就是一个最简单的LED,通过亮灭来作为信号指示,LED数码管是由若干个发光二极管组成的字段显示器件,简称数码管。通过控制不同组合的二极管导通,显示各种数据和字符。七段数码管是最常见的一种,可以显示十进制数字以及一些英文字符。
七段码应用广阔,它能代替人工判读仪器显示数字,实现机器判读。从而降低劳动强度和提高仪器显示读数速度和读数准确度,更好地实现仪器智能化。
七段数码管显示的数字特征很明显,与自由手写体相比,棱角分明,显示单一,七段码数字自身特点:七段码数字高度和宽度在约定的“日” 字形范围内,笔划长度相同,相邻笔划不连接。笔划间有些空隙。七段码数字图像
需要根据其自身特征进行处理。
手写数字图像识别的实现过程
1、 读入图像并预处理
待识别的目标图像在由摄像头采集的过程中,会受到实际采集环境以及摄像头与目标图像的距离和角度等因素的影响,最终传输到计算机的图像可能存在模糊和噪声等缺陷,这些缺陷会影响到字符的正确识别,所以在对图像进行字符识别之前,需要对图像进行预处理操作。预处理的主要目的是突出给定图像中的某些信息,消弱或除去不需要的信息。从而使得图像画面清晰,边缘明显,以便提取特征进行识别。预处理结果的好坏直接影响到后续图像的识别的准确率。
七段码图像预处理包括图像数据读取,彩色图像灰度化处理(二值化),图像修补完善。 流程图如下
读入图像 图像二值化 图像修补
二值图像:图像中像素只有两个值,通常是0和1,0代表黑色,1代表白色。图像二值化的作用是为了方便提取图像中的信息,二值图像在进行计算机识别时可以增加识别效率。
修补完善二值图像。经过二值化后的图片,有很多噪声点,这时需要对这些噪声点进行处理,采用滑动窗口去噪,当遇到一个像素值为0的点时,统计他周围相同点的个数,统计的个数占整个窗口总像素点个数的某个百分比(这里定为10%)时,确定它为有效点,否则将它变为灰度值为0的像素点。这里采用的是3*3的窗口,处理结果显示如上图。为防止越限,周边行列不作处理。
2.特征提取
为有效识别0到9十个数码管数字。根据显示特征,利用三条特殊位置的线作为分界线如图所示。并找到八个特征点,分别位于三条线与七段码交线的内侧位置。
比较八个边界点与背景像素灰度值大小,利用for 循环语句,和if判断语句,来区分0到9十个数码管数字。例如,边界点A与内侧背景附近的一点比较,A点像素灰度为1,说明A点所在的发光二极管导通,2,3,5,6,7,8,9,0 这几个数字在这一特征点有效。
0-9数字与特征点对照表
还有一种方法,其过程不同的是,垂直方向上的直线从上到下穿过A`B`C扫描,水平方向上的直线1从H/3处从左向右扫描,水平方向上的直线2从2*H/3处从左向右扫描。
扫描中若遇到像素值1.说明数字结构中含有这部分,记为1,反之记为0。
3.编辑程序,上机调试
根据上面过程分析,写出相应的语句,在matlab中输入,尝试各种算法,反复调试,并与小组成员交流,对比分辨率和识别效率。
通过对程序的调试,0-9这是个数字的图片均能正确识别出来。正确率也很高。比较两种方法,第二种方法比较简便。
总 结
通过这次数字图像课程设计,我学会了用matlab软件对图像进行一些简单有效的处理,学会了如何编程来实现数码管的数字识别。数字图像处理理论知识基础,matlab软件编程基本语言,是必须具备的两个基础。掌握这两点之后,才能更进一步想出处理图像的各种方法,使处理之后的结果尽可能接近预期目标,并且使处理运算达到更好,更快,更便捷的效果。
在课设期间,我们相互交流,交换意见和建议,我意识到团队精神的的重要性。由于我的基础比较差,进度很慢,同组成员就牺牲自己的课余时间提供很多帮助,我很感激。
感谢老师这几天的辛勤指导,感谢这几天和我一起完成课设的同学。总结这次宝贵的经验,为今后学习提供有效的帮助。
参考文献
1、数字图像处理 电子工业出版社 贾永红 2003
2、数字图像处理(Matlab版) 电子工业出版社 冈萨雷斯 2006
3、其他数字图像处理和matlab编程方面的书记及相关学习资料
附 录
方法一
a=imread('E:\30\7.bmp');
b=im2bw(a);
[m,n]=size(b);
b=-b+1;
imshow(b);
for i=2:(m-1);
for j=2:(n-1);
sd=0;
for k=(i-1):(i+1)
for s=(j-1):(j+1)
if(b(k,s)==1)
sd=sd+1;
end
end
end
if(sd>=1)
c(i,j)=1;
else
c(i,j)=0;
end
end
end
imshow(c);
y1=0;
for q=(5:ceil(i/3-2))
if c(q-1,ceil(j/2-2))>c(q,ceil(j/2-2))
y1=y1+1;
end
end
y2=0;
for q=(ceil(i/3-2):ceil(i/2-2));
if c(q-1,ceil(j/2-2))<c(q,ceil(j/2-2));
y2=y2+1;
end
end
y3=0;
for q=(ceil(i/2-2):ceil(2*i/3-2));
if c(q-1,ceil(j/2-2))>c(q,ceil(j/2-2));
y3=y3+1;
end
end
y4=0;
for q=(ceil(2*i/3-2):ceil(i-2));
if c(q-1,ceil(j/2-2))<c(q,ceil(j/2-2));
y4=y4+1;
end
end
y5=0;
for q=(5:ceil(j/2-2));
if c(ceil(i/3-2),q-1)>c(ceil(i/3-2),q)
y5=y5+1;
end
end
y6=0;
for q=(ceil(j/2-2):j-2)
if c(ceil(i/3-2),q-1)<c(ceil(i/3-2),q)
y6=y6+1;
end
end
y7=0;
for q=(5:ceil(j/2-2))
if c(ceil(2*i/3-2),q-1)>c(ceil(2*i/3-2),q)
y7=y7+1;
end
end
y8=0;
for q=(ceil(j/2-2):j-2);
if c(ceil(2*i/3-2),q-1)<c(ceil(2*i/3-2),q)
y8=y8+1;
end
end
if(y1==0&&y2==0&&y3==0&&y4==0&&y5==0&&y6==1&&y7==0&&y8==1)
p=1;
end
if(y1==1&&y2==0&&y3==0&&y4==1&&y5==1&&y6==1&&y7==1&&y8==1)
p=0;
end
if(y1==1&&y2==1&&y3==1&&y4==1&&y5==0&&y6==1&&y7==1&&y8==0)
p=2;
end
if(y1==1&&y2==1&&y3==1&&y4==1&&y5==0&&y6==1&&y7==0&&y8==1)
p=3;
end
if(y1==0&&y2==1&&y3==1&&y4==0&&y5==1&&y6==1&&y7==0&&y8==1)
p=4;
end
if(y1==1&&y2==1&&y3==1&&y4==1&&y5==1&&y6==0&&y7==0&&y8==1)
p=5;
end
if(y1==1&&y2==1&&y3==1&&y4==1&&y5==1&&y6==0&&y7==1&&y8==1)
p=6;
end
if(y1==1&&y2==0&&y3==0&&y4==0&&y5==0&&y6==1&&y7==0&&y8==1)
p=7;
end
if(y1==1&&y2==1&&y3==1&&y4==1&&y5==1&&y6==1&&y7==0&&y8==1)
p=9;
end
if(y1==1&&y2==1&&y3==1&&y4==1&&y5==1&&y6==1&&y7==1&&y8==1)
p=8;
end
disp('the number is')
disp(p)
第二种方法
a=imread('C:\b\7.bmp');
b=im2bw(a); [m,n]=size(b);
x1=0;
for k=(5:m-6);
if b(k,ceil(n/2))~=b(k+1,ceil(n/2));
x1=x1+1;
end
end
x2=0;
for k=(5:n/3);
if b(ceil(m/3),k)~=b(ceil(m/3),k+1);
x2=x2+1;
end
end
x3=0;
for k=(5:n/3);
if b(ceil(2*m/3),k)~=b(ceil(2*m/3),k+1);
x3=x3+1;
end
end
x4=0;
for k=(5:n-6);
if b(ceil(m/3),k)~=b(ceil(m/3),k+1);
x4=x4+1;
end
end
if(x1==2&&x2==1&&x3==1&&x4==2)
g=0;
end
if(x1==0&&x2==0&&x3==0&&x4==1)
g=1;
end
if(x1==4&&x2==0&&x3==1&&x4==1)
g=2;
end
if(x1==4&&x2==0&&x3==0&&x4==1)
g=3;
end
if(x1==2&&x2==1&&x3==0&&x4==2)
g=4;
end
if(x1==4&&x2==1&&x3==0&&x4==1)
g=5;
end
if(x1==4&&x2==1&&x3==1&&x4==1)
g=6;
end
if(x1==1&&x2==0&&x3==0&&x4==1)
g=7;
end
if(x1==4&&x2==1&&x3==1&&x4==2)
g=8;
end
if(x1==4&&x2==1&&x3==0&&x4==2)
g=9;
end
disp('the number is')
disp(g)
燕山大学课程设计评审意见表