【HALCON】
文章平均质量分 72
莫干
这个作者很懒,什么都没留下…
展开
-
Halcon学习(二)
%%%%%%%%%%%%%%%%%提取可视化传感器敏感单元区域的算子1. shape_trans(Region :RegionTrans :Type : )transform的方法取决于Type。常用的Type有'ellipse'、'outer_circle'、'inner_circle'、'rectangle1'、'rectangle2'、'inner_rectangle1'原创 2016-04-08 22:00:26 · 980 阅读 · 0 评论 -
.net 中Bitmap和Halcon中HObject的相互转换
public void BitmapToHObjectBpp24(Bitmap bmp, out HObject image) { try { Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height); Bi原创 2017-11-20 10:49:31 · 14633 阅读 · 10 评论 -
Halcon标定板
************************************************************************用淘宝上购买的标定板,标定后的mean error为0.014用打印机打印的标定纸,mean error为0.37还是要用专业标定板才行。*************************************************原创 2017-06-07 14:52:06 · 1819 阅读 · 0 评论 -
Halcon读取jpg格式图片失败的处理方法
halcon读取jpg格式图片时,抛异常。最先想到的方法是用windows的画图软件或者PicPix软件将jpg格式的图片另存为BMP格式,但图片数量较多,这种方法不可取。如下的方法,利用Graphics类中的DrawImage方法重新绘制不带图片格式的Bitmap,而后save为BMP格式的图片。代码如下: OpenFileDialog dialog = new OpenFileD原创 2017-11-28 20:43:29 · 5147 阅读 · 0 评论 -
OCR识别中的字符分割
OCR识别的一个重要环节是将连续的字符分割为若干个独立的字符区域。1st 方法:1) 二值化 2)闭运算 3)计算连通域 4)面积筛选 5)区域排序 不稳定因素: 1)打印机油墨量多时,导致字符间距减少,闭运算效果达不到预期 2)若字符部分像素面积较少,闭运算导致字符完整性被破坏2nd 方法: 1原创 2017-11-29 10:09:40 · 8178 阅读 · 0 评论 -
C# Halcon编程出现异常:“试图加载格式不正确的格式”
将项目属性中的目标平台 改为Any CPU,运行正常。原因不明原创 2017-10-24 10:39:28 · 3607 阅读 · 0 评论 -
Halcon与C#联合编程时的内存回收机制
摘自halcon文档:The .net philosophy is to let the garbage collector remove unused objes. However, because the garbage collector detects unused objects only from time to time, the used memory increases in原创 2017-10-30 11:09:59 · 4305 阅读 · 1 评论 -
HALCON使用心得
1. 二维的方法比较基础。三维的还要多学习,尤其是涉及到机械手引导定位和手眼标定的那一部分。2. halcon终究只是一个库,要结合VC进行编程。深入了解人机交互、运动控制等方面的知识。3. 要想走的更远,还是得多学openCV。算法是基础,代码实现是其次,关键是优化,提高速度。原创 2017-05-18 20:16:25 · 11599 阅读 · 8 评论 -
Halcon学习(四)图像处理中的两个坐标系
写在前面:从“矩阵都是对基的变换”这个角度去理解仿射变换,这样更为直观。 矩阵的学习应从矩阵的几何意义入手 一 参考MATLAB文档1. Pixel Indices (matlab文档)origin in upper left corner of the image (pixel 和 image 都是这个坐标系),左上角的像素坐标为(1,1),右边的像...原创 2017-06-08 14:51:08 · 21640 阅读 · 14 评论 -
手眼标定中的closed chain
The remaining two transformationsbaseHtooland camHcalof the closed chain of transformations depend on the robot pose and are known from the robot kinematics and from the algorithm that determin原创 2017-06-20 16:26:21 · 1020 阅读 · 0 评论 -
图片处理线程异常终止
代码如下:while(true){Hobject checkImage;if(m_imageBuffer.is_not_empty()){m_imageBuffer.pop_back(&checkedImage);OutPutDebugString(_T("获取图片正常");}elsecontinue;...}调试运行的时候,只输出两次"原创 2017-05-31 09:07:30 · 383 阅读 · 0 评论 -
basler、halcon在vs下的配置方法
1. basler sdk C/C++->常规->附加包含目录 $(PYLON_DEV_DIR)\include链接器->常规->附加库目录 $(PYLON_DEV_DIR)\lib\x642. halcon1)导出代码为halcon10-legacy包含目录:$(HALCONROOT)\include\cpp$(HALCONROOT)\include库目录原创 2017-06-06 13:19:18 · 3506 阅读 · 0 评论 -
Halcon学习(五)手眼标定之眼在手外
首先了解变换的步骤,而后再深究其数学原理。眼在手外的标定,分为以下几步:1. 图像处理,定位抓取点坐标。2. 在放置物体的平面上放置halcon标定板,将标定板坐标系定义为参考坐标系,利用相机标定得到的内参,将抓取点从二维变换到三维(可以认为就是从相机中走出来,这一步至关重要),获得其在参考坐标系下的位姿。3. 将参考坐标系下的抓取点转换到相机坐标系中。(参考坐标系与相机坐标系间的变换原创 2017-06-15 20:47:02 · 21924 阅读 · 3 评论 -
Halcon学习(三)
图像预处理消除噪声mean_image/binomial_filter抑制小斑点或细线median_image平滑图像smooth_image平滑图像的同时保存边缘anisotropic_diffusion遍历文件夹与文件选择1)遍历文件夹:list_files(转载 2016-04-14 10:42:17 · 2303 阅读 · 0 评论 -
halcon学习(一)dyn_threshold
1.dyn_thresh 动态阈值分割dyn_threshold(OrigImage,ThresholdImage : RegionDynThresh : Offset,LightDark : )当前背景之间差异明显时,可以设定全局阈值进行threshold,但很多情况下由于背景不均一,目标体经常表现为比背景局部亮一些或暗一些,无法确定全局阈值操作,需要通过其邻原创 2016-04-06 10:03:28 · 12876 阅读 · 1 评论 -
halcon中闪屏的解决方法
拖动滑块实时显示处理结果时,窗口中有明显的闪屏。通过设置"flush_graphic"的不同属性可以解决这个问题HOperator.SetSystem("flush_graphic","false"); // 图片较大,显示前先将溢出属性设为falseHOperator.ClearWindow(windowHandle);HOperator.DispObj(Image,windowHa原创 2018-01-10 11:14:01 · 2967 阅读 · 0 评论