机器视觉halcon学习——检测斜面两边之间距离的数据稳定性

一个样品的斜面,因为有景深,所以无法同时聚焦到两条边。想办法聚焦到其中一条不太有特征的边,另一条边通过白色的特征来检测。
在这里插入图片描述

dev_open_window(0, 0, 800, 800, 'black', WindowHandle)
dev_set_color('red')
* Image Acquisition 01: Code generated by Image Acquisition 01
list_files ('D:/检测斜面两边之间的距离/img', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles)
for Index := 0 to |ImageFiles| - 1 by 1
    read_image (Image, ImageFiles[Index])
    * Image Acquisition 01: Do something
rgb1_to_gray(Image, GrayImage)
* shock_filter(GrayImage, SharpenedImage, 0.7, 10, 'laplace', 1)

 scale_image(GrayImage, ImageScaled, 3, -180)

draw_rake(Regions, WindowHandle, 30, 60, 15, Row1, Column1, Row2, Column2)
rake(ImageScaled, Regions1, 30, 60, 15, 1, 20, 'all', 'max', Row1, Column1, Row2, Column2, ResultRow, ResultColumn)
dev_set_color('yellow')
gen_cross_contour_xld(Cross, ResultRow, ResultColumn, 6, 0.01)
pts_to_best_line(Line, ResultRow, ResultColumn, 2, Row11, Column11, Row21, Column21)
dev_set_color('red')

draw_rake(Regions2, WindowHandle, 30, 60, 15, Row12, Column12, Row22, Column22)
rake(ImageScaled, Regions3, 30, 60, 15, 1, 20, 'all', 'max', Row12, Column12, Row22, Column22, ResultRow1, ResultColumn1)
dev_set_color('yellow')
gen_cross_contour_xld(Cross1, ResultRow1, ResultColumn1, 6, 0.785398)
pts_to_best_line(Line1, ResultRow1, ResultColumn1, 2, Row13, Column13, Row23, Column23)
stop()
dev_display(Line)
dev_display(Line1)
* gen_region_line(RegionLines, Row11, Column11, Row21, Column21)
* gen_region_line(RegionLines1,  Row13, Column13, Row23, Column23)
* 计算两条边距离的算子,通过点算到最大距离与最小距离。
distance_ss( Row11, Column11, Row21, Column21, Row13, Column13, Row23, Column23, DistanceMin, DistanceMax)
disp_message(WindowHandle, DistanceMin, 'window',20, 20, 'black', 'true')
disp_message(WindowHandle, DistanceMax, 'window',40, 20, 'black', 'true')
disp_message(WindowHandle, Index, 'window',5, 20, 'black', 'true')
stop()
endfor

效果图:在这里插入图片描述
此实例引入了外部算子。这部分算子是我在网上找到的,之前找的那个不知道哪里去了,现在重新找了一个。把他放网盘了,方便大家也方便自己下次使用。有需要 的可以自行下载。我是网上找的,如有侵权请联系我,看到会删。

链接:https://pan.baidu.com/s/1ac4BOp-7-RMT_P0qx1Xi_Q?pwd=3ok2
提取码:3ok2

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

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

相关文章

leetcode及牛客网二叉树相关题、单值二叉树、相同的树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的遍历等的介绍

文章目录 前言一、单值二叉树二、相同的树三、二叉树的前序遍历四、二叉树的中序遍历五、二叉树的后序遍历六、另一棵树的子树七、二叉树的遍历总结 前言 leetcode及牛客网二叉树相关题、单值二叉树、相同的树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的遍历等…

交换机堆叠技术

堆叠 一、园区网络以及数据中心技术发展演进 1、xSTP(STP,RSTP,MSTP) 问题: 收敛慢链路利用率不高次优路径------mstp不持支负载vlan数量限制(4k),网络规模瓶颈 二、堆叠基本概念…

vue实现左侧拖拽拉伸,展开收起

需求&#xff1a;1.左侧是个树形结构&#xff0c;有的文字过长展示不全&#xff0c;想通过拖拽显示全部的数据 2.展开收起 实现图中效果 <div class"catalog-drag"><svg t"1687228434888" class"icon" viewBox"0 0 1…

【主动均衡和被动均衡】

文章目录 1.被动均衡2.主动均衡1.被动均衡 被动均衡一般通过电阻放电的方式,对电压较高的电池进行放电,以热量形式释放电量,为其他电池争取更多充电时间。这样整个系统的电量受制于容量最少的电池。充电过程中,锂电池一般有一个充电上限保护电压值,当某一串电池达到此电压…

将点作为C++ map容器key值时的踩坑记录

1.背景 空间点具有X,Y,Z坐标等数据&#xff0c;一些情况下我们需要将点作为map容器的key值&#xff0c;比如识别重复点或处理轮廓等情况。 2.问题 将点作为map的key值&#xff0c;需要自定义比较器或者重载实现点类的小于<操作运算符&#xff0c;判断规则是a < b 和 b…

使用Python发送企业微信消息

大家好&#xff0c;在本文中&#xff0c;我们将探讨如何使用 Python 发送企业微信消息。将详细说明如何通过 Python 脚本实现消息的发送。无论是希望自动化某些任务&#xff0c;还是想要快速地向团队发送实时通知&#xff0c;本文都将为您提供一站式的解决方案。 企业微信提供了…

二叉树—堆(C语言实现)

一、树的概念及结构 1.树的概念 树是一种非线性的数据结构&#xff0c;它是有n&#xff08;n > 0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一颗倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下。 ● 有一个特殊的结点…

【SQL学习进阶】从入门到高级应用(六)

文章目录 ✨数据处理函数✨数字相关✨rand()和rand(x)✨round(x)和round(x,y)四舍五入✨truncate(x, y)舍去✨ceil与floor ✨空处理✨日期和时间相关函数✨获取当前日期和时间✨获取当前日期✨获取当前时间✨获取单独的年、月、日、时、分、秒✨date_add函数✨date_format日期格…

Netty SSL双向验证

Netty SSL双向验证 1. 环境说明2. 生成证书2.1. 创建根证书 密钥证书2.2. 生成请求证书密钥2.3. 生成csr请求证书2.4. ca证书对server.csr、client.csr签发生成x509证书2.5. 请求证书PKCS#8编码2.6. 输出文件 3. Java代码3.1. Server端3.2. Client端3.3. 证书存放 4. 运行效果4…

C++ 多重继承的内存布局和指针偏移

在 C 程序里&#xff0c;在有多重继承的类里面。指向派生类对象的基类指针&#xff0c;其实是指向了派生类对象里面&#xff0c;该基类对象的起始位置&#xff0c;该位置相对于派生类对象可能有偏移。偏移的大小&#xff0c;等于派生类的继承顺序表里面&#xff0c;排在该类前面…

Python中Web开发-Django框架

大家好&#xff0c;本文将带领大家进入 Django 的世界&#xff0c;探索其强大的功能和灵活的开发模式。我们将从基础概念开始&#xff0c;逐步深入&#xff0c;了解 Django 如何帮助开发人员快速构建现代化的 Web 应用&#xff0c;并探讨一些最佳实践和高级技术。无论是初学者还…

SM2259XT2、SM2259XT3量产工具开启“调整不对称CH/CE组态”功能

自己摸索的SM2259XT2、SM2259XT3量产工具开启“调整不对称CH/CE组态”功能。在量产部落下载SM2259XT2量产工具后&#xff0c;解压量产工具压缩包&#xff0c;找到并打开量产工具文件夹中的“UFD_MP”文件夹&#xff0c;用记事本或者Notepad打开“Setting.set”文件&#xff0c;…

Vue3实战笔记(53)—奇怪+1,VUE3实战模拟股票大盘工作台

文章目录 前言一、实战模拟股票大盘工作台二、使用步骤总结 前言 实战模拟股票大盘工作台 一、实战模拟股票大盘工作台 接上文&#xff0c;这两天封装好的组件直接应用,上源码&#xff1a; <template><div class"smart_house pb-5"><v-row ><…

Docker管理工具Portainer忘记admin登录密码

停止Portainer容器 docker stop portainer找到portainer容器挂载信息 docker inspect portainer找到目录挂载信息 重置密码 docker run --rm -v /var/lib/docker/volumes/portainer_data/_data:/data portainer/helper-reset-password生成新的admin密码&#xff0c;使用新密…

若依分页问题排查

无限分页数据返回 一、问题排查1.1 代码排查1.2 sql排查1.3 原因分析 二、问题修复 项目使用了 若依的框架&#xff0c;前端反馈了一个问题&#xff0c;总记录条数只有 48条的情况下&#xff0c;传入的 页数时从6~~无穷大&#xff0c;每页大小为10, 此时还能返回数据&#xff0…

SpringMVC框架学习笔记(四):模型数据 以及 视图和视图解析器

1 模型数据处理-数据放入 request 说明&#xff1a;开发中, 控制器/处理器中获取的数据如何放入 request 域&#xff0c;然后在前端(VUE/JSP/...)取出显 示 1.1 方式 1: 通过 HttpServletRequest 放入 request 域 &#xff08;1&#xff09;前端发送请求 <h1>添加主人…

浅谈线性化

浅谈线性化 原文&#xff1a;浅谈线性化 - 知乎 (zhihu.com) All comments and opinions expressed on Zhihu are mine alone and do not necessarily reflect those of my employers, past or present. 本文内容所有内容仅代表本人观点&#xff0c;和Mathworks无关 (这里所说…

视频汇聚EasyCVR视频监控云平台对接GA/T 1400视图库对象和对象集合XMLSchema描述

GA/T 1400协议主要应用于公安系统的视频图像信息应用系统&#xff0c;如警务综合平台、治安防控系统、交通管理系统等。在城市的治安监控、交通管理、案件侦查等方面&#xff0c;GA/T 1400协议都发挥着重要作用。 以视频汇聚EasyCVR视频监控资源管理平台为例&#xff0c;该平台…

探索UWB模块的多功能应用——UWB技术赋能智慧生活

超宽带&#xff08;Ultra-Wideband, UWB&#xff09;技术&#xff0c;凭借其高精度、低功耗和强抗干扰能力&#xff0c;正在成为智能家居领域的一项关键技术。UWB模块的应用不仅提高了智能家居设备的性能&#xff0c;还为家庭安全、设备管理和用户体验带来了显著的改善。 UWB模…

java基础-chapter15(io流)

io流&#xff1a;存储和读取数据的解决方案 I:input O:output io流的作用&#xff1a;用于读写数据&#xff08;本地文件,网络&#xff09; io流按照流向可以分为&#xff1a; 输出流&#xff1a;程序->文件 输入流&#xff1a;文件->程序 io流按照操作文件…