数字图像处理课设报告
数字图像课程设计报告
《数字图像处理》课程设计报告——手写阿拉伯数字的识别1、课程设计目的1)、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2)、掌握文献检索的方法与技巧。
3)、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2、方法综述字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。
本次实验是对手写的阿拉伯数字进行识别,主要步骤包括预处理模块(其中用到图像分割方法),特征提取和利用人工神经网络(具体运用BP 神经网络方法)进行数字的识别。
2.1图像分割:图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。
它是由图像处理到图像分析的关键步骤。
现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。
2.1.1基于阈值的分割方法灰度阈值分割[1]法是一种最常用的并行区域技术,它是图像分割中应用数量最多的一类。
阈值分割方法实际上是输入图像f到输出图像g的如下变换:其中,T为阈值,对于物体的图像元素g(i,j)=l,对于背景的图像元素g(i,j)=0。
由此可见,阈值分割算法的关键是确定阈值,如果能确定一个合适的阈值就可准确地将图像分割开来。
阈值确定后,将阈值与像素点的灰度值比较和像素分割可对各像素并行地进行,分割的结果直接给出图像区域。
阈值分割的优点是计算简单、运算效率较高、速度快。
在重视运算效率的应用场合(如用于硬件实现),它得到了广泛应用。
人们发展了各种各样的阈值处理技术,包括全局阈值、自适应阈值、最佳阈值等等。
电子科技大学-数字图像处理-课程设计报告
电子科技大学数字图像处理课程设计课题名称数字图像处理院(系)通信与信息工程学院专业通信工程姓名学号起讫日期指导教师2015年12月15日目录摘要: (03)课题一:图像的灰度级分辨率调整 (04)课题二:噪声的叠加与频域低通滤波器应用 (06)课题三:顶帽变换在图像阴影校正方面的应用 (13)课题四:利用Hough变换检测图像中的直线 (15)课题五:图像的阈值分割操作及区域属性 (20)课题六:基于MATLAB®的GUI程序设计 (23)结束语: (36)参考文献: (37)基于MATLAB®的数字图像处理课题设计摘要本文首先对数字图像处理的相关定义、概念、算法与常用变换进行了介绍;并通过七个课题实例,借助MATLAB®的图像处理工具箱(Computer Vision System Toolbox)对这些案例逐一实现,包括图像的灰度值调整、图像噪声的叠加、频域低通滤波器、阈值分割、Hough变换等,常用的图像变化与处理;然后通过MATLAB®的GUI程序设计,对部分功能进行模块化整合,设计出了数字图像处理的简易软件;最后给出了软件的帮助文件以及该简易程序的系统结构和m代码。
关键词:灰度值调整噪声图像变换MATLAB® GUI设计课题一:图像的灰度级分辨率调整设计要求:128,64,32,16,8,4,2,并在同一个figure窗口将图像的灰度级分辨率调整至{}上将它们显示出来。
设计思路:灰度级分辨率又称色阶,是指图像中可分辨的灰度级的数目,它与存储灰度级别所使用的数据类型有关。
由于灰度级度量的是投射到传感器上的光辐射值的强度,所以灰度级分辨率又称为辐射计量分辨率。
随着图像灰度级分辨率的的逐渐降低,图像中所包含的颜色数目将变得越来越少,从而在颜色维度造成图像信息量的退化。
MATLAB®提供了histeq函数用于图像灰度值的改变,调用格式如下:J = histeq(I,n)其中J为变换后的图像,I为输入图像,n为变换的灰度值。
《数字图像处理技术课程设计报告》
《数字图像处理技术》课程设计报告设计题目:车牌识别系统班级:数媒姓名:学号:一、目的与要求1、提高分析图像处理问题的能力,进一步巩固在《数字图像处理技术》课程中所掌握的基本原理与方法。
2、掌握并使用一门计算机语言,进行数字图像处理的应用设计。
二、设计的内容1、主要功能:牌照图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等。
2、系统工作的原理以及过程:(1)当行驶的车辆经过时,触发埋设在固定位置的传感器,系统被唤醒处于工作状态;一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像;(2)由摄像机或CCD 摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平较正等;(3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;(4)对牌照字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别。
三、总体方案设计车牌识别的最终目的就是对车牌上的文字进行识别。
主要应用的为模板匹配方法。
因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB及以上。
系统可以运行于Windows98、Windows2000或者Windows XP操作系统下,程序调试时使用matlab。
1、功能模块的划分:(1)预处理及边缘提取:图象的采集与转换,边缘提取。
(2)牌照的定位和分割:牌照区域的定位,牌照区域的分割,车牌进一步处理。
(3)字符的分割与归一化:字符分割,字符归一化。
(4)字符的识别2、具体功能实现的原理以及流程图:1、预处理及边缘提取预处理及边缘提取流程图(1)图象的采集与转换:考虑到现有牌照的字符与背景的颜色搭配一般有蓝底白字、黄底黑字、白底红字、绿底白字和黑底白字等几种,利用不同的色彩通道就可以将区域与背景明显地区分出来,例如,对蓝底白字这种最常见的牌照,采用蓝色 B 通道时牌照区域为一亮的矩形,而牌照字符在区域中并不呈现。
数字图像处理课程设计报告
数字图像处理课程设计报告课设题目:运动目标的跟踪学院:信息科学与工程学院专业:电子与信息工程班级:0902501班姓名:学号:指导教师:赵占锋周志权于海雁哈尔滨工业大学(威海)2012 年11月12日目录一. 课程设计任务 (1)二. 课程设计原理及设计方案 (1)三. 课程设计的步骤和结果 (4)四. 课程设计总结 (8)五. 设计体会 (8)六. 参考文献 (10)一. 课程设计任务在很多应用中都要对运动目标进行跟踪。
比如激光制导中,弹载摄像机不断检测指向目标的激光束,根据激光光点的位置来修正飞行方向。
使用图像获取工具箱,从摄像机获取视频图像到matlab中,这些图像可以用来跟踪摄像机视场中的目标。
建立一个图像跟踪的演示程序,用于跟踪的目标可由一个激光笔产生的激光点代替。
要求完成功能:1、对连接在计算机上的视频获取设备进行控制;2、显示动态视频画面;3、对画面中内容进行运动目标检测;4、输出检测到的激光点的位置信息;5、设计软件界面。
- 1 -二. 课程设计原理及设计方案2.1运动目标的检测运动目标检测的方法主要有三类:光流法、帧差法和背景差法。
光流法由于其计算量大,算法复杂,一般不被直接应用于实时视频监控场合。
帧差法实时性好,但对物体的运动速度有一定的要求。
背景差法,相对于其他方法而言简单易于实现,能够很精确地提取出运动对象,但是由于场景的复杂性、不可预知性、以及各种环境干扰和噪声的存在,如光照的突然变化、实际背景图像中有些物体的波动、摄像机的抖动、运动物体进出场景对原场景的影响等,使得背景的建模和模拟变得比较困难。
我选择了帧差法。
帧差法利用了视频序列相邻帧之间的强相关性进行变化检测。
连续帧之间利用两帧图像的灰度差分析视频图像序列的运动特性,通过比较目标在两个不同时刻的画面,识别由于物体运动而造成的区域差别。
在实际计算过程中,差分是指将两帧相邻目标图像逐点相减,形成差分图,在差分图中如果差分值大于给定的阀值,则相应的像素取,由此产生非零区,利用非零区就可以检测出运动目标。
《数字图像处理》课程建设汇报
《数字图像处理》课程建设汇报杨淑莹(教授、博士)天津理工大学计算机与通信工程学院课程简介数字图像处理是计算机、通信、信息、控制等相关专业的核心课,同时也是绝大部分专业的选修课。
是信息科学中发展最快的热点研究方向。
图像处理技术已渗透到计算机、通信、交通运输、医学、军事等多个领域,与人们的生活紧密相关。
培养目标培养具有系统、扎实的图像处理理论基础;在图像信息的处理及应用等方面具有较深的专业知识、较强的应用能力和实践动手能力;良好的编程素质;培养创新精神;能够从事数字图像处理工作的应用型高级专门人才。
《数字图像处理》课程是高等学校计算机技术类在本科教学计划中一门重要的专业课程。
人类从外界获得的信息约有75%是从图像中获得的。
随着现代电子、计算机、软件等技术的高速发展,图像处理技术的应用领域越来越广泛,对推动社会发展、改善人们的生活起到了重要的作用。
《数字图像处理》课程起点高、难度大,理论性和实践性很强。
传统教学以理论介绍为主,强调理论的体系和概念,忽视理论的实现步骤,基本的编程代码。
造成学生在学习时,感到理论概念抽象,理解仅限于表面认识,很难看到理论的实际应用效果。
面临实际问题时,学生往往不知所措,不知从何下手,更谈不上创新应用。
《数字图像处理》课程教学要求所授内容离不开计算机编程实现。
不能单纯以理论介绍为主,忽视理论的实现步骤,编程代码。
要让学生看到理论的实际应用效果。
课堂上不能只介绍理论,使学生理论与实际相脱离,在实践中无从下手。
课堂上也不能花大量的时间讲解复杂的程序。
20世纪90年代,大多高校采用翻译的国外教材进行纯理论教学。
随着计算机技术的发展,翻译教材内容苦涩难懂,理论与实际相脱节,与理论技术快速发展的矛盾更加突出。
虽然这门课程在教学模式上和教材方面都处于不断完善与发展的阶段,但总体形式上还存在以下二个问题:大部分教学偏于理论,少于实践方法的介绍。
学习者往往会被苦涩难懂的理论迷惑,见不到理论的效果,不利于对理论体系的快速掌握。
数字图像处理课程设计报告
数字图像处理设计报告【设计目的】配合《数字图像处理》课程的教学,使学生能巩固和加深对数字图像处理基础理论和基本知识的理解;掌握使用图像处理软件处理图像基本思想和方法;提高学生对图像处理方面的实际问题的应对能力并将所学知识在实践中巩固。
【设计要求】1.按照题目的要求,简要介绍算法,并对算法进行分析;2.用MATLAB完成算法代码(不能利用MATLAB自身的图像处理函数完成具体算法,读写和显示可以利用MATLAB函数),注释要清晰;3.给出代码运行的结果,并对结论进行总结;4.每人可选一个给出的题目或自己感兴趣的题目,按照上面要求上交报告,内容不得少于5页A4纸。
【所选题目】用直方图均衡化一幅8位的灰度图像【设计环境】MATLAB7.1,所选图片为彩色动画图片,大小为1024*666*24b【算法介绍和分析】1、算法概述:直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。
直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。
直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。
直方图均衡化就是把给定图像的直方图分布改变成“均匀”分布直方图分布。
2、算法分析:直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。
设原始图像在(x,y)处的灰度为f,而改变后的图像为g,则对图像增强的方法可表述为将在(x,y)处的灰度f映射为g。
在灰度直方图均衡化处理中对图像的映射函数可定义为:g = EQ (f),这个映射函数EQ(f)必须满足两个条件(其中L为图像的灰度级数):(1)EQ(f)在0≤f≤L-1范围内是一个单值单增函数。
这是为了保证增强处理没有打乱原始图像的灰度排列次序,原图各灰度级在变换后仍保持从黑到白(或从白到黑)的排列。
《数字图像处理》课程设计报告
1.课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2.课程设计内容及实现、二维快速傅立叶变换:本项目的重点是:这个项目的目的是开发一个2-D FFT程序“包”,将用于在其他几个项目。
您的实现必须有能力:(a)乘以(-1),x + y的中心变换输入图像进行滤波。
(b) 一个真正的函数相乘所得到的(复杂的)的阵列(在这个意义上的实系数乘以变换的实部和虚部)。
回想一下,对相应的元件上完成两幅图像的乘法。
(c) 计算傅立叶逆变换。
(d) 结果乘以(-1)x + y的实部。
(e) 计算频谱。
基本上,这个项目实现了图。
如果您正在使用MATLAB,那么您的傅立叶变换程序将不会受到限制,其大小是2的整数次幂的图像。
如果要实现自己的计划,那么您所使用的FFT 例程可能被限制到2的整数次幂。
在这种情况下,你可能需要放大或缩小图像到适当的大小,使用你的程序开发项目02-04逼近:为了简化这个和以下的工程(除项目04-05),您可以忽略图像填充(4.6.3节)。
虽然你的结果不会完全正确,将获得显着的简化,不仅在图像的大小,而且在需要裁剪的最终结果。
由这种近似的原则将不会受到影响结果如下:主要代码f=imread('(a).jpg');H=imread('(a).jpg');subplot(3,2,1);imshow(f);title('(a)原图像');[M1,N1]=size(f);f=im2double(f);[M2,N2]=size(H);H=im2double(H); %把灰度图像I1的数据类型转换成转换成双精度浮点类型for x=1:M1for y=1:N1f(x,y)=(-1)^(x+y)*f(x,y); %用(-1)^(x+y)乘以输入图像,来实现中心化变换endendF=fft2(f); %使用函数fft2可计算傅立叶变换subplot(3,2,3);imshow(F);title('(b)傅立叶变换的图像');if(M2==1)&&(N2==1)G=F(x,y)*H(x,y);elseif((M1==M2)&&(N1==N2))for x=1:M1for y=1:N1G(x,y)=F(x,y)*H(x,y);endendelseerror('输入图像有误','ERROR');end %通过两个图像的乘法程序,实现对相应元素的相乘g=ifft2(G);subplot(3,2,4);imshow(g);title('(c)傅立叶逆变换的图像');for x=1:M1for y=1:N1g(x,y)=(-1)^(x+y)*g(x,y);endendg=real(g);S=log(1+abs(F)); %计算傅立叶幅度谱并做对数变换subplot(3,2,5);plot(S); %二维图像显示幅度谱title('(d)二维图像显示幅度谱');Q=angle(F); %计算傅立叶变换相位谱subplot(3,2,6);plot(Q);title('(e)二维图像显示相位谱'); %二维图像显示相位谱结果截图图1 傅里叶变换及频谱图结果分析:图1中(a)是原始灰度图像,对原图进行傅里叶变换,用(-1)^(x+y)乘以输入图像,来实现中心化变换得到(b),(c)为傅里叶变换的逆变换得到的图像。
数字图像处理课程报告
山东建筑大学课程设计说明书题目:视频监控中行人的检测课程:数字图像处理课程设计院(部):信息与电气工程学院专业:电子信息工程班级:电信112学生姓名:杨永林学号:2011081237指导教师:张运楚、杨红娟、张君捧完成日期:2014年11月目录摘要 (2)一、绪论 (3)课题研究背景及意义 (3)二、设计要求与目的 (4)三、视频监控中行人的检测与识别方案论证与选择 (4)3.1常用检测算法 (4)3.1.1背景消除法 (4)3.1.2光流场法 (4)3.1.3帧间差分法 (4)3.2空间域滤波器 (5)四、设计内容 (7)4.1背景减法运动目标检测 (7)4.2阈值的选取 (8)4.3形态学滤波 (8)4.4检测过程 (9)五、实验结果及分析 (10)六、总结与感谢 (12)参考文献 (13)附录1程序代码 (14)摘要视频监控在安检、交通、工业生产等方面得到了广泛的应用。
为了能实时分析、跟踪、判别监控对象,并在异常事件发生时提示、对视频监控中出现的行人进行检测显得尤为重要。
本文研究基于MATLAB的视频监控中的行人检测。
尤其是要从计算机视觉的角度出发构建一个对象检测器,对实时视频中的对象进行搜索并对它们进行检测。
从图像序列中找到关心的对象,即行人,从而确定图像区域中的行人。
本文的行人检测,即首先将行人检测出来,再对确定包含行人的图像进行处理。
关键词:MATLAB 视频监控行人检测一、绪论课题研究背景及意义在现代社会中,视频监控系统随处可见。
视频监控系统使人们的工作生活更加方便,更加安全,提高了效率。
然而,目前视频监控网络多数只停留在原始视频的录像阶段。
虽然有些系统具有移动侦测报警的功能,但实际监控任务大部分仍是由人工来完成。
随着视频监控规模逐渐扩大,依靠人工方式进行实时监控所暴露出来的局限性越发突出,既没有足够多数量的屏幕供观看,也不可能安排足够多的人员24小时盯着屏幕看,同时面临着海量视频数据检索的问题。
数字图像处理课程设计(实验报告)
数字图像处理课程设计报告姓名:x x学号:xxxxxxx班级: xxxxxxxxxxxxxxx设计题目:红细胞数目检测教师:xxxxxx老师提交日期: xx月xx日一、设计内容:主题:《红细胞数目检测》详细说明:读入红细胞图片,通过中值滤波,开运算,闭运算,以及贴标签等方法获得细胞个数。
二、现实意义:细胞数目检测在现实生活中的意义主要体现在医学上的作用,可通过细胞数目的检测来查看并估计病人或动物的血液中细胞数,如估测血液中红细胞、白细胞、血小板、淋巴细胞等细胞的数目,同时也可检测癌细胞的数目来查看医疗效果,根据这一系列的指标来对病人或动物进行治疗,是具有极其重要的现实作用的。
三、涉及知识内容:1、中值滤波2、开运算3、闭运算4、二值化5、贴标签四、实例分析及截图效果:(1)代码显示:1、程序中定义图像变量说明(1)Image--------------------------------------------------------------原图变量;(2)Image_BW-------------------------------------------------------值化图象; (3)Image_BW_medfilt-------------------------中值滤波后的二值化图像; (4)Optimized_Image_BW---通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果;(5)Reverse_Image_BW--------------------------优化后二值化图象取反;(6)Filled_Image_BW----------------------已填充背景色的二进制图像;(7)Open_Image_BW--------------------------------------开运算后的图像;2、实现代码:Image = imread('红细胞5.jpg');figure,imshow(Image);title('【原图】');Theshold = graythresh(Image);Image_BW = im2bw(Image,Theshold);figure,imshow(Image_BW);title('【初次二值化图像】');Image_BW_medfilt= medfilt2(Image_BW,[13 13]);figure,imshow(Image_BW_medfilt);title('【中值滤波后的二值化图像】');Optimized_Image_BW = Image_BW_medfilt|Image_BW;figure,imshow(Optimized_Image_BW);title('【进行“或”运算优化图像效果】');Reverse_Image_BW = ~Optimized_Image_BW;figure,imshow(Reverse_Image_BW);title('【优化后二值化图象取反】');Filled_Image_BW = bwfill(Reverse_Image_BW,'holes'); figure, imshow(Filled_Image_BW);title('【已填充背景色的二进制图像】');SE = strel('disk',4);Open_Image_BW = imopen(Filled_Image_BW,SE); figure, imshow(Open_Image_BW);title(' 【开运算后的图像】');[Label Number]=bwlabel(Open_Image_BW,8)Array = bwlabel(Open_Image_BW,8);Sum = [];for i=1:Number[r,c] = find(Array==i);rc = [r c];Num = length(rc);Sum([i])=Num;EndSumN = 0;for i=1:length(Sum)if(Sum([i])) > 1500N = N+1;endendNumber = Number+N3、运行效果截图:第一步:读取原图,并显示Image = imread('红细胞5.jpg');figure,imshow(Image);title(' 【原图】');第二步:进行二值化Theshold = graythresh(Image);%取得图象的全局域值Image_BW = im2bw(Image,Theshold);%二值化图象figure,imshow(Image_BW);title(' 【初次二值化图像】');第三步:进行二值化图像Image_BW_medfilt= medfilt2(Image_BW,[13 13]);figure,imshow(Image_BW_medfilt);title(' 【中值滤波后的二值化图像】');第四步:通过“初次二值化图像”与“中值滤波后的二值化图像”进行“或”运算优化图像效果Optimized_Image_BW = Image_BW_medfilt|Image_BW;figure,imshow(Optimized_Image_BW);title(' 【进行“或”运算优化图像效果】');第五步:优化后二值化图象取反,保证:'1'为'白色',0'为'黑色' Reverse_Image_BW = ~Optimized_Image_BW;figure,imshow(Reverse_Image_BW);title(' 【优化后二值化图象取反】');第六步:填充二进制图像的背景色,去掉细胞内的黑色空隙Filled_Image_BW = bwfill(Reverse_Image_BW,'holes');figure, imshow(Filled_Image_BW);title(' 【已填充背景色的二进制图像】');第七步:对图像进行开运算,去掉细胞与细胞之间相粘连的部分SE = strel('disk',4);Open_Image_BW = imopen(Filled_Image_BW,SE);figure, imshow(Open_Image_BW);title(' 【开运算后的图像】');第八步:开始计算细胞数[Label Number]=bwlabel(Open_Image_BW,8)%初步取得细胞个数Array = bwlabel(Open_Image_BW,8);%取得贴标签处理后的图像Sum = [];%依次统计贴标签后数组for i=1:Number[r,c] = find(Array==i);%获取相同标签号的位置,将位置信息存入[r,c]rc = [r c];Num = length(rc);%取得vc数组的元素的个数Sum([i])=Num;%将元素个数存入Sum数组endSumN = 0;-----假如Sum数组中的元素大于了1500,表示有两个细胞相连,像素点较多,即分为两个细胞数---for i=1:length(Sum)if(Sum([i])) > 1500N = N+1;endendNumber = Number+N %----统计最终细胞数第九步:最终检测结果:Number =92Sum =Columns 1 through 103011 313 1501 329 2238 795 758 1438 1087 1472Columns 11 through 201476 1465 2902 1128 1655 44 6261 1193 1306 215Columns 21 through 301112 1074 1177 930 493 1438 1121 1678 1210 1330Columns 31 through 401370 1369 1153 1284 1061 589 2146 1486 1335 1049Columns 41 through 501275 1101 1127 661 1530 1304 2861 90 1772 854Columns 51 through 601554 1582 1287 1362 81 2090 608 1736 853 1040Columns 61 through 702779 1500 246 77 1096 14819680 1404 783 724Columns 71 through 801439 626 1097 1823 1511 1223 1494 2494 1519 1329Columns 81 through 90733 1119 1205 1147 1295 1398 344 1634 324 1081Columns 91 through 92529 239Number =114四、算法分析(1)中值滤波利用中值滤波可以对图像进行平滑处理。
数字图像处理课程设计实验报告
江南大学《数字图像处理技术》课程设计报告设计题目:数字图像处理系统班级:数字媒体班姓名:学号:指导老师:日期:2013.7.2一、课程设计目的要求:1、提高分析图像处理问题的能力,进一步巩固在《数字图像处理技术》课程中所学的基本原理与方法。
2、掌握并使用一门计算机语言,进行数字图像处理的应用设计。
二、设计的内容:根据本次课设完成的系统的主要功能如下:利用matlab的GUI 程序设计一个简单的图像处理程序,含有如下基本功能:1、图像的读取、存储、剪切和粘贴2、图像转化为灰度图像3、图像大小的计算4、直方图均衡化规定化的计算5、图像求反、动态压缩6、直接灰度调整7、空域滤波(均值、中值、对比度增强滤波)8、非线性锐化滤波(log滤波、prewitt滤波、sobel卷积、sobel滤波)9、频域增强(高通、低通滤波)三、总体方案设计:(1)、软件的总体设计界面布局如下图:系统的总体设计界面主要分为2个区域:显示区域和操作区域。
显示区域:在原始图像的基础上显示效果图。
操作区域:通过功能菜单实现图像的各种处理。
设计完成后运行的软件界面如下:(2)、功能模块的划分:1、图像的读取、存储、退出2、编辑(还原、剪切、粘贴)3、图像(图像大小的计算、旋转、直方图均衡化规定化的计算、图像求反、动态压缩)4、滤波(直接灰度调整、空域滤波、非线性锐化滤波、频域增强)(3)、系统运行环境:Windows 7 or SP1、Windows Vista SP2、Windows XP SP3、Windows XP x64 Edition SP2、Windows Server 2008 SP2 or R2、Windows Server 2003 R2 ,CPU要求:X86架构且支持SSE2指令集,硬盘空间:典型安装需要3-4G,内存:最低1G,推荐2G。
(4)、选用的工具:matlab7.0,win7X64(5)、主要实现功能的原理:直方图均衡化方法的基本思想是,对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减。
数字图像处理课程设计报告
本科综合课程设计报告题 目 ____________________________指导教师__________________________辅导教师__________________________ 学生姓名__________________________ 学生学号_________________________________________________________院(部)____________________________专业________________班___2008___年 _12__月 _30__日数字图像处理演示系统信息科学与技术学院 通信工程 0521 主要内容1.1数字图像处理背景及应用数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。
因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。
本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。
图像处理演示系统设计要求能加载和显示原始图像,显示和输出处理后的图像;系统要便于维护和具备可扩展性;界面友好便于操作;图像处理演示系统设计任务数字图像处理演示系统应该具备图像的几何变换(平移、缩放、旋转、翻转)、图像增强(空间域的平滑滤波与锐化滤波)的简单处理功能。
几何变换几何变换又称为几何运算,它是图像处理和图像分析的重要内容之一。
通过几何运算,可以根据应用的需要使原图像产生大小、形状、和位置等各方面的变化。
简单的说,几何变换可以改变像素点所在的几何位置,以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另外一个图像通过几何变换来产生。
数字图像处理--图像处理课程设计 报告
《数字图像处理》课程设计1、课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2、课程设计要求1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
尤其是对编程软件的使用有基本的认识。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。
结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
5.2实施要求1、理解各种图像处理方法确切意义。
2、独立进行方案的制定,系统结构设计要合理。
3、在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。
如果使用matlab来进行开发,要理解每个函数的具体意义和适用范围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。
4、通过多幅不同形式的图像来检测该系统的稳定性和正确性。
用图像平均的方法消除噪声编程:J=imread('1036032.jpg');I = rgb2gray(J);[m,n]=size(I);II1=zeros(m,n);for i=1:16II(:,:,i)=imnoise(I,'gaussian',0,0.01);II1=II1+double(II(:,:,i));if or(or(i==1,i==4),or(i==8,i==16));figure;imshow(uint8(II1/i));endend迭加零均值高斯随机噪声图像4幅同类图像加平均8幅同类图像加平均16幅同类图像加平均用平滑滤波方法消除噪声编程:I=imread('001122.jpg');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.02);subplot(231),imshow(I);title('原图像');subplot(232),imshow(J);title('添加高斯噪声图像');k1=filter2(fspecial('average',3),J);k2=filter2(fspecial('average',5),J);k3=filter2(fspecial('average',7),J);k4=filter2(fspecial('average',9),J);subplot(233),imshow(uint8(k1));title('3*3模板平滑滤波'); subplot(234),imshow(uint8(k2));title('5*5模板平滑滤波'); subplot(235),imshow(uint8(k3));title('7*7模板平滑滤波'); subplot(236),imshow(uint8(k4));title('9*9模板平滑滤波');用中值滤波方法消除噪声编程:I=imread('1036032.jpg');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.01);subplot(231),imshow(I);title('原图像');subplot(232),imshow(J);title('添加高斯白噪声图像');k1=medfilt2(J);k2=medfilt2(J,[5 5]);k3=medfilt2(J,[7 7]);k4=medfilt2(J,[9 9]);subplot(233),imshow(k1);title('3×3模板中值滤波') subplot(234),imshow(k2);title('5×5模板中值滤波') subplot(235),imshow(k3);title('7×7模板中值滤波') subplot(236),imshow(k4);title('9×9模板中值滤波')用理想低通滤波方法消除噪声编程:I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=5;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(333);imshow(g);I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=15;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(334);imshow(g);I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=45;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(335);imshow(g);I=imread('001122.jpg');J= rgb2gray(I);J=imnoise(J,'gaussian',0,0.02);subplot(331);imshow(J);J=double(J);f=fft2(J);g=fftshift(f);subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);n1=floor(M/2);n2=floor(N/2);d0=65;for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d<=d0h=1;elseh=0;endg(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(336);imshow(g);用巴特沃斯低通滤波方法消除噪声I=imread('001122.jpg');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.04); subplot(121);imshow(J);title('高斯白噪声图像');J=double(J);f=fft2(J);g=fftshift(f);[M,N]=size(f);n=3;d0=20;n1=floor(M/2);n2=floor(N/2);for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2); h=1/(1+(d/d0)^(2*n));g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(122);imshow(g);title('巴特沃斯低通滤波');峰值信噪比PSNR程序:function result=psnr(in1,in2)in1=imread('a.jpg'); %a为原图像%in2=imread('b.jpg'); %b为调制之后的图像% z=mse(in1,in2);result=10*log10(255.^2/z);function z=mse(x,y)x=double(x);y=double(y);[m,n]=size(x);z=0;for i=1:mfor j=1:nz=z+(x(i,j)-y(i,j)).^2;endendz=z/(m*n);方法一图像平均的方法处理得到信噪比分别如下:ans =7.1689ans =7.2601ans =7.2789ans =7.2876方法二平滑滤波方法处理得到信噪比分别如下:ans =6.0426ans =6.0713ans =6.0955ans =6.1052方法三中值滤波方法处理得到信噪比分别如下:ans =7.1708ans =7.2487ans =7.2830ans =7.3065ans =7.3290方法四理想低通滤波方法处理得到的信噪比:ans =5.9024ans =6.3146ans =6.1266ans =6.0586ans =6.0479方法五巴特沃斯低通滤波方法处理得到的信噪比:ans =5.9042ans =6.2459。
数字图像处理课程设计实验报告
学校代码:10128学号:数字图像处理课程设计题目:数字图像处理及H u u f m a n(或小波变换)编码仿真实现学生姓名:学院:信息工程学院系别:电子信息工程系专业:电子信息工程班级:电子指导教师:2012 年月日内蒙古工业大学课程设计(论文)任务书课程名称:数字图像处理课程设计学院:信息工程班级: ___ 学生姓名:学号:指导教师:数字图像处理课程设计1、课程设计目的通过本课程设计使学生了解数字图像的基本概念,掌握数字图像处理的基本内容,如图像点运算、几何变换、增强处理、图像复原、边缘检测以及图像压缩等的基本原理和Matlab实现方法。
通过本次课程设计,让学生掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。
扩展理论知识,培养学生的综合设计能力。
2、课程设计内容2.1 图像处理基本功能1)数字图像的变换:普通傅里叶变换(ft)与逆变换(ift)、快速傅里叶变换(fft)与逆变换(ifft)、离散余弦变换(DCT),小波变换。
2) 数字图像直方图的统计及绘制等;3)基于Matlab的图像平滑算法实现及应用2.2 图像处理综合功能1) 图像复原程序设计●创建一个仿真运动/均值模糊PSF来模糊一幅图像(图像自选)。
●针对退化设计出复原滤波器,对退化图像进行复原(复原的方法自定)。
●对退化图像进行复原,显示复原前后图像,对复原结果进行分析,并评价复原算法。
2) 给定a,b,c,d概率,进行huffman编码,要求显示原图像、压缩后图像的文件大小、压缩比;或采用小波变换进行编码3、课程设计背景与基本原理3.1课程设计背景数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
3.2课程设计基本原理3.2.1傅里叶变换傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。
DSP数字图像处理实验课设
华东交通大学理工学院课程设计报告书所属课程名称DSP原理及应用题目数字图像处理系统设计分院电信分院专业班级 12通信2班学生姓名余志强指导教师李杰目录第一章课程设计内容及要求第二章程序设计原理2.1数字图象处理基本原理2.2数字图像处理常用方法2.3图象灰度处理的基本原理2.4图象的反色原理和实现2.5灰度图象二值化原理及意义第三章程序设计步骤第四章总结第一章课程设计内容及要求一、设计内容1了解数字图象处理的基本原理2 学习灰度图象反色处理技术3 学习灰度图象二值化处理技术第二章程序设计原理2、1数字图像处理的基本原理数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
图像处理最早出现于 20 世纪 50 年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。
数字图像处理作为一门学科大约形成于 20 世纪 60 年代初期。
早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
2、2 数字图像处理常用方法:1 )图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。
因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。
目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。
2 )图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。
压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。
编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。
图像处理课程设计报告
图像处理课程设计报告导语:设计是把一种设想通过合理的规划周密的计划通过各种感觉形式传达出来的过程。
以下是小编整理图像处理课程设计报告的资料,欢迎阅读参考。
图像处理课程设计报告1 摘要:图像处理技术从其功能上可以分为两大类:模拟图像处理技术、和数字图像处理技术。
数字图像处理技术指的是将图像信号直接转换成为数字信号,并利用计算机进行处理的过程,其主要的特点在于处理的精度高、处理的内容丰富、可以进行复杂、难度较高的处理内容。
当其不在于处理的速度比较缓慢。
当前图像处理技术主要的是体现在数字处理技术上,本文说阐述的图像处理技术也是以数字图像处理技术为主要介绍对象。
数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
近年来, 图像处理技术得到了快速发展, 呈现出较为明显的发展趋势, 了解和掌握这些发展趋势对于做好目前的图像处理工作具有前瞻性的指导意义。
本文总结了现代图像处理技术的三点发展趋势。
对图像进行处理(或加工、分析)的主要目的有三个方面: (1)提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善图像的质量。
(2)提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利。
提取特征或信息的过程是计算机或计算机视觉的预处理。
提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。
(3)图像数据的变换、编码和压缩,以便于图像的存储和传输。
不管是何种目的的图像处理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出。
数字图像处理主要研究的内容有以下几个方面:图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。
因此,往往采用各种图像变换的方法,如傅里叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理课程设计报告细胞识别目录第一部分页脚内容11、实验课题名称----------------------------------------------------------------------------------32、实验目的----------------------------------------------------------------------------------------33、实验内容概要----------------------------------------------------------------------------------3第二部分1、建立工程文件----------------------------------------------------------------------------------32、图像信息获取----------------------------------------------------------------------------------43、如何建立下拉菜单----------------------------------------------------------------------------64、标记Mark点------------------------------------------------------------------------------------65、二值化---------------------------------------------------------------------------------------------96、填洞------------------------------------------------------------------------------------------------97、收缩------------------------------------------------------------------------------------------------108、获取中心点--------------------------------------------------------------------------------------119、细胞计数-----------------------------------------------------------------------------------------1310、All-steps-----------------------------------------------------------------------------------------1311、扩展功能---------------------------------------------------------------------------------------14第三部分12、各步骤结果和错误举例--------------------------------------------------------------------16页脚内容2第四部分13、心得体会----------------------------------------------------------------------------------------22第一部分1、实验课题:细胞识别2、实验目的:对血液细胞切片图片进行各种处理,最终得出细胞的数目、面积等信息。
3、实验内容概要:基于VC++6.0软件下的细胞识别,通过细胞的标记、二值化、填洞、收缩、获取中心点、计数等过程完成实验目的。
第二部分——实验具体步骤1、建立工程文件①新建MFC工程项目:--MFC AppWizard、工程名页脚内容3②拷贝cdib.h,cdib.cpp到工程文件夹,再向工程里添加③doc.h添加变量:m_lpDib 和头文件#include”cdib.h”④doc.cpp:变量(m_lpDib)的new、delete页脚内容4⑤doc.cpp: Serialize()2、图像信息获取①读取图像参数View.cpp: OnDraw()m_pDib->Draw()如果图像不为空的话,那么就执行如下主要代码:②点击键,建立类向导,在messages中添加OnInitialUpdate()函数,添加代码实现对自动打开固定图片。
页脚内容5③通过鼠标右击,点击建立类向导,在messages中添加OnMouseMove()函数,添加代码实现获取所要信息,即实现鼠标在图像任一位置移动时可以直观的读取相对应位置的信息。
可以在屏幕上显示鼠标所指点的坐标以及RGB、HSI和灰度值,通过HSI的可以选取合适的阈值来找到细胞以及边界。
④为了RGB图像转化为人眼更容易识别的HSI模型,我们可以通过添加成员函数RgbtoHsi来实现这一功能。
页脚内容6HSI模型与RGB模型的转化关系(添加函数时,可以右击类窗口中的view.h,选中add member function,之后选择函数的返回值类型和函数描述,其它默认不变)确定后在里面添加实现函数功能的代码。
3、添加下拉菜单在resourceview那栏的找到菜单按键设置页脚内容7双击,后在里面添加所需按键每个按键的ID号为注意在填写为IDR_加菜单大写。
之后右击按键,建立类向导添加按键所需函数4、标记mark分为四步1.找出mark(red)点和maybemark(blue)点2.将maybemark(blue)点变成mark(black red)点页脚内容83.将mark(black red)点变成edge(yellow(fullred&&fullgreen))点4.edge点滤波基本思想:Mark点指的是我们要寻找的细胞内的点。
我们先获取每一个像素点的RGB分量,然后我们将其转化成HSI分量,将H分量进行归一化,因为S的范围是0到1,所以我们要进行尺度的一致,这样才具有可计算性。
然后我们通过每个像素点的H分量和S分量的值与细胞内部的H分量和S分量计算欧几里得距离,设定一个Mark门限值(我们这里将MarkDoor设置为0.09,大家可以行设置合适的参数),小于这个门限值我们就当做是细胞的内部,然后对细胞进行标记(Red)。
还需要设定一个Maybe Mark门限值(我们这里将Maybe MarkDoor设置为0.15,大家可以行设置合适的参数),我们大于Mark门限值小于Maybe Mark门限值时,我们暂时看成是细胞,我们进行Maybe Mark的标记(Blue)。
否则的话,我们需要考虑,一些不是Mark和Maybe Mark点的*lpSrc==0我们区别一下赋值为1,*lpSrc==255我们区别一下赋值为254,*(lpSrc+1)==255我们区别一下赋值为254.这样的话,我们在后面判断是否为Mark点的时候,我们只需要判断*lpSrc是否为0就可以了,判断Maybe Mark点时只需要判断*(lpSrc)是否为255就可以了。
对于边缘的判断只需要判断*(lpSrc+1)是否为255就可以了。
将细胞标记为Mark用红色(255,0,0)标记出来,将可能是的细胞标记为MayBe Mark用蓝色(0,0,255)标记出来。
将MayBeMark To Mark的区域用亮红(128,0,0)表示,将不可能是细胞的区域、细胞边界分别用绿色标记出来。
操作过程:(1)根据H、S的欧几里得距离sqrt(s2+h2)来大致的确定哪些是细胞(Mark)和可能是细胞(Maybe Mark)的点。
页脚内容9(2)根据Maybe Mark点周围的情况,如果它的上下左右四个方向有Mark点,则将Maybe Mark点变成Mark点。
(3)用Sobel算子来做边缘的提取边界(0,255,255)(255,255,0),使用3*3的模板,使用欧几里得距离来判断是否为边缘。
两种Sobel算子如下:页脚内容10主要代码如下:doubletmp1=pixel[0]+2*pixel[1]+pixel[2]-pixel[6]-2*pixel[7]-pixel[8];doubletmp2=pixel[0]+2*pixel[3]+pixel[6]-pixel[2]-2*pixel[5]-pixel[8];double edge=sqrt(tmp1*tmp1+tmp2*tmp2);if(edge>edgeDoor) *(lpDst+1)=255;//Sobel判断该点是否edge//edgeDoor=40(4)edge滤波就是去除全边缘点(四周都是背景或边缘)(强度为5)5、二值化基本思想:将原有彩色图像变换为二值图像,其中细胞0X80(128) 用Gray(灰色) 标记出来,边缘0xF0(240)用Bright(亮色)标记出来,其他表示为0。
主要代码:页脚内容116、填洞将细胞中或者细胞相邻的地方的较小的背景填成细胞的背景,填完的细胞背景的灰度值是129,因为都被访问过了,然后将边缘去掉。
填洞的基本思想:首先将细胞或边缘内的黑点置为vistied = 0x01 ,以该黑点为中心,在其上下左右侧进行访问是否有未访问的黑点,若有则将上方黑点压栈,且上下左右侧的黑点置已访问。
将堆栈顶端的数据弹出,作为新的种子进行扩散,即以该元素为基点,判断其周围是否存在未访问黑点,若有则继续压栈,重复操作。
直到找到最后一点,此点四周均不存在未访问黑点,结束访问。
若洞像素数小于100大于50,洞内像素数及其初进栈的点(56,(409,222))时,则进行填洞。
填洞的过程就是将非mark点转化为mark点。
主要标记访问代码:页脚内容12填洞函数主要代码分析:填完洞后,进行下面操作:如果图像中只有已访问黑点0x01则将其恢复成0;如果图像中只有Edge点0xf0则将Edge置为黑点。
这样图像中只有黑色的背景以及灰色的细胞mark(0x80)点。
主要代码:页脚内容137、收缩收缩的目的是为了方便计数。
通过扫描图像,对图像进行预先的3次腐蚀,判断所生成边界点,然后根据原理判定是否标注该点,存放所标志的中心点,便于统计细胞个数及计算细胞半径。
由Mark生成边界,我们有四邻域生成边界和八邻域生成边界。