机器视觉/将HIK海康面阵相机连接Halcon软件

文章目录

  • 概述
  • 工业相机客户端
  • 动态库拷贝
  • Halcon连接HIK相机的配置
  • 相机参数
  • 其他

概述

本文简述了如何将海康面阵相机连接到Halcon软件中进行实时取图的过程。
补充,
整个实践过程使用 17.12 / x64-win64 Halcon 软件版本 + 海康 MV-CE200-10GM 面阵相机。从左到右简解该海康相机型号,产品大类MV - 代表机器视觉,产品隶属C - 代表工业相机,产品系列E - 代表基础款面阵,分辨率200 - 代表200*10万像素,传感器厂商 1 - 代表 Sony 索尼,预留位 0,数据接口G - 代表 GigE Vision 通信,色彩类型M - 代表黑白。若你手头有《Halcon 插件使用手册》可直接参考。

工业相机客户端

接好相机电源线和通信网线,上电,打开海康机器人工业相机客户端 MVS,若 PC 与相机不在同一网段,则配置下 IP,设置好相机参数。本文实践过程使用的是立体相机客户端 3DMVS,两个客户端使用效果一致。要注意的是,相机IP地址这个相机环境配置操作,请在 MVS 中完成。因为,IP地址配置操作,似乎不能在Halcon软件中直接进行,尽管Halcon可以通过GigE协议识别到相机,但却无法执行连接操作。在MVS中连接成功,并取图,如下,
在这里插入图片描述

动态库拷贝

可通过 MVS/3DMVS 桌面快捷方式,跳转到海康工业相机客户端的安装目录,并进入到如下子目录中,
Development\MvCamSDK\ThirdPartyPlatformAdapter\HalconHDevelop

在这里插入图片描述
如上,我们按照自己的Halcon版本和平台版本,进入对应目录下,

在这里插入图片描述

在海康提供的《Halcon 插件使用手册》中,提到,若使用 Halcon XL 程序,则应拷贝 hAcqMVisionxl.dll,与 hAcqMVision.dll 使用方法相同。所谓 Halcon XL 程序是基于Halcon的扩展库程序,它算是Halcon的一部分,提供了额外的功能和工具,以满足更复杂的视觉应用需求。这些扩展库(XL)可以是由Halcon官方或第三方开发者开发的,用于增强Halcon的功能和性能。相比较于hAcqMVision,hAcqMVisionxl 提供了更多高级功能和接口,用户可自行选用。

通常,我们直接将两个插件一起拷贝到Halcon可执行文件目录,如下图,

在这里插入图片描述

Halcon连接HIK相机的配置

在经过了MVS配置的基础上,也进行了上述海康相机Halcon插件拷贝添加。此时打开Halcon软件,然后打开,助手菜单 -> 打开新的 Image Acquisition,如下图,

在这里插入图片描述

如上图,在资源选项卡中进行驱动选择配置。我们可以手动选择 MVision,也可以点击 ‘自动检测接口’ 按钮,其会自动配置为 MVision 海康相机接口。这里,Halcon软件会依据当前计算机系统中已安装的图像采集设备和相机的驱动程序,来填充上述下拉列表框。因为我们前边已经在 Halcon 执行目录下放置了 HIKROBOT 的 Halcon 插件库,因此有 MVision 这一选项存在。

切换到如下图的 ‘连接’ 选项卡,
在这里插入图片描述
如上图可以看到,此时 Halcon 已经通过GigE协议识别到了我们的相机,只需要点击 ‘连接’ 按钮,或者直接点击 ‘实时’ 按钮,便可以得到实时图像,在Halcon的图形窗口中效果如下,
在这里插入图片描述

相机参数

还是在上述采集工具中,切换到如下图的 ‘参数’ 选项卡,(在连接成功的情况下才可以切换到此选项卡)
在这里插入图片描述
如上图,由于此款海康相机,使用 GenICam(Generic Interface for Cameras)标准协议和数据格式与外部设备进行通信,因此,Halcon 软件可与 MVS 工业相机客户端软件有几乎同样的配置功能,直接读取和显示海康相机的参数,如曝光时间、增益、白平衡等,同时还可以对这些参数进行配置和调整。限于个人时间,此处不再展开描述。

其他

如上,当时我的图片着实拍摄的很烂,那是因为我没有进行打光处理。在实际工业相机应用中,尤其是2D相机的拍摄,打光是一个非常重要的因素,它直接影响图像的清晰度和质量。如果照明太强,可能会导致图像过曝,细节丢失。相反,如果照明太暗,图像可能会出现噪点和模糊。不同的照明角度可以营造出不同的阴影效果和质感。使用不同的光源位置和角度来照亮被拍摄物体,可以突出其形状和纹理,增强图像的清晰度和立体感。如果照明不均匀,可能会导致一部分区域过亮或过暗,使图像失去细节。使用多个灯光源或反射板来扩散光线,可以改善照明的均匀性。不同的光源具有不同的色温,如白炽灯的黄色光和日光灯的白色光。选择适当的灯光源和色温,可以确保图像的色彩准确性和真实感。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/506623.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习周报第35期

目录 一、文献阅读:You Only Look Once: Unified, Real-Time Object Detection1.1 摘要1.2 背景1.3 论文模型1.4 网络设计1.5 YOLO的局限性1.6 实现代码 target 7*7*30 值域为0-1 一、文献阅读:You Only Look Once: Unified, Real-Time Object Detection…

C/C++ 之 GSL 数学运算库使用笔记

Part.I Introduction 本文主要记录一下笔者使用 GSL 过程当中所做的一些笔记。 Chap.I 传送门 一些传送门 GSL源码(CMakeList 版本-Windows)GSL源码(configure 版本-Linux)GSL 在线文档GSL 文档下载 Chap.II GSL 简介 GSL 全…

【Java EE】多线程(一)

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更…

Python爬虫验证码识别——手机验证码的自动化处理

手机验证码的自动化处理 有一种验证码就是手机验证码,如果在PC上出现了一个手机验证码,需要先在PC上输入手机号,然后把短信验证码发到手机上,再在PC上输入收到的验证码,才能通过验证。 遇到这样的情况,如…

【Linux在程序运行时打印调用栈信息(函数名,文件行号等)】

在程序运行时打印相关调用栈信息&#xff08;函数名&#xff0c;文件行号等&#xff09;,便于梳理调用逻辑等 //stack.c #include <stdio.h> #include <execinfo.h> #include <stdlib.h> #include <string.h> #include <stdbool.h>#define MAX_…

vue cesium heatmap 热力图

实现效果 引入 heatmap index.html 中引入 heatmap <script src"./heatmap.min.js"></script>使用 <script lang"ts" setup> import * as Cesium from cesium import cesium/Build/Cesium/Widgets/widgets.cssdefineOptions({ name: …

MySQL count函数的使用

count&#xff08;&#xff09;函数在使用时参数好像不能设置为表达式&#xff0c;只能设置成指定字段或* 比如在查询性别为男的成员数目时不能写&#xff1a; select count(gendermale) from user_profile ; 否则直接得到6&#xff0c;也就是等价于select count(gender) fro…

Docker镜像的(Dive)分析和(Grype)漏洞扫描

Dive dive能够分析docker镜像分层内容以及发现缩小docker/OCI镜像大小的方法。 提高部署效率&#xff1a;能够秒级快速启动一个应用&#xff0c;而传统的方式分钟级别以上&#xff1b; 提高运行效率&#xff1a;相对物理机和虚拟化&#xff0c;容器具有更高的资源利用率&…

【经典算法】LeetCode 21:合并两个有序链表Java/C/Python3实现含注释说明,Easy)

合并两个有序链表 题目描述思路及实现方式一&#xff1a;迭代&#xff08;推荐&#xff09;思路代码实现Java版本C语言版本Python3版本 复杂度分析 方式二&#xff1a;递归&#xff08;不推荐&#xff09;思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标…

LLM大语言模型(八):ChatGLM3-6B使用的tokenizer模型BAAI/bge-large-zh-v1.5

背景 BGE embedding系列模型是由智源研究院研发的中文版文本表示模型。 可将任意文本映射为低维稠密向量&#xff0c;以用于检索、分类、聚类或语义匹配等任务&#xff0c;并可支持为大模型调用外部知识。 BAAI/BGE embedding系列模型 模型列表 ModelLanguageDescriptionq…

《QT实用小工具·五》串口助手

1、概述 源码放在文章末尾 该项目实现了串口助手的功能&#xff0c;可在界面上通过串口配置和网络配置进行串口调试。 基本功能 支持16进制数据发送与接收。支持windows下COM9以上的串口通信。实时显示收发数据字节大小以及串口状态。支持任意qt版本&#xff0c;亲测4.7.0 到…

[leetcode] 100. 相同的树

给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&#xff1a;true示例 2&a…

微信小程序【从入门到精通】——服务器的数据交互

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

【设计】6种ID生成策略描述,优点 ,缺点 ,适用场景

1.数据库自增ID 描述 自增Id是在设计表时将id字段的值设置为自增的形式&#xff0c;这样当插入一行数据时无 需指定id会自动根据前一字段的Id值1进行填充 优点 主键自动增长&#xff0c;不用手工设值、数字型&#xff0c;占用空间小、检索非常有利、有顺序&#xff0c;不会…

08、JS实现:数组两数之和算法的两种解决方案(一步一步剖析,很详细)

数组两数之和的算法 Ⅰ、数组两数之和算法的方案一&#xff1a;1、题目描述&#xff1a;2、解题思路&#xff1a;3、实现代码&#xff1a; Ⅱ、数组两数之和算法的方案二&#xff1a;1、实现代码&#xff1a; Ⅲ、小结&#xff1a; Ⅰ、数组两数之和算法的方案一&#xff1a; …

51单片机学习笔记11 使用DS18B20温度传感器

51单片机学习笔记11 使用DS18B20温度传感器 一、DS18B20简介1. 主要特点2. 工作原理3. 引脚说明4. ROM 二、1-wire协议简介1. 总线结构&#xff1a;2. 通信方式&#xff1a;3. 数据传输&#xff1a;4. 设备识别&#xff1a;5. 供电方式&#xff1a;6. 应用场景&#xff1a;7. 优…

vue页面实现旋转饼图

一、示例图片 二、参考 3D饼图-半透明 - ECharts图表集,echarts gallery社区,Make A Pie,分享你的可视化作品isqqw.com 三、实现 1、自定义组件RotatingPieChart.vue <template><div>【旋转饼图】</div><div ref"chart" class"chart-c…

C语言单链表的窗口化操作

#include <stdio.h> #include <stdlib.h>// 定义链表的节点结构 struct Node {int data;struct Node* next; };// 初始化链表 void initialize(struct Node** head) {*head NULL; }// 在链表末尾插入节点 void insert(struct Node** head, int value) {// 创建新节…

基于BEV的自动驾驶会颠覆现有的自动驾驶架构吗

基于BEV的自动驾驶会颠覆现有的自动驾驶架构吗 引言 很多人都有这样的疑问–基于BEV(Birds Eye View)的自动驾驶方案是什么&#xff1f;这个问题&#xff0c;目前学术界还没有统一的定义&#xff0c;但从我的开发经验上&#xff0c;尝试做一个解释&#xff1a;以鸟瞰视角为基础…

Web框架开发-Form组件和ajax实现注册

一、注册相关的知识点 1、Form组件 我们一般写Form的时候都是把它写在views视图里面,那么他和我们的视图函数也不影响,我们可以吧它单另拿出来,在应用下面建一个forms.py的文件来存放 2、局部钩子函数 1 2 3 4 5 6 7 # 局部钩子函数 def clean_username(self): userna…