halcon视觉基础与编程入门
视觉九点标定原理?
视觉九点标定原理?
视觉九点标定是点的仿射变换,只是图像行列、和坐标XY的仿射关系,也就是矩阵关系。
从只有XY2个坐标轴来看,只有二个方向,所以只能适用于2D。
视觉九点标定具体流程:
第一步:制作9个点,相机采图的时候能全部拍到即可。
第二步:保持9个圆点不动,使用机械手的作业工具对准9个圆的圆心位置,并保存好机械手坐标。
然后把9个点的坐标按照圆的序号在生成一个一维数组变量。(一定要对好序号,就是第一步中排序后的序号和数组元素一一对应)
第三步:使用图像行列的圆心和机械手的一维数组变量,生成一个矩阵关系。
第四步:有矩阵了,就直接使用矩阵即可。
第五步:很多人会认为第四步完成了,有一部分情况是没有问题。
识别的物体的机械手位置不在抓取9个点的位置时,就不适用了,会偏的一塌糊涂。
opencv与halcon优缺点?
Halcon
在工业视觉领域属于经常使用的软件,相对于opencv的开源精神Halcon属于商业非开源项目并且收费。Halcon起源于德国在国内的工业视觉领域市场占用率遥遥领先,在国内市场份额处于第一。,其提供了1500个多个API算子供开发人员使用。其调试也是很方便的,断点单步运行,图像变化随时可以看到。Halcon算子可以被C ,VB,C#,Delphi等开发语言调用,同时算子也提供COM版,原则上,支持COM的所有语言都是可以调用Halcon算子的,所以其开发灵活性和调试方便性深受广大开发者喜欢。
Halcon提供的每一年都有升级,在升级的过程中算子的速度更快能达到汇编级别的加速度,对比opencv在总体的算子性能领先程序在五到十年。与此同时Opencv在调试的过程中没有Halcon方便,opencv的使用需要用户有比较好的编程基础,并且图像并不是实时能够观察调整。
Halcon:底层功能算法多,运算性能快,开发需要一定软件功底和图像处理理论。快速学习的做法:研究实例、做实战项目。halcon不能提供相应的界面编程需求,需要和vs来构造界面,才能构成一套完整软件。
OpenCV
Opencv:计算机图像方面的图像库,开源的,可以用于商用,在很多高校和科研机构使用比较多,更多的人选择它,是为了写自己的算法,其调试不像Halcon那样方便,其项目开发周期也比Halcon要长,所以在工业应用上,还不是太多。
但是,如果你是搞算法的,并且项目周期长,公司不愿意购买/使用商业视觉软件的,可以考虑Opencv;如果你的项目周期短,公司可以承受商业软件的成本,选择Halcon会是比较明智的选择。