3D视觉——基恩士LJ-X系列线激光

news/2024/10/18 12:24:00/

基恩士LJ-X系列线激光

  • 1. 基恩士硬件和软件的调试
    • 1.1 下载并安装软件 LJ-X Navigator 和 LJ-X Observer
    • 1.2 将控制器与电脑连接,接上24V电源就可以使用了。
    • 1.3 通信连接
    • 1.4 实时设定
    • 1.5 批处理之后用Observer打开
    • 1.6 软件中有图像补正,测量等功能,比较简单。
  • 2. Halcon处理高度图
    • 2.1 寻找圆周焊中漏焊的区域
    • 2.2 Halcon代码
  • 3. 资源下载地址

1. 基恩士硬件和软件的调试

1.1 下载并安装软件 LJ-X Navigator 和 LJ-X Observer

下载 | 基恩士中国官方网站 (keyence.com.cn)
在这里插入图片描述
在这里插入图片描述

1.2 将控制器与电脑连接,接上24V电源就可以使用了。

在这里插入图片描述

1.3 通信连接

打开LJ-X Navigator ,选择设定——PC通信设定,弹出下面对话框:现在的IP地址是192.168.0.1,需要把电脑对应的端口IP设置在同一个字段。
在这里插入图片描述
在这里插入图片描述

1.4 实时设定

点击实时设定弹出对话框
分三步走:
一. 触发设定,设置采样周期,触发间距,批处理点数;
在这里插入图片描述
二. 拍摄设定,测量范围包括X方向和Z方向,相当于感兴趣区域,尽量把轮廓线调整到中间位置。需要注意的是,点击图像连续更新才会实时采集图像。
在这里插入图片描述
Z方向范围和曝光模式都会影响采样频率,LJ-X的测量速度是60mm/s。这些都设置完成后点击完成。
在这里插入图片描述

1.5 批处理之后用Observer打开

在这里插入图片描述

1.6 软件中有图像补正,测量等功能,比较简单。

在这里插入图片描述
需要注意的是,这个软件只能打开.lhix文件,但是保存的文件格式有多种,如果halcon可以处理TIFF文件,选择这个格式会保存两张图像,一张是高度图,而另一张是亮度图。
在这里插入图片描述

2. Halcon处理高度图

2.1 寻找圆周焊中漏焊的区域

在这里插入图片描述

2.2 Halcon代码

*圆周焊方法1
detect_col:=1068
detect_row:=100
detect_phi:=0
detect_length1:=2
detect_length2:=2
detect_offset:=-96std1_col:=100
std1_row:=100
std1_phi:=0
std1_length1:=2
std1_length2:=2
std1_offset:=-105std2_col:=100
std2_row:=100
std2_phi:=0
std2_length1:=2
std2_length2:=2
std2_offset:=-80set_display_font (3600, 26, 'mono', 'true', 'false')
dev_update_off ()for Index1 := 1 to 38 by 1*读取高度图read_image (Image1,'漏焊'+Index1)*读取亮度图read_image (Image1ngLuminance, '漏焊'+Index1+'_luminance')*分割电池区域图像threshold (Image1, Regions, 2756, 65535)   fill_up (Regions, RegionFillUp)reduce_domain (Image1, RegionFillUp, ImageReduced)   *得到电池边缘区域boundary (RegionFillUp, RegionBorder, 'inner')*电池区域的最小外接矩形   smallest_rectangle1 (RegionBorder, Row1, Column1, Row2, Column2)*区域差集得到电池上盖板边缘区域gen_rectangle1 (Rectangle1, Row1-1, Column1-1, Row1+1, Column2+1)gen_rectangle1 (Rectangle2, Row2-1, Column1-1, Row2+1, Column2+1)difference (RegionBorder, Rectangle1, RegionDifference)difference (RegionDifference, Rectangle2, RegionDifference2)connection (RegionDifference2, ConnectedRegions)select_shape (ConnectedRegions, SelectedRegions, 'column', 'and', 14.4, 500)    *获取上盖板边缘区域中所有点坐标get_region_points (SelectedRegions, Rows, Columns)*对高度图做一次均值滤波,可以屏蔽mean_image (Image1, ImageMean, 1, 1)get_image_size (Image1, Width, Height)meanDetect:=[]meanStd1:=[]meanStd2:=[]meanDifference:=[]deviation_detect:=[]gen_empty_obj (detect_rect) //测量矩形gen_empty_obj (std1_rect)   //基准1矩形gen_empty_obj (std2_rect)   //基准2矩形for I := 0 to |Columns|-1 by 1      *创建测量矩形gen_rectangle2 (Rect_dectect, detect_row+I*1,Columns[I]+detect_offset, detect_phi,detect_length1, detect_length2)*计算测量矩形内所有点平均高度值intensity (Rect_dectect, ImageMean, Mean_dectect, Deviation1)*创建基准1矩形gen_rectangle2 (Rect_std1, std1_row+I*1,Columns[I]+std1_offset, std1_phi,std1_length1, std1_length2)*计算测量矩形内所有点平均高度值intensity (Rect_std1, ImageMean, Mean_std1, Deviation2)*创建基准2矩形gen_rectangle2 (Rect_std2, std2_row+I*1,Columns[I]+std2_offset, std2_phi,std2_length1, std2_length2)*计算测量矩形内所有点平均高度值intensity (Rect_std2, ImageMean, Mean_std2, Deviation2)*判断是否漏焊if ((Mean_std1 + Mean_std2)/2 > Mean_dectect + 20)concat_obj (Rect_dectect, detect_rect, detect_rect)concat_obj (Rect_std1, std1_rect, std1_rect)concat_obj (Rect_std2, std2_rect, std2_rect)endif  endforunion1 (detect_rect, RegionUnion)dilation_rectangle1 (RegionUnion, RegionDilation, 1, 1)*显示亮度图是为了便于观察dev_display (Image1ngLuminance)dev_display (RegionDilation)dev_set_draw ('fill')dev_display (RegionDilation)disp_message (3600, Index1, 'window', 12, 12, 'black', 'true')stop()
endfordev_update_on ()

3. 资源下载地址

包括图像资源,代码资源。
https://download.csdn.net/download/weixin_38566632/24413279


http://www.ppmy.cn/news/152501.html

相关文章

IR2104驱动

IR2104的引脚定义: 芯片引脚意义(DataSheet)   SD信号为使能信号,高电平有效,芯片工作。   IN为高电平时HO为高,LO为低;IN为低电平时,HO为低,LO为高电平。我们的PWM信…

富士施乐 DocuCentre S2011 打印机驱动安装方法

有三种安装方式(驱动包内的安装说明有介绍),今天和大家说下其中两种, 第一种:自动安装(适用于用USB线连接的打印机,如果你是用USB线连接的推荐用这种方式安装) 1、将下载的驱动解压…

xtu 1290

#include<stdio.h> #include<string.h> int main() { int k; scanf("%d",&k); while(k--) { char a[20],b[20]; scanf("%s %s",a,b);//输入alice和bob的样例 int c,d; cstrlen(a); dstrlen(b); i…

机器人模型预测控制MPC(model predictive control)

当前控制动作是在每一个采样瞬间通过求解一个有限时域开环最优控制问题而获得。过程的当前状态作为最优控制问题的初始状态&#xff0c;解得的最优控制序列只实施第一个控制作用。这是它与那些使用预先计算控制律的算法的最大不同。本质上模型预测控制求解一个开环最优控制问题…

洛谷·P9231 平方差

[蓝桥杯 2023 省 A] 平方差 题目描述 给定 L , R L,R L,R&#xff0c;问 L ≤ x ≤ R L \leq x \leq R L≤x≤R 中有多少个数 x x x 满足存在整数 y , z y,z y,z 使得 x y 2 − z 2 xy^2-z^2 xy2−z2。 输入格式 输入一行包含两个整数 L , R L,R L,R&#xff0c;用一…

RMQ算法,组合数模板,题解2023.6.1

RMQ算法&#xff1a;快速求区间最大值 预处理&#xff1a; 第一部分是从 i 到 i2^{j-1}-1 &#xff0c;第二部分从i2^{j-1}到i2^j-1 &#xff0c; 因为二进制数前一个数是后一个的两倍&#xff0c;那么可以把 i 到 i2^j-1 这个区间通过2^{j-1}分成相等的两部分&#xff0c; …

State of GPT (ChatGPT 原理及现状介绍)

State of GPT 演讲信息&#xff1a; 演讲人&#xff1a;Andrej Karpathy (现在OpenAI任职)&#xff0c;之前是特斯拉视觉研发负责人&#xff0c;斯坦福深度学习入门课程 CS231N 讲师演讲主题&#xff1a;受到微软 BUILD2023 邀请&#xff0c;介绍 GPT 的原理及研发现状&#x…

硬件接口和软件接口

文章目录 硬件接口IDESCSISATA光纤通道游戏设备RAID卡USBMD设备MP3视频音频 软件接口Java里的接口面向对象的接口 聊聊软件接口1. 什么是接口2. 诞生3. 早期&#xff08;1950-1970&#xff09;4. 快速发展&#xff08;1970-1990&#xff09;5. 多元化发展&#xff08;1990-2010…