yhkn.net
当前位置:首页 >> opEnCv图形识别 >>

opEnCv图形识别

给你讲解一下识别的大致思路吧;第一,先来说说计算机识别的过程,如果只是简单物体识别很简单,大部分硕士生也是大致的如下步骤; 1)预处理,对得到的图片进行预处理,将复杂的图像变成色彩块 2)色彩提取,有了色彩块,就可以对目标的颜色进行提取,进而消除大部分背景; 3)降噪,对于提取的前景需要去除一些噪声点、块,以方便之后的识别; 4)建模,对你的前景进行建模,建模的方式有很多中; 5)匹配,用你的目标和你提取的模型进行匹配;

两者主要的区别在于接口和效率.实际上Python和C++的OpenCV接口几乎一样,不同的是用C++的话,矩阵用的是cv::Mat,Python里面用的是numpy.array,用法和接口都不一样,但文档丰富,使用也非常方便,原理也相似.效率方面,Python

你试试surf算法,这是sift算法的变形,opencv里面有cvSurf函数,直接用就行了

我说下思路吧,你自己动手来1. 边缘检测 分割 把每个图形分割出来 每个图形是个闭包区域2. 对分割出来的区域 单独做直线检测 houghline2我记得是这个函数在opencv里 如果找到 3根直线为三角形,没有为圆形,以此类推.

简单的形状可以用霍夫变换,或者用找轮廓函数然后匹配轮廓的矩,颜色识别可以将图片从RGB空间转到HSV或YCrCb空间识别、建议你上opencv中文论坛看看,很适合初学者上手

一般来讲,是你样本或者训练有问题导致的.你可以参考下面这篇文章,重新采集样本重新训练一次试试.http://www.cnblogs.com/tornadomeet/archive/2012/03/28/2420936.html

OpenCV中有一些已经实现的匹配库.一般是先寻找特征点,然后匹配特征点.寻找特征点一般有Harris(opencv中函数:cornerHarris),FAST(opencv中函数:FastFeatureDetector)等,匹配主要有SURF,SIFT等.可查阅OpenCV使用手册学习调用,同时Opencv也有一些例子,可参考一下.

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html 去这里学时最好的.别去找书看,没用.

将字符定位,然后进行分割成一个一个的独立字符.可以准备一下字符样本,丢进opencv中的bp神经网络训练分类器,用训练好的分类器去对切分的字符进行识别.一个基本的思路,网上应该很多.

用人工神经网络进行字符识别主要有两种方法:一种方法是先对待识别字符进行特征模板匹配的主要特点是实现简单,当字符较规整时对字符图像的缺损、污迹干扰

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com