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

news2024/11/24 18:57:08

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

影响生产RAG流水线5大瓶颈

检索增强生成(Retrieval Augmented Generation,RAG)已成为基于大型语言模型的生成式人工智能应用的关键组成部分。其主要目标是通过将通用语言模型与外部信息检索系统集成,增强通用语言模型的能力。这种混合方法旨在解决传统语言模…

宝塔面板如何创建ZeroTier-Moon节点

本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:折腾过内网穿透的玩家,ngrok、frp 都应该不陌生了,自己搭也好,用别人提供的免费服务也好,配…

“合力同行 快乐飞凌”——飞凌嵌入式5月团建记

这个5月,飞凌嵌入式全体成员来到了北京十渡东湖港风景区,开展“合力同行 快乐飞凌”主题团建活动 。 1、凝聚力挑战赛 本次团建活动不仅是大家放松心情、享受自然的好机会,更是增进彼此了解、加强团队合作的绝佳平台。 团建活动伊始&#x…

vue UI组件整理

Vue2Vue3Element - The worlds most popular Vue UI frameworkOverview 组件总览 | Element Plushttps://v2.iviewui.com/docs/guide/installhttps://www.iviewui.com/view-ui-plus/guide/introduce按钮 Button - Ant Design按钮 Button - Ant DesignVuetify — A Material Des…

GPT-4o:人工智能技术的新巅峰

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

17.Redis之主从复制

1.主从复制是怎么回事? 分布式系统, 涉及到一个非常关键的问题: 单点问题 单点问题:如果某个服务器程序, 只有一个节点(只搞一个物理服务器, 来部署这个服务器程序) 1.可用性问题,如果这个机器挂了,意味着服务就中断了~ 2.性能/支持的并发量也是比较有限…

Java集合-List(Collection子接口)及其子类(ArrayList、Vector、LinkedList)

List接口是 Collection接口的子接口。 1、List集合类中数据有序, 即添加顺序和取出顺序有序,而且可以重复。 2、List集合类中每个元素都有其对应的顺序索引,即支持索引。例,list.get(2);取第三个元素。 3、实现类有很多…

【linux-imx6ull-设备树点灯】

目录 1. 设备树简介1.1 编译-引用1.2 设备树文件结构1.3 设备树节点介绍1.3.1 特殊节点chosen 1.4 节点内容追加 2. 设备树常用OF操作函数2.1 节点寻找类2.2 属性提取类2.3 其它常用类 4. 设备树下LED实验4.1 实验简介4.2 添加LED设备节点4.3 获取设备节点并提取属性4.3.1 获取…

ChatTTS,语气韵律媲美真人的开源TTS模型,文字转语音界的新魁首,对标微软Azure-tts

前两天 2noise 团队开源了ChatTTS项目,并且释出了相关的音色模型权重,效果确实非常惊艳,让人一听难忘,即使摆在微软的商业级项目Azure-tts面前,也是毫不逊色的。 ChatTTS是专门为对话场景设计的文本转语音模型&#x…

iphone内存满了开不了机怎么办?白苹果解决办法分享!

虽然苹果手机在使用时比较顺畅,但是手机用久了,照片、视频等资料累积过多,也难免会导致内存不足,出现无法开机卡在开机界面白苹果的情况。 内存不足导致iPhone白苹果的问题很常见,可以说是苹果最常见的故障之一。接下来…

探索多模态MR图像的脑肿瘤分割任务结构| 文献速递-深度学习肿瘤自动分割

Title 题目 Exploring Task Structure for Brain Tumor Segmentation From Multi Modality MR Images 探索多模态MR图像的脑肿瘤分割任务结构 01 文献速递介绍 脑肿瘤分割旨在从多模态磁共振(MR)序列中自动分割肿瘤区域,这些序列由先进的…

【Java面试】七、SpringMvc的执行流程、SpringBoot自动装配原理

文章目录 1、SpringMVC的执行流程1.1 视图阶段1.2 前后端分离阶段 2、SpringBoot自动配置原理3、框架常用的注解3.1 Spring的注解3.2 SpringMvc的注解3.3 SpringBoot的注解 4、面试 1、SpringMVC的执行流程 1.1 视图阶段 旧项目中,未前后端分离时,用到…

JVM 指针压缩

运用java内存对齐填充,对java内存进行8字节划分,java对象指针映射到每个划分区域上,使得4个字节(32位)表示2^32个地址,从而使4个字节指针映射32G内存空间。 1.为什么进行指针压缩: jvm从32位变…

【YUV格式数据】【ffplay】播放或者查看YUV格式图片或文件数据

背景 最近在调试hisi解码功能,需要把h264格式解码成yuv数据,调试的时候需要最后查看下出来的yuv格式数据是否正常,需要用到一些工具软件进行查看。然后就做个总结。 解决方案 方案1:使用ffplay命令播放YUV文件 使用ffplay命令…

vue2 bug 小白求助!!!(未解决,大概是浏览器缓存的问题或者是路由的问题)

我的vue2项目出现了一个超级恶心的bug 具体流程: 页面a点击a标签->到页面b->页面b用户退出刷新页面->点击浏览器的返回按钮返回上一页 返回页面后页面没有刷新导致用户名还显示这 项目中没有用keep-alive缓存 也在设置了key 尝试了window.removeEventLi…

【Linux】线程ID

大致草稿—————————— 思维导图 学习目标 一、线程ID的理解 1.1 引出对tid的理解 我们先来创建一个线程复习一下线程的函数: pthread_t tid; // 创建一个线程 pthread_create(&tid, nullptr, threadrun, (void*)"thread-1"); // 打印出…

惯性动作捕捉与数字人实时交互/运营套装,对高校元宇宙实训室有何作用?

惯性动作捕捉与数字人实时交互/运营套装,可以打破时空限制,通过动捕设备写实数字人软件系统动捕设备系统定制化数字人短视频渲染平台,重塑课程教学方式,开展元宇宙沉浸式体验教学活动和参观交流活动。 写实数字人软件系统内置丰富…

【excel】设置可变下拉菜单(一级联动下拉菜单)

文章目录 【需求】制作动态下拉菜单,显示无重复的“班级”列表【思路】设置辅助列,使用UNIQUE()函数去重,并用FILTER()去掉结果中的“0”【步骤】step1 辅助列step2 设置下拉菜单 【总结】 【需求】制作动态下拉菜单,显示无重复的…

你真的会用收藏夹吗?可道云teamOS收藏夹,竟能缩短多层级文件夹的路径,实现快速访问

在日常工作中,我们时常会面临一个让人头疼的问题:如何在海量的文件和资料中快速找到我们需要的那一份? 尤其是在团队协作中,每个人都在不断地上传、更新文件……导致文件目录层级复杂,搜索也变得繁琐。 这时候&#x…

海外短剧APP/H5 系统开发搭建

目前已经有多个客户用我们搭建的海外短剧系统,在使用中已经取得了较高的收益。目前一个客户打算做日本区域的海外短剧项目,需求已经理清楚了,系统正在搭建中