摘要:
本人文着重阐述以下问题:halcon是否只能使用halcon专用的标定板?halcon标定板如何生成?halcon标定板如何摆放,拍照数量有无限制?halcon是否只能使用halcon专用的标定板?halcon提供了简便、精准的标定算子并且提供了标定助手,这无疑大大方便了广大开发者。在halcon中... 阅读全文
摘要:
在使用C++编写halcon之前,确定自己有较好的C++基础,并熟悉一套开发平台如VCProgrammers_guide.pdf chapter7中有关于creating Aplicatin with halcon/c++的详细介绍以vs2008为例 工具---》选项 (有图介绍不配文字啦)用C++... 阅读全文
摘要:
TheBasicsofMeasureObjects 2.1 the process of 1D Edge extractionThen,themeangrayvaluealongeachlineofprojectioniscalculated.Thesequenceofthesemeanvaluesiscalledtheprofile简单的说 是以 profile Line 为基准 对profile Line 垂直方向上的 灰度值取平均。这一系列的平均灰度值组成profile。如果以profile Line 为基准,它的垂线不是 水平或者数值的时候 如上图 (a)(b) ,就需要一个插值操作。 阅读全文
摘要:
HALCON 10.0 II-B3.1 Gray-Value-Based Matching基于灰度的匹配是一个非常经典的方法,它仅适用于对象的不模糊,不缺失,灰度值不变化。适用于对象旋转转。注意对于所有的应用,相关性和基于形状的匹配是要优先考虑的。使用灰度匹配的理由可能是由于匹配的对象和灰度有关系。The rare cases in which the very slow classical gray-valuebased matching is to be preferred comprise the case that the matching must be illumination-v 阅读全文
摘要:
最近发现好多仁兄,转载本人博客。希望转载的时候注明出处O(∩_∩)O哈!另有halcon视频课程http://www.ihalcon.com/read-305.html 阅读全文
摘要:
在做ocr的分割部分,然后看到了 kmeans ,将二值化的后白色像素坐标作为特征输入,以此做分类分割。 投影分割神马的就不用了 。这个opencv有支持省事。// kmean.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <opencv/cv.h>#include <opencv/cvaux.h>#include <opencv/highgui.h>#include <opencv/cxcore.h>#include <vector>//#pragma com 阅读全文
摘要:
双背景建模即建立两个背景模型,一个更新快的背景模型:1帧更新一次,一个是更新慢的背景模型:30帧(或者N帧)更新一次。更新背景模型我选用平均加权(cvRuningAvg)效果图为演示 检测出杯子被拿走的情况:因为快背景更新较快,所以杯子被拿走后,快背景中的杯子会马上消失而慢背景中的杯子驻留的时间较长。将快慢背景相减 就能获取被子。// lostDetection.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "opencv/highgui.h"#include "opencv/cv.h&qu 阅读全文
摘要:
context shape形状上下文中对轮廓点随机采样的实现http://www.cnblogs.com/xiaotie/用C#实现了该算法且有详细的说明,我用opencv实现了一下。效果图:// shapeContenx.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "highgui.h"#include "cv.h"#include "cxcore.h"#include "ml.h"#include <list>using n 阅读全文
摘要:
最近在看 serge belongie 的shapecontext paper ,里面有一个极坐标图的显示附带的有matlab的源码,这里用opencv 实现以下。继续啃paper ,有谁也在看一起交流下。void drawPolarCircle(int nmaxR ,int nnumcircle){IplImage * im_src = cvCreateImage(cvSize(nmaxR *2 + 30 , nmaxR *2 +30) , 8 ,3 );cvZero(im_src);float avg = log10f(nmaxR)/nnumcircle;float r =avg;CvPo 阅读全文
摘要:
对于傅里叶的各种推倒证明这里不提,本文着重‘看公式写代码’。一维离散福利叶变换的公式:反傅里叶:/*函数:FFT2功能:(反)傅里叶变换 --- 基2参数:ptd -- in 空域pfd -- out 频域nlevel --- in 步数sign --- 1 反傅里叶 -1 傅里叶*/void FFT2(complex *pTd , complex * pFd , int nlevel,int sign){int nLength = pow(2.0,1.0*nlevel);complex * pw = (complex * )malloc(nLength * sizeof(complex)); 阅读全文