【issue-halcon例程学习】lines_gauss.hdev

例程功能

代码如下

dev_close_window ()
read_image (Angio, 'angio-part')
get_image_size (Angio, Width, Height)
dev_open_window (0, 0, 3 * Width / 2, 3 * Height / 2, 'black', WindowID)
dev_display (Angio)
dev_set_color ('blue')
MaxLineWidth := 8
Contrast := 12
calculate_lines_gauss_parameters (MaxLineWidth, [Contrast,0], Sigma, Low, High)
lines_gauss (Angio, Lines, Sigma, Low, High, 'dark', 'true', 'parabolic', 'true')
count_obj (Lines, Number)
dev_update_pc ('off')
dev_update_var ('off')
for I := 1 to Number by 1select_obj (Lines, Line, I)get_contour_xld (Line, Row, Col)get_contour_attrib_xld (Line, 'angle', Angle)get_contour_attrib_xld (Line, 'width_left', WidthL)get_contour_attrib_xld (Line, 'width_right', WidthR)* To display the lines, the point at which the gray value drops to* 25% of the contrast between the line and the background will be* displayed.  This point is given by sqrt(3/4) for the parabolic* line model.RowR := Row + cos(Angle) * WidthR * sqrt(0.75)ColR := Col + sin(Angle) * WidthR * sqrt(0.75)RowL := Row - cos(Angle) * WidthL * sqrt(0.75)ColL := Col - sin(Angle) * WidthL * sqrt(0.75)dev_set_color ('red')dev_display (Line)dev_set_color ('green')disp_polygon (WindowID, RowL, ColL)disp_polygon (WindowID, RowR, ColR)
endfor

要求

  1. calculate_lines_gauss_parameters —— 计算lines_gauss所需的参数SigmaLowHigh
    MaxLineWidth :入参,提取线的对比度。可传一个值,也可以用含两个值的数组作为参数传入,这样做第二个值决定了最小对比度,因此值必须比第一个值小;
    Sigma :出参,作为lines_gauss算子的入参;
    Low :出参,作为lines_gauss算子的入参;
    High :出参,作为lines_gauss算子的入参;
  2. lines_gauss —— 检测线及其宽度;
    Image :入参,待检测图片;
    Lines :出参,作为lines_gauss算子的入参;
    Sigma :入参,高斯平滑参数;
    Low :入参,滞后阈值操作的下阈值;
    High :入参,滞后阈值操作的上阈值;
    LightDark :入参,决定提取亮线还是暗线(‘light’/‘dark’);
    ExtractWidth :入参,决定线宽是否被提取(‘true’/‘false’);
    LineModel :入参,优化线位置和宽度的模型;
    CompleteJunctions :入参,决定连接处是否补齐(猜的);

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

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

相关文章

Java中的线程安全

关于多线程并发环境下,数据的安全问题。 1.为什么这个是重点? 以后在开发中,我们的项目都是运行在服务器当中,而服务器已经将线程的定义,线程对象的创建,线程的启动等,都已经实现完了。这些代码…

QT自制软键盘 最完美、最简单、支持中文输入(二)

目录 一、前言 二、本自制虚拟键盘特点 三、中文输入原理 四、组合键输入 五、键盘事件模拟 六、界面 七、代码 7.1 frmKeyBoard 头文件代码 7.2 frmKeyBoard 源文件代码 八、使用示例 九、效果 十、结语 一、前言 由于系统自带虚拟键盘不一定好用,也不一…

【python】合理使用copy与deepcopy

合理使用**copy**与**deepcopy**对于dict和list等数据结构的对象,直接赋值使用的是引用的方式。而有些情况下需要复制整个对象,这时可以使用copy包里的copy和deepcopy,这两个函数的不同之处在于后者是递归复制的。效率也不一样:&a…

动态设置小程序IOS底部小黑条

创建setIOSAreaMixin.js文件 import {mapState,mapMutations } from vuexexport default {computed: {...mapState("ios_area", ["globalAreaClass", isSafeAreaCalculated])},mounted() {if (!this.isSafeAreaCalculated) {this.calculateSafeAreaClass(…

牛客网-----------[NOIP2006]数列

题目描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k3时,这个序列是: 1,3,4,9,10,12,13&…

2024年重庆市公务员考试报名明天开始,招聘4530人!

2024年重庆公务员招录公告已出,招聘人数:4530人 ✅重庆市考重要时间节点 报名时间:2月1日9:00-2月6日9:00 缴费时间:2月8日 笔试时间:3月16日-17日 笔试查成绩时间:4月15日 面试时间:4月27日-2…

C++文件操作(1)

C文件操作 1.文本的写入及读取文本文件写入文本文件读取 2.二进制文件的写入及读取二进制文件写入二进制文件读取 3.小结 C也有处理文件的能力,其功能实现依赖文件流。文件流是C中用来处理文件输入输出的一种流类。文件流可以用于从文件中读取数据或将数据写入到文件…

《游戏-03_2D-开发》

基于《游戏-02_2D-开发》, 继续制作游戏: 首先要做的时切割人物Idle空闲状态下的动画, 在切割之前我们需要创建一个文件夹,用来存放动画控制器AnimatorContoller, 再创建一个人物控制器文件夹用来存放人物控制器&…

【Ubuntu 22.04.3 LTS】apt-get下载安装有关问题可能原因及解决方法

ubuntu 22.04.3 LTS unaccountably error 装啥啥没依赖 可能是用了不合适的源,换个就好了 Now, let’s take a look at the lsb_release output, with a special focus on the Codename, which could be a crucial piece of information. The lsb_release comm…

认识BPMN2.0

💖专栏简介 ✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。 ✔️文章中只包含演示核心代码及测试数据,完整代码可查看作者的开源项目snail-camunda ✔️请给snail-camunda 点颗星吧😘 💖说在前面 …

STM32单片机基本原理与应用(四)

直流电机驱动控制原理 1、电机正反转控制 在STM32中,直流电机的正反转控制主要通过改变电机输入电源的极性来实现。当电机的电压极性发生变化时,电机的旋转方向也会相应改变。在硬件电路中,可以通过继电器或晶体管等电子开关来切换电机的电源…

查找二叉树(tree_a)

时间限制:1秒 内存限制:128M 题目描述 已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点(x在二叉树中是唯一的),并指出是第几个结点。 输入描述 第一行n为二叉树的结点个树&#xf…

【TCP】重传与超时机制

前言 在网络通信的世界里,传输控制协议(TCP)扮演着一个至关重要的角色。它确保了数据的可靠传输,就像邮差确保每一封信都能准确无误地送达收件人手中一样。但是,网络环境充满了不确定性,数据包可能会因为各…

新书速览|Docker与Kubernetes容器运维实战

帮助读者用最短的时间掌握Docker与K8s运维技能 内容简介 随着云计算和容器技术的发展,Docker与Kubernetes已经成为各个企业首选的部署工具,使用它们可以提高系统的部署效率和运维能力,降低运维成本。本书是一本为初学者量身定制的Docker与Kub…

Android PMS——PMS服务启动流程(二)

PackageManagerService 既然是系统服务,那么肯定是通过 SystemServer 启动的,所以我们首先看一下 SystemServer 服务中启动 PackageManagerService 相关代码。 一、PMS启动 1、SystemServer 源码路径:/frameworks/base/services/java/com/…

iPhone手电筒不能工作的几种修复办法,总有一种适合你

这篇文章解释了为什么你的iPhone的手电筒不工作以及如何修复它。 手电筒不工作的原因 iPhone手电筒功能可能不起作用的原因有几个。通常,软件错误或小故障会导致该功能出现故障,但可能是你处于错误的电源模式或只需要充电。其他时候,确切的…

STM32F407移植OpenHarmony笔记4

上一篇写到make menuconfig报错,继续开整。 make menuconfig需要/device/soc/*下面有对应的Kconfig文件。 直接去gitee下载stm32的配置文件拿来参考用。 先提取Kconfig文件,后面再添加其它文件。https://gitee.com/openharmony/device_soc_st/tree/Open…

arcgis 如何将线路转为路面

在出外业的时候,用手机软件测出来的路(线要素),需要转换成路面。具体操作如下: 1.打开线图层 2.菜单-地理处理-缓冲区 在缓冲区中,输入要转换的线要素,在线性单位下方填写要转换的面的宽度&am…

[E模拟] lc2670. 找出不同元素数目差数组(哈希表+状态压缩)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:2670. 找出不同元素数目差数组 2. 题目解析 哈希计数统计就行了,题解里有看到用 long 64 位进行状态压缩的,可以参考下。这类题就不纠结写法了。 思路: 两个哈希表&#x…

回响科技二面面试题解答

面试题 1、你们的数仓中DWD层为什么要划分数据域?划分数据域之后会对ADS层造成什么影响?是可以提效还是可扩展性强?你们是如何考虑的呢? 2、AZkaban和dolphinScheduler的区别是什么?如果选型会从哪几个方面来考虑呢&a…