
机器智能
wolfseek
这个作者很懒,什么都没留下…
展开
-
基于opencv的一维条码识别
一. 条码图像处理过程 图像的大致处理流程如下: 1.将彩色图转变成灰度图 2.对灰度图均衡化 3.将灰度图转换成二值图 4.对二值图进行腐蚀 5.识别边界检测轮廓 6.对每一个轮廓包围的区域进行特征识别,判断是否是条码区域。原创 2014-03-20 14:52:42 · 10166 阅读 · 1 评论 -
离散余弦变换DCT
离散余弦变换的函数如下:void DCT(double *data,int len,double * dct,int dctnum){ //double temp[100]; //memset(temp,0,100*sizeof(double)); //memcpy(temp,data,len*sizeof(double)); d原创 2014-11-02 16:28:49 · 795 阅读 · 0 评论 -
mel滤波器算法设计
什么是mel滤波器呢?mel滤波器是在mel频率上均匀分布的三角滤波器 mel频率与时域频率之间的关系是: me滤波器在mell频率上均匀分布,那么他的带宽是: 知道了中心平率,可以换算成时域频率: mel滤波器的传递函数如下: 实现代码如下:#ifndef MEL原创 2014-11-02 16:25:59 · 5916 阅读 · 0 评论 -
mfcc
在研究MFCC算法时,从网上下了一份代码,经过小改编译通过了,可程序一跑就蹦,费了好几天的功夫也没找到问题的原因。化了一个月的时间边看资料,边整理代码,参照原有代码自己实现了一份。目前代码调通了,还没有能力验证结果的正确性。 这里使用的FFT算法是从网上下载的。稍后也将其附上。欢迎有MFCC经验的朋友帮忙指正其中存在的问题。 #ifndef MFCC_原创 2014-12-04 20:47:26 · 1025 阅读 · 0 评论 -
字符串相似度
这个算法来源于网上,但忘记了出处,对其使使用了isSame封装,然后用在了自己的网页数据抓取代码中。//求解两个字符串的相似度int calculateStringDistance(const string &strA, const string &strB){ int lenA = (int)strA.length()+1; int lenB = (转载 2014-12-04 20:59:51 · 593 阅读 · 0 评论 -
halcon二维测量
halcon二维测量的基本步骤1.图片预处理,这里指的是图片的滤波等手段,使要测量的特征凸显化,有效去除噪点干扰等。2.阈值化,通过阈值化抽取出图像的特征,通常使用灰度阈值化,但halcon中没有特意的将图片转换成灰度图,而是直接调用阈值化处理函数。同时灰度直方图能帮助开发人员快速找到阈值范围。3.阈值化之后是求解图片的联通区域,一般阈值化之后存在很多连通区域,还要使用select_s原创 2015-06-29 21:43:09 · 7806 阅读 · 1 评论 -
光学测量的精度
决定光学测量系统的精度,有哪些要素呢?首先我们看相机,相机的像素,诸如3876x2584这样的数据,更有直观放入表述叫100,500,800万像素。另一个是视场,视场诸如100cm X 80cm等,是拍摄对象真实的尺寸,这个视场的大小与镜头的放大、缩小倍数有关(更直接的说与焦距有关)。接下来我们看视觉分辨率,若100cm的距离成像到3876个像素上,那么在这个方向的分辨率就是100/3876原创 2015-07-01 21:07:58 · 4227 阅读 · 0 评论 -
halcon一维测量
halcon的一维测量核心步骤如下:1.通过一个矩形ROI创建测量对象,他的ROI是一个Rect2矩形,将在这个矩形phi方向上测量。2.调用单个尺寸测量或多个尺寸测量。3.关闭测量对象。代码如下:void TestProc1D(QWidget *w){ QSize size = w ->size();原创 2015-07-01 21:29:05 · 3429 阅读 · 0 评论