
Halcon
文章平均质量分 64
Halcon
利白
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Halcon与PCB相关的例程
measure_circuit_width_lines_gauss.hdevpcb_inspection.hdevball.hdevmeasure_chip.hdevPCB板处理:获取焊点及线路端点https://blog.csdn.net/akadiao/article/details/80651895Halcon视觉检测:环形零件检测区域获取https://blog.csdn.net/akadiao/article/details/77567682...原创 2020-07-27 21:58:00 · 832 阅读 · 0 评论 -
Halcon裁剪图片reduce_domain与crop_domain
dev_close_window()dev_update_off ()dev_open_file_dialog ('read_image', 'default', 'default', Selection)read_image (Image, Selection)get_image_size (Image, Width, Height)dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)dev_display (Image)原创 2020-07-27 12:16:39 · 3424 阅读 · 0 评论 -
halcon模板匹配实践(6)差异模型
Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(idealimage)的明显差异(也就是不良)。标准图像可以采用几张OK品的图像训练(training)得到,也可以通过对一张OK品图像进行处理得到。训练后得到标准图像和一张variation图像(variationimage),variation图像中包含了图像中每个像素点灰度值允许变化的范围。标准图像和variation图像用来创建一个variationmodel,如此,其他图像就可以与variati原创 2020-07-26 22:25:37 · 4590 阅读 · 2 评论 -
xld的共线连接算子
union_cotangential_contours_xld根据输入的轮廓的端点处的局部曲率,连接曲率满足一定条件的轮廓union_cotangential_contours_xld (ContoursSplit, UnionContours, 4, 30, rad(45), 25, 10, 2, 'attr_forget')union_cotangential_contours_xld (Contours, UnionContours, 3, 'auto', rad(60), 30, 10, .原创 2020-07-26 21:42:40 · 1464 阅读 · 0 评论 -
halcon模板匹配实践(5)使用橡皮擦涂抹功能实现减少模板匹配特征
前者等待鼠标按下,后者无需等待直接监听鼠标并且都是一次触发一次返回,这样一来实现上面的功能就要挠一挠脑壳了。我的Qt作品(5)使用Qt+Halcon实现模板匹配;支持ROI框选/橡皮擦功能。1、按住鼠标左键拖动鼠标进行擦除工作,松开鼠标停止擦除。get_mbutton 和 get_mposition。2、继续按住鼠标左键重复功能1,鼠标右键退出。转载 2020-07-26 16:47:39 · 11443 阅读 · 7 评论 -
Halcon中关于角度计算和测量拟合的算子详解
算子简介1、计算直线与水平轴之间的夹角angle_lx( : : Row1, Column1, Row2, Column2 : Angle)角度计算方式:将直线看作向量(有方向性),以直线与水平轴的交点为起点(旋转中心)。如果终点在水平轴上方,则夹角为逆时针旋转水平轴到向量的角度(带正号)。如果终点在水平轴下方,则夹角为顺时针旋转水平轴到向量的角度(带负号)。结果取决于定义线条的两点的顺序。角度表示方式:弧度,-π<=Angle<π2、计算两条直线之间的夹角angle_ll(原创 2020-07-18 16:56:52 · 6707 阅读 · 0 评论 -
halcon模板匹配实践(4)模板的准备与制作技巧
halcon模板匹配学习(一) Matching 初印象https://blog.csdn.net/xiamentingtao/article/details/52516548halcon模板匹配学习(二) 准备模板https://blog.csdn.net/xiamentingtao/article/details/52530702halcon模板匹配,创建模板的总结http://www.skcircle.com/?id=235...原创 2020-07-10 18:18:57 · 1536 阅读 · 0 评论 -
halcon模板匹配实践(3)inspect_shape_model
《Halcon机器视觉算法原理与编程实战》11-12.hdev* ------------------- 形状模板匹配程序 ----------------*第1步:选择模板中的目标Row1 := 281Column1 := 160Row2 := 440Column2 := 312*用矩形框选定一个目标区域gen_rectangle1 (ROI, Row1, Column1, Row2, Column2)*显示ROI区域dev_display (ROI) *剪裁出这个区域原创 2020-07-10 18:14:11 · 11394 阅读 · 0 评论 -
Halcon极坐标转换,图文解说,含点坐标的转换
在halcon中对应的算子(1)极坐标的展开:polar_trans_image_ext(Image : PolarTransImage : Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height, Interpolation : )(2)极坐标的逆变换:polar_trans_image_inv(PolarImage : XYTransImage : Row, Column, AngleStart, Angl原创 2020-06-29 20:34:39 · 7029 阅读 · 0 评论 -
Halcon标定系列(3):我个人总结的“眼在手外“和“眼在手上”的心得笔记
字面意思,眼代表眼睛,这里指的是我们的工业相机;手,指的是我们的运动部分,比如机械手或者运动控制系统;眼在手上,就是相机按照在运动轴上面,跟随运动的某个轴一起运动,这种标定就是图像和机械点一一运动去做标定。眼在手外,就是相机固定一个位置拍照,机械手或者运动部分不会带动相机,这个时候标定就要一次性拍全视野,然后机械部分再一一针对图像的上点做好对应关系,然后标定。这两种标定是我们图像和运动部分联合主要的两种标定方法,都可以实现图像转机械运动,就是标定关系不一样而已,结果都是一样的!眼在手上就是一个点原创 2020-06-28 11:41:08 · 16205 阅读 · 10 评论 -
Halcon图像灰度取反
灰度线性变换*图像取反invert_image (GrayImage, ImageInvert)*增加对比度emphasize (ImageInvert, ImageEmphasize, Width, Height, 1)*减小对比度scale_image (ImageEmphasize, ImageScaled, 0.5, 0)*增加亮度scale_image (ImageScaled, ImageScaled1, 1, 100)*减小亮度scale_image (ImageScal原创 2020-06-26 16:35:42 · 6418 阅读 · 0 评论 -
Halcon标定系列(2):使用Halcon算子制作标定板
gen_caltab (9, 9, 0.015, 0.5, 'caltab.descr', 'caltab.ps')Caltab.ps文件可以用 Photoshop打开。图像尺寸的计算方式:按上述文件参数为标定板的点阵式 9*9的,每个点之间的间距是0.015米,原点直径与每个点之间距离的比值为 0.5。最后两个文件时输出,可以通过后面的文件夹符号来改变存储位置。或者用./’caltab.descr’的方式存在当前目录下。标定板黑边外延到黑边外延的距离计算式为:(Xnum+1)*MarkDi原创 2020-06-25 15:28:31 · 1569 阅读 · 0 评论 -
Halcon找圆系列(4)测量圆直径/半径的方法之暴力拟合法 vs 测量工具法
今天要给大家分享一点关于Halcon测量圆直径(半径)的方法。首先容我啰嗦两句:之所以要对这个看似很基础的问题进行探讨,主要原因有二,其一是这个问题确实困扰了我一段时间,当然这主要是由于我自己经验不足所致;其二是为了解决这个问题,我在网上查阅了很多博客资料,突然发现一件比较有趣的事情——网上多数能搜索到的关于这个问题的博客居然都主动避开了Halcon设计者的初衷,即最简单实现它的方式,反而和我这个经验不足的家伙一样,采用了自以为合理的解决方案——而且居然还是相近甚至相同的思路。针对这个现象,我后来也发现了转载 2020-06-14 13:40:08 · 5293 阅读 · 0 评论 -
Halcon数据类型转换系列(1)图像image、区域region和轮廓xld的相互转换(★firecat推荐★)
一、Halcon xld/region转换成image方法1:*Halcon感兴趣区域填充特定颜色color24 := [255,0,0]color8 := 255gen_region_contour_xld (UnionContoursCircles, Region1, 'filled')region_to_bin(Region, Binary, 0, 255, Width, H...原创 2019-10-30 22:28:34 · 23116 阅读 · 0 评论 -
Halcon找圆系列(3)找金属表面的圆孔
我在Halcon学习网发了一个帖子:请教工件的金属表面圆孔的识别与定位http://www.ihalcon.com/read-15016-1.html解决方案有了,源码如下:dev_update_off ()dev_close_window ()*读图像read_image (Image, 'D:/hellowprld/冲孔机视觉/pic/202006042055044969.jpg')*彩色转灰度图count_channels (Image, Channels).原创 2020-06-10 17:41:24 · 2169 阅读 · 2 评论 -
Halcon怎么处理32位的真彩色图?
原图需要先分割下通道(RGBA)再合成(RGB),针对RGB进行处理。* 读图像read_image (Image, 'D:/autocad.png')* 获取图像宽高get_image_size (Image, Width, Height)dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)set_displ...原创 2020-04-22 17:57:53 · 1156 阅读 · 0 评论 -
halcon readimage不支持中文路径?
Halcon v17.x之前的软件版本都不支持中文路径。Hdevelop环境下没问题,但是VC++下会报异常。read_image (Image, '我是中文.jpg')bool HalconImageWnd::readImage(const char *ch){ try { //HalconCpp::SetHcppInterfaceStringEnco...原创 2020-04-22 13:29:45 · 3399 阅读 · 5 评论 -
halcon模板匹配实践(2)算子find_shape_model里的参数Row, Column, Angle含义是什么?
Halcon模板匹配算子find_shape_model里的参数Row, Column, Angle含义是什么?find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, ...原创 2020-04-09 17:28:55 · 5097 阅读 · 4 评论 -
halcon视觉缺陷检测系列(2)频域和空间域转换的方法详解
halcon视觉缺陷检测之频域和空间域转换的方法详解原创 2020-04-07 15:58:36 · 17732 阅读 · 2 评论 -
机械手定位(带角度)的思路及3点计算旋转中心
1、旋转中心为:RectCenter_Row, RectCenter_Column2、基准模板图像中Mark的中心点: ModelRow, ModelCol3、拍摄得到的Mark新的中心点:Row,Column 角度:Anglehom_mat2d_identity(HomMat2DIdentity3)hom_mat2d_rotate(HomMat2DIdentity3,Angle,Rect...转载 2020-04-05 11:53:58 · 4456 阅读 · 1 评论 -
Qt+Halcon/Qt+OpenCV的pro工程文件和预编译头文件的书写(支持Windows和macOS)
Qt+HalconQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use# any Qt feature that has been m...原创 2020-04-04 13:30:15 · 854 阅读 · 2 评论 -
若干Halcon官方自带的案例学习
2D物体识别C:\Users\Public\Documents\MVTec\HALCON-19.11-Progress\examples\hdevelop\Applications\Object-Recognition-2Dforest.hdev识别森林中的树,这个例子是主要讲解了如何通过无人机拍摄的图像识别其中的对象。smooth_image 、watersheds 等算子被应用...原创 2020-04-03 20:20:38 · 5020 阅读 · 0 评论 -
常用的工业相机及SDK
Basler相机Basler pylon相机软件套装是一款包含易于使用的SDK、驱动程序和工具的软件套装,您可通过Windows、Linux PC或Mac来操作任何一款Basler相机。pylon采用最新GenICam技术,可无限制访问最新型号的相机并使用相关功能。https://www.baslerweb.com/cn/https://www.baslerweb.com/cn/sales-...原创 2020-04-02 12:00:17 · 5091 阅读 · 1 评论 -
Halcon点胶曲线胶路宽度检测
http://www.ihalcon.com/read-14380.htmlHalcon官方示例教程:apply_bead_inspection_model.hdev原创 2020-03-28 10:33:55 · 4242 阅读 · 0 评论 -
HALCON error #5190: Invalid window parameter的解决办法(需要hcanvas.dll文件)
Halcon对窗口的操作有两类:1、dev_open_window 打开实体的窗体,显示图像2、open_window 打开虚拟的窗体,实际是图像放入缓存*参见官方例程advanced_visualization_settings.hdevdev_close_window()dev_open_window (0, 0, 512, 512, 'black', WindowHandl...原创 2020-03-19 11:02:33 · 4339 阅读 · 0 评论 -
举例Halcon,简述数字图像处理之Blob分析和纹理分析texture_laws
1、Blob分析计算机视觉中的Blob是指图像中的一块连通区域,Blob分析就是对前景/背景分离后的二值图像,进行连通域提取和标记。标记完成的每一个Blob都代表一个前景目标,然后就可以计算Blob的一些相关特征。其优点在于通过Blob提取,可以获得相关区域的信息,但是速度较慢,分析难度大。Blob分析就是对这一块连通区域进行几何分析得到一些重要的几何特征,例如:区域的面积、中心点坐标、质心坐...原创 2020-03-16 21:26:02 · 4017 阅读 · 0 评论 -
Halcon打开图片:单个图片以及遍历读取文件夹里的所有图片
等价于dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)使用list_files和tuple_regexp_select算子。1、dev_open_file_dialog 打开对话框。3、*创建显示窗口,并设置窗口及绘制参数。原创 2020-03-16 18:07:44 · 4531 阅读 · 1 评论 -
Halcon License更新路径
https://www.51halcon.com/forum.php?mod=forumdisplay&fid=99https://www.51halcon.com/thread-295-1-1.htmlHalcon版本切换助手1、WindowsC:\Program Files\MVTec\HALCON-19.11-Progress\license2、Mac ...原创 2020-03-10 11:15:59 · 4346 阅读 · 0 评论 -
Halcon图像、区域缩放
最近在做一个项目的时候,需要对算法时间进行优化,由于算法可优化的过程较少,因此考虑在图像大小上做下文章。暂时,在Halcon中看到主要是以下几种方案:实现图像、区域缩放1.方法一根据缩放因子实现图像缩放zoom_image_factor(Image : ImageZoomed : ScaleWidth, ScaleHeight, Interpolation : )dev_close_w...转载 2020-02-17 16:54:53 · 5764 阅读 · 0 评论 -
关于实现Halcon算法加速的基础知识(CPU多核并行/GPU)
一、提高Halcon的运算速度,有以下几种方法:1、Multithreading(多线程)2、Automatic Parallelization(自动操作并行化)3、Compute devices,利用GPU提速,如果显卡性能好,至少可以提高5~10倍的运算速度二、多线程1、官方自带的例程get_operator_info.hdev,可以查看支持多线程的算子;......原创 2020-02-06 20:58:57 · 22157 阅读 · 8 评论 -
数字图像处理:噪声模型(椒盐噪声、随机噪声、高斯噪声)和滤波方法
图像噪声是图像在获取或传输过程中受到随机信号干扰,妨碍人们对图像理解及分析的信号。很多时候将图像噪声看作多维随机过程,因而描述噪声的方法完全可以借用随机过程的描述,即使用其概率分布函数和概率密度分布函数。图像噪声的产生来自图像获取中的环境条件和传感元器件自身的质量,图像在传输过程中产生图像噪声的主要因素是所用的传输信道受到噪声污染。一、噪声类型1、椒盐噪声(盐=白色,椒=黑色)椒盐......原创 2020-01-18 10:03:43 · 47662 阅读 · 0 评论 -
halcon视觉缺陷检测系列(1)常用的6种方法
一、缺陷检测综述缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证。首先常见缺陷:凹凸、污点瑕疵、划痕、裂缝、探伤等。常用的手法有六大金刚(在halcon中的ocv和印刷检测是针对印刷行业的检测,有对应算子封装):1.blob+特征2.blob+差分+特征3.光度立体4.特征训练5.测量拟合6.频域+空间结合二、频域+空间结合法1、频域结合空......原创 2020-01-08 00:12:31 · 32258 阅读 · 22 评论 -
OpenCV和Halcon分别实现彩色图像的白平衡效果
实现白平衡算法中的灰度世界法,能有效改善图像发红/发蓝/发绿的现象1、OpenCV#include <opencv2/opencv.hpp>using namespace cv; int main(){ Mat g_srcImage,dstImage; vector<Mat> g_vChannels; g_srcImage = im...原创 2020-01-06 12:57:29 · 2514 阅读 · 0 评论 -
Halcon示例之根据矩形中心和旋转角度求矩形角点
得益于(鸟叔)咋咋鸟的视觉平台和众网友的无私奉献,学习了不少知识和技巧;也学习下大神们的分享和奉献精神,分享一个实例源代码:根据矩形的中心坐标和矩形的旋转角度求矩形四个角点坐标;需要说明的是:我们是处理图像中的信息,即输入信息和输出信息都是以图像坐标系为参考的,而图像坐标系常见的样子是水平(X轴)向右为正,垂直(Y轴)向下为正,其实这是所谓的2D笛卡尔坐标系,属于左手坐标系;但是矩形的旋转角度,却...转载 2020-01-06 10:38:23 · 4952 阅读 · 2 评论 -
Halcon找圆系列(2)获取PCB焊接点
这个例程是要检查图中焊接点,并获取焊接点的直径。处理过程:首先,分离比较明亮的区域,然后将找出来的结果,转换成最小的平行矩形,即获得了图像处理的ROI。这里采用了阈值分割:将图像中的灰度值处于某一指定灰度值范围内全部点选到输出区域中。threshold(Bond,Bright,100,255)然后,在ROI区域内选择比较暗的区域,移除不适合的区域(利用形状,面积...原创 2020-01-06 10:28:43 · 820 阅读 · 0 评论 -
Halcon示例之角点检测(包含自定义函数的创建)
1、角点检测有关算子:points_harris()proj_match_points_ransac()gen_projective_mosaic()2、安装Halcon后下面有很多例程,里面有几个关于拼接的例子,推荐看一下:文件->浏览例程->方法->拼接->mosaicking.hdev。3、Halcon角点官方自带的测试示例,interest_poin...原创 2020-01-06 10:16:37 · 8604 阅读 · 0 评论 -
halcon如何判断HObject/HTuple为空
这个句柄怎么判断为空?其他的都是不合格的。原创 2020-01-05 17:19:53 · 18637 阅读 · 6 评论 -
Halcon颜色通道分离与合并RGB--HSI--HSV;饱和度/亮度均衡
Transformation from rgb to hsv and conversely* Transformation from rgb to hsv and converselyread_image(Image,'patras')dev_display(Image)decompose3(Image, Image1, Image2, Image3)trans_from_rgb(I...原创 2020-01-04 12:52:37 · 10152 阅读 · 1 评论 -
Halcon图像增强算子(直方图均衡化等)
Halcon中增强图像的对比度也是预处理中的一环,主要有如下方式:1. 灰度变换a. scale_image原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。作用:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。 scale_image: g’ := g * Mult + Add g为当前的灰度值...原创 2020-01-04 11:05:46 · 9714 阅读 · 0 评论 -
Halcon拟合系列(1)测量直线与圆
halcon中除了可以使用助手测量外,还可通过拟合来进行一系列的几何测量。要测量的工件如下:*采集图像read_image (Image, '1.png')get_image_size (Image, Width, Height)dev_open_window (0, 0, Width, Height, 'black', WindowHandle)dev_display (I...转载 2020-01-03 23:18:58 · 1568 阅读 · 1 评论