matlab 区分形状,基于matlab的形状识别解析.doc
1、设计目的
基于Maltab或者C语言对图像进行识别。编写摄像头采集图像程序,对采集的图像进行预处理,如图像增强、图像分割等处理,对于处理的图像进行特征提取,根据特征进行模式识别,如对三角形、正方形与圆形的识别。
2、设计正文
2.1设计分析
编写摄像头采集图像程序
对采集的图像进行预处理
对于处理的图像进行特征提取
进行模式识别,区分各种形状
2.2设计原理
2.2.1图像预处理
彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。由彩色转换为灰度的过程叫做灰度化处理。选择的标准是经过灰度变换彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。由彩色转换为灰度的过程叫做灰度化处理。选择的标准是经过灰度变换。
2.2.2对于处理的图像进行特征值提取
二值图像是指整幅图像画面内仅黑、白二值的图像。在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处理,能大大地提高处理效率。阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。
两个具有不同灰度值的相邻区域之间总存在边缘,边缘就是灰度值不连续的结果,是图像分割、纹理特征提取和形状特征提取等图像分析的基础。为了对有意义的边缘点进行分类,与这个点相联系的灰度级必须比在这一点的背景上变换更有效,我们通过门限方法来决定一个值是否有效。所以,如果一个点的二维一阶导数比指定的门限大,我们就定义图像中的次点是一个边缘点,一组这样的依据事先定好的连接准则相连的边缘点就定义为一条边缘。经过一阶的导数的边缘检测,所求的一阶导数高于某个阈值,则确定该点为边缘点,这样会导致检测的边缘点太多。可以通过求梯度局部最大值对应的点,并认定为边缘点,去除非局部最大值,可以检测出精确的边缘。一阶导数的局部最大值对应二阶导数的零交叉点,这样通过找图像强度的二阶导数的零交叉点就能找到精确边缘点。
2.2.3流程设计
调用摄像头
获取图像
读入图片
选取阈值为0.5
图像取反色
二值图象标签化处理
选出被标记图像像素中的最大值
计算图像y的像素点
统计被标记点数的数量
如果被标记点的数量大于总共像素的5%,可以认为这些标记点为被识别物体
找到能构成物体的个体的下标,并组成一维向量,次向量中的数代表被识别物体的标签号+1,向量的维数代表被识别物体的个数
计算所有被识别物体的数量
是被识别物体的标签号
对被识别物体的类型做判断
在图象中选择标签为f1(i)的对象
求面积1
求周长
求面积2
e(i)=4*3.14*F1/求面积2^2;
如果 0.8927
如果 0.73< e(i) <0.8927 则判断为方形
如果 e(i) < 0.73 则判断为三角形
2.2设计程序
2.2.1摄像头采集图像程序
vid=videoinput('winvideo',1,'YUY2_640x480');
set(vid,'ReturnedColorSpace','rgb';
vidRes=get(vid,'VideoResolution');
width=vidRes(1);
height=vidRes(2);
nBands=get(vid,'NumberOfBands');
figure('Name', '调用摄像头','NumberTitle','Off','ToolBar', 'None', 'MenuBar', 'None');
hImage=image(zeros(vidRes(2),vidRes(1),nBands));
preview(vid,hImage);
hb1 = uicontrol('String', '拍摄 ', ...
'Callback','a=getsnapshot(vid),imwrite(getsnapshot(vid),''图形识别.jpg'')');
2.2.2读取图片并调用函数
i = imread('F:\matlab\1.jpg');
z=shibie(i);
2.2.3图片处理及图形识别与显示程序
function z=shibie(A)
C=im2bw(A,0.52);
y=~C;
D=bwlabel(y,4
matlab 区分形状,基于matlab的形状识别解析.doc相关推荐
- matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc
扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...
- 「电子万年历matlab仿真」——基于Matlab的电子万年历仿真实现
「电子万年历matlab仿真」--基于Matlab的电子万年历仿真实现 作为一种具有时间显示.日期查询.闹钟提醒等功能的电子产品,电子万年历已经成为了人们日常生活中不可或缺的一部分.而在现代科技的发展 ...
- 【项目实战-MATLAB】:基于机器学习的虹膜识别系统设计
基于机器学习的虹膜识别系统设计 设计的虹膜识别系统流程图如图 1 所示,在图像的预处理过程中主要包括虹膜定位.虹膜区域提取.虹膜区域极坐标变换和归一化处理.最后采用SVM识别方法实现虹膜识别. 图1 ...
- matlab 函数return_基于MATLAB的指纹识别系统【论文,GUI】
一.课题介绍 本设计为基于MATLAB的指纹识别系统.本设计系统主要对指纹图像进行三方面处理:图像预处理.特征提取和特征匹配.图像预处理包括四个步骤:图像灰度化.滤波增强.二值化.细化,对指纹图像进行 ...
- bp神经网络matlab代码_基于Matlab的BP神经网络识别26个英文字母
一.设计思想 字符识别在现代日常生活的应用越来越广泛,比如车辆牌照自动识别系统,手写识别系统,办公自动化等等.本文采用BP网络对26个英文字母进行识别.首先将待识别的26个字母中的每一个字母都通过长和 ...
- matlab合成和弦,基于Matlab实现音乐识别与自动配置和声的功能.pdf
基于Matlab实现音乐识别与自动配置和声的功能 杨若芳,等 基于Matlab实现音乐识别与自动配置和声的功能 1 2 杨若芳 ,项 顶 1 (甘肃兰州城市学院教育学院 甘肃兰州,730070) 2 ...
- matlab水果图片,基于MATLAB的水果识别的数字图像处理教程.docx
基于MATLAB的水果识别的数字图像处理教程 图像处理(报告) 题目: 基于MATLAB的水果识别的数字图像处理 指导教师: 职称: 教授 学生姓名: 学号: 专 业: 院(系): 完成时间: 201 ...
- matlab水果图片,基于matlab的水果识别的数字图像处理
基于matlab的水果识别的数字图像处理 图像处理(报告)题目: 基于 MATLAB 的水果识别的数字图像处理 指导教师: 职称: 教授 学生姓名: 学号:专 业: 院(系): 完成时间: 2016 ...
- matlab 2fsk系统仿真,基于MATLAB的2FSK数字通信系统仿真
<基于MATLAB的2FSK数字通信系统仿真>由会员分享,可在线阅读,更多相关<基于MATLAB的2FSK数字通信系统仿真(13页珍藏版)>请在人人文库网上搜索. 1.基于MA ...
- 频域串联滞后校正matlab,控制工程基础(基于Matlab的线性系统串联校正)
<控制工程基础(基于Matlab的线性系统串联校正)>由会员分享,可在线阅读,更多相关<控制工程基础(基于Matlab的线性系统串联校正)(16页珍藏版)>请在人人文库网上搜索 ...
最新文章
- 奇虎360将于18日在美摘牌 进程早于外界预期
- C语言中不同类型的循环(Different types of loops in C)
- 13.小结Action
- linux message日志只有4k,linux命令查看日志
- java仿聊天室项目总结_Java团队课程设计-socket聊天室(Day4总结篇)
- 常用函数式接口-Consumer
- java excel 数据有效性_poi操作excel设置数据有效性
- 我的第一个Python随笔
- [BZOJ2118] 墨墨的等式(最短路)
- winform 图片压缩大小为原图的一半_图片压缩指定大小?!这款神奇的工具有必要了解一下...
- dom定义了访问html文档对象的一套,HTML DOM基础知识(示例代码)
- python的条件(三元)运算符——实现b? x: y
- 【总结】操作系统原理
- dcs与plc与c语言的联系,PLC与和DCS系统通讯的实现
- python模拟登录浏览器_Python爬虫常用之登录(二) 浏览器模拟登录
- vcf构建idx索引
- js实现数字的千分化
- 最适合十二星座的那些表白方式!
- 基于主定理以及递推树求解递归算法的时间复杂度
- html图片自带闪光效果,CSS实现的一闪而过的图片闪光效果