halcon5_1

图像采集助手-Image Aequisition

1.配置相机IP 和巨型帧等

2.通过海康MVS软件 找到 对应halcon 版本

下载MVS https://www.hikrobotics.com/cn/machinevision/service/download/?module=0

  1. 找到对应halcon版本的 海康相机三方配置文件

4.找到Halocn文件目录 粘贴上图文件

注意:路径为x64

通过halcon 助手 -Image Aequisition -自动检测 -找到MVision接口

连接相机-采集图像-实时显示

  • 接口库‌:相机通信协议的动态链接库
  • 设备 ‌:下拉框选择相机设备(如 GEV_DA0265991),
  • 端口(Port)默认为 0
  • 相机类型 ‌:auto 表示自动识别相机类型
  • 分辨率 ‌:通过 X/Y 下拉框选择图像分辨率 全部 为相机最大分辨率。
  • 场(Field) ‌:progressive 表示‌逐行扫描 ‌(与隔行扫描 interlaced 对应,逐行更适配实时显示)。
  • 颜色空间(Color Space) ‌:default 为默认颜色空间,也可自定义(如 RGB、YUV 等)。
  • 位深度(Bit Depth) ‌:8 表示单通道像素深度(如灰度图),若需彩色图可调整为更高位深(如 24 位 RGB)。

显示图像‌:下拉菜单选择显示模式

图像显示窗口‌:下拉菜单选择图像显示的目标窗口

忽略实时采集的第一幅图像‌:勾选后采集时会跳过第一帧 避免首帧异常影响统计。

采集控制流‌:选择"在循环中采集图像",表明代码生成的逻辑是循环执行图像采集操作。

采集模式‌:设置为"异步采集",即采集过程不阻塞主线程,可并行处理其他任务。

  • 变量名 ‌:
    • 连接句柄:AcqHandle(用于标识图像采集设备的连接实例)。
    • 循环计数:Index(循环变量,记录当前采集次数)。
    • 图像对象:Image(存储每次采集到的图像数据)。
    • 图像文件:ImageFiles(可能用于存储图像文件路径或批量处理的文件列表)。
    • 勾选"自动断开连接",表示循环结束后自动释放AcqHandle对应的设备连接。

插入代码后:

open_framegrabber是Halcon中用于连接图像采集设备(如工业相机、视频文件等)的核心算子,其功能包括初始化设备、配置参数并返回设备句柄

参数'GigEVision2'指定使用第二代GigE Vision接口,

参数0,0,0,0,0,0表示采用默认分辨率与偏移量,

-1表示无超时限制,

'default'保留色彩空间和相机名称的默认配置,

AcqHandle相机设备句柄 可用于后续代码相机对象

**grab_image_start**是HALCON图像处理库中用于启动异步图像采集的算子,其功能是初始化相机或图像采集设备的连续采集流程。

参数:

  1. AcqHandle:通过open_framegrabber获取的图像采集设备句柄,用于指定相机对象
  2. MaxDelay:最大延迟时间(单位毫秒),通常设为-1表示无限制等待

grab_image_async是HALCON中用于异步图像采集的核心算子,其参数MaxDelay设置为-1时表示禁用延迟控制机制

与同步采集grab_image不同,异步模式下相机在完成当前图像采集后立即开始下一帧采集

标定助手

标定作用:

1.可以对图像进行畸变的矫正

2.可以将图像的坐标(pixel)转成世界物理坐标(mm)

Halcon标定板大小:标定板的大小要大于全视野的1/3推荐使用2/3视野大小的标定板,

1.写标定脚本 用于初始化标定板信息

二 使用Halcon的标定助手,进行标定文件生成

海康机器人-机器视觉-产品详情 查看相机像元

海康机器人-机器视觉产品页 查看镜头焦距

2.拍照标定

应用标定结果 消除畸变和图像的坐标(pixel)转成世界物理坐标(mm)

* 相机内参

CameraParameters := ['area_scan_division',0.0530041,-30.6905,8.30027e-06,8.3e-06,1493.54,1124.96,3072,2048]

* 相机外参

CameraPose := [0.00312876,-0.0130657,0.483445,1.6477,3.25114,355.164,0]

stop ()

* 获取畸变参数

  • 'adaptive':畸变矫正模式(自适应模式,会自动适配最优的矫正方式);
  • CameraParameters:原始的相机内参(包含畸变系数,需提前通过相机标定得到);
  • 0:目标畸变系数(设为 0 表示完全消除径向畸变);
  • CamParamChange:输出的矫正后相机参数(无畸变)

change_radial_distortion_cam_par ('adaptive', CameraParameters, 0, CamParamChange)

* 生成畸变矫正Map

  • Map:输出的矫正映射表(包含 X/Y 方向的像素偏移);
  • 'bilinear':插值方式(双线性插值,兼顾矫正精度和速度,是最常用的选择)

gen_radial_distortion_map (Map, CameraParameters, CamParamChange, 'bilinear')

* 读取图像

read_image (Image20250511114004720, 'C:/Users/Jumy/MVS/Data/Image_20250511114004720.bmp')

* 进行畸变矫正

map_image (Image20250511114004720, Map, ImageMapped)

* 计算圆心点的距离

rgb1_to_gray (ImageMapped, GrayImage)

threshold (GrayImage, Region, 0, 190)

connection (Region, ConnectedRegions)

select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 1500, 1800)

select_obj (SelectedRegions, ObjectSelected1, 1)

select_obj (SelectedRegions, ObjectSelected2, 2)

area_center (ObjectSelected1, Area, Row1, Column1)

area_center (ObjectSelected2, Area, Row2, Column2)

* 像素转物理坐标

* 相机内参

* 外参

* 像素坐标

* 显示单位

* 输出 物理坐标

image_points_to_world_plane (CamParamChange, CameraPose, Row1, Column1, 'mm', X1, Y1)

image_points_to_world_plane (CamParamChange, CameraPose, Row2, Column2, 'mm', X2, Y2)

distance_pp ( Y1, X1, Y2, X2, Distance)

相关推荐
普密斯科技2 天前
精准把控每一处细节——FPGA焊点高度精准检测实施方案
人工智能·深度学习·数码相机·计算机视觉·fpga开发·测量
ffreask2 天前
2 硬件选型指南:如何为openclaw选择最佳小龙虾处理设备
数码相机·ai·编程·技术
Bnews2 天前
动作捕捉技术:机器人科研的精准“眼睛”与NOKOV度量动捕的创新实践
数码相机·机器人
Mountain and sea2 天前
工业机器人视觉系统配置与调试完全指南:从硬件选型到实战应用
数码相机·机器人
3DVisionary2 天前
汽车玻璃曲面偏差难控?蓝光3D扫描仪精准把关整车装配面差
人工智能·数码相机·计算机视觉·热失控·xtdic·xtom·动力电池测试
格林威2 天前
Halcon vs OpenCV 速度对比(表格)
人工智能·数码相机·opencv·机器学习·计算机视觉·视觉检测·halcon
格林威2 天前
工业相机图像高速存储(C#版):先存内存,后批量转存方法,附海康相机实战代码!
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·海康相机
格林威2 天前
工业相机图像高速存储(C++版):先存内存,后批量转存方法,附海康相机实战代码!
开发语言·c++·人工智能·数码相机·计算机视觉·工业相机·堡盟相机
格林威2 天前
工业相机图像高速存储(C++版):内存映射文件(MMF)零拷贝方案,附堡盟 (Baumer) 相机实战代码!
开发语言·c++·人工智能·数码相机·计算机视觉·视觉检测·工业相机