基于matlab的形状识别

上传人:cn****1 文档编号:498099108 上传时间:2023-12-03 格式:DOC 页数:9 大小:244KB
返回 下载 相关 举报
基于matlab的形状识别_第1页
第1页 / 共9页
基于matlab的形状识别_第2页
第2页 / 共9页
基于matlab的形状识别_第3页
第3页 / 共9页
基于matlab的形状识别_第4页
第4页 / 共9页
基于matlab的形状识别_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《基于matlab的形状识别》由会员分享,可在线阅读,更多相关《基于matlab的形状识别(9页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上1、设计目的基于Maltab或者C语言对图像进行识别。编写摄像头采集图像程序,对采集的图像进行预处理,如图像增强、图像分割等处理,对于处理的图像进行特征提取,根据特征进行模式识别,如对三角形、正方形与圆形的识别。2、设计正文2.1设计分析1) 编写摄像头采集图像程序2) 对采集的图像进行预处理3) 对于处理的图像进行特征提取4) 进行模式识别,区分各种形状2.2设计原理2.2.1图像预处理彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。由彩色转换为灰度的过

2、程叫做灰度化处理。选择的标准是经过灰度变换彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。由彩色转换为灰度的过程叫做灰度化处理。选择的标准是经过灰度变换。2.2.2对于处理的图像进行特征值提取二值图像是指整幅图像画面内仅黑、白二值的图像。在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处

3、理,能大大地提高处理效率。阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。两个具有不同灰度值的相邻区域之间总存在边缘,边缘就是灰度值不连续的结果,是图像分割、纹理特征提取和形状特征提取等图像分析的基础。为了对有意义的边缘点进行分类,与这个点相联系的灰度级必须比在这一点的背景上变换更有效,我们通过门限方法来决定一个值是否有效。所以,如果一个点的二维一阶导数比指定的门限大,我们就定义图像中的次点是一个边缘点,一组这样的依据事先定好的连接准则相连的边缘点就定义为一条边缘。经过一阶的导数的边缘

4、检测,所求的一阶导数高于某个阈值,则确定该点为边缘点,这样会导致检测的边缘点太多。可以通过求梯度局部最大值对应的点,并认定为边缘点,去除非局部最大值,可以检测出精确的边缘。一阶导数的局部最大值对应二阶导数的零交叉点,这样通过找图像强度的二阶导数的零交叉点就能找到精确边缘点。2.2.3流程设计1. 调用摄像头2. 获取图像3. 读入图片4. 选取阈值为0.55. 图像取反色6. 二值图象标签化处理 7. 选出被标记图像像素中的最大值8. 计算图像y的像素点9. 统计被标记点数的数量10. 如果被标记点的数量大于总共像素的5%,可以认为这些标记点为被识别物体11. 找到能构成物体的个体的下标,并组

5、成一维向量,次向量中的数代表被识别物体的标签号+1,向量的维数代表被识别物体的个数12. 计算所有被识别物体的数量13. 是被识别物体的标签号14. 对被识别物体的类型做判断15. 在图象中选择标签为f1(i)的对象16. 求面积117. 求周长18. 求面积219. e(i)=4*3.14*F1/求面积22;20. 如果 0.8927e(i) 1.1073则判断为原型21. 如果 0.73 e(i) 0.8927 则判断为方形22. 如果 e(i) 0.01*b*c;endf2=find(f=1);g=length(f2);f1=f2-1;figure(1)for i=1:gr1,c1=fi

6、nd(D=f1(i);BW1=bwselect(D,c1,r1,4);SE = ones(2,4);E1 = imdilate(BW1,SE);F1=bwarea(E1);G1=bwperim(E1,4);H1=bwarea(G1);e(i)=4*3.14*F1/H12; if( 0.8927e(i) & e(i)1.1073) subplot(4,3,i) imshow(E1); title(圆形) elseif(0.73e(i) & e(i)0.8927 ) subplot(4,3,i) imshow(E1); title(方形) elseif(e(i)0.73) subplot(4,3,

7、i) imshow(E1); title(三角形) endend2.3程序处理的图像2.3.1调用摄像头采集图像如图2-1所示图2-12.3.2图形识别如图2-2所示图2-23、设计总结或结论通过本次设计,我学习到了基于matlab的摄像头调用,了解到了数字图像处理基本的设计流程。通过参与设计,我学习到了一些新的知识,同时通过查找资料也将旧的知识重新梳理了一遍,增长了自身的动手能力。重新熟悉了一遍MATLAB的知识。但是在学习的同时也曝露出了自身的很多不足之处:在编程序时不熟练使得必须查询大量的参考资料,并且需要小组成员一起来讨论。在解决问题的同时我更进一步的学习到了团队合作的重要性,特别是分工明确对于设计的完成具有很大的作用。分工明确,各自发挥其长处,可以保质保量的完成设计。4、参考文献1胡学龙,徐开宇.数字图像处理M.北京:电子工业出版社,20112唐向宏,岳恒立,郑雪峰.MATLAB及在电子信息类课程中的应用M.北京:电子工业出版社,20095章毓晋.图像处理和分析教程M.北京:人民邮电出版社,20076夏德深,傅德胜.计算机图像处理及应用M.南京:东南大学出版社,20047徐飞,施晓红.MATLAB应用图像处理M.西安:西安电子科技大学出版社,20028陈桂明,张明照,戚红雨.应用MATLAB语言处理数字信号数字图像M.北京:科学出版社,2000专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号