NIVision-LabVIEW在灰度图上画圆

news2024/11/26 17:25:45

问题来源

        在csdn上看到的这样一个问题,好像也没个正经答案,都用chatGPT回答,挺没劲的。不说提供个vi源代码,至少也来张截图嘛。我想着问题也不难,就自己动动手吧。

代码展示1

1、首先使用imaq ArrayToImage.vi创建了一个500*500分辨率、像素值全为0的全白的灰度图;

2、然后定义画圆属性值,圆心坐标XY和圆半径Radius。我们主要是使用Imaq Draw.vi来画圆;

DrawMode:Frame参数仅画边缘,Paint参数则会填充;

Shape to Draw:Oval参数是画圆的意思,我们也可以选择画直线Line和矩形Rectangle;

Pixel Color:灰度图中,0-255,从黑变白;0就是最黑。

Coordinates:在画圆的功能中,该参数的含义就是圆的外切四边形的左上角和右下角坐标,数组索引0、1代表左上角点XY坐标值,数组索引2、3代表右下角点XY坐标值。那么我们知道圆心坐标和半径,通过简单的计算就很容易得到这个数组。

3、点击“画圆”按钮,我们就能在image控件上得到我们想要的圆。

4、修改画圆属性值,并点击画圆按钮,我们会继续生成其他的圆形图案。唯一的缺点是,画圆不可逆,我们没法清除已经画上去的圆,除非重新运行vi。所以我想推荐使用另外一个函数Imaq Overlay Oval.vi。

代码展示2

1、我们使用Imaq Overlay Oval.vi来画圆;

 Bounding Rectangle:和上面的Coordinates是一个含义,不过上面的是数组,这里的是簇。

Draw Mode:Frame参数画边缘,Fill参数填充;

Color:可使用颜色选择框选择自己想要的图形颜色;

2、我们是用了Imaq Clear Overlay.vi在每次画圆之前可以把之前的Overlay涂层清除。

3、如果我们想保存现在的涂层,可以使用Imaq Merge Overlay.vi,这样就是新建的Overlay与源图融合在一起了。

4、那现在我们再考虑一个问题,我们能不能直接在控件上用ROI工具画圆,所画就是所得,不需要定义圆心和半径。当然,是可行的。

代码展示3

通过image控件上ROI来定义画圆形的区域,使用矩形工具、圆形工具画ROI都可以。Get Last Event方法节点判断Type=2也就是为Draw时才会执行Imaq Overlay Oval,并把坐标点转换成包含4个元素的簇,作为参数输入。

Get Last Event的方法节点创建步骤见下图:

文末总结

        一些思路分享,都是些很简单的函数调用,希望能帮助到需要的人吧。

        

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

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

相关文章

抖音微短剧小程序源码搭建:实现巨量广告数据高效回传

在数字化营销日益盛行的今天,抖音微短剧小程序已成为品牌与观众互动的新渠道。这些短小精悍的剧目不仅能迅速抓住用户的注意力,还能有效提升品牌的知名度和用户黏性。然而,想要充分利用这一营销工具,关键在于如何高效地追踪广告数…

effective java (1)(考虑使用!)静态工厂方法代替构造方法

只是目前阶段 对本书第一章内容的浅显认知,说实话 这一章 我看了4遍左右,每一遍感觉都不一样 他的创建模式 有时候像设计模式,但作者已经在原文中描述,它并不等价于 设计模式 我们正常 创建一个年级类 是长这样的 我们不写成标准…

day57---面试专题(框架篇)

框架篇 1. Spring refresh 流程 要求 掌握 refresh 的 12 个步骤Spring refresh 概述 refresh 是 AbstractApplicationContext 中的一个方法,负责初始化 ApplicationContext 容器,容器必须调用 refresh 才能正常工作。它的内部主要会调用 12 个方法,我们把它们称为 refre…

【期末速成】计算机操作系统 EP02 | 学习笔记

文章目录 一、前言🚀🚀🚀二、正文:☀️☀️☀️2.1 考点二:操作系统的功能及接口2.2 考点三:操作系统的发展及分类2.2 考点四:操作系统的运行环境(重要) 一、前言&#x…

LabVIEW航空用电缆检测

系统通过集成LabVIEW平台,实现了航空用电缆检测过程中的自动数据收集、处理和报告生成,显著提升了检测效率和数据准确性,降低了人工干预,提高了电缆检测的可靠性。 项目背景 在航空领域,电缆的质量检测对确保飞机及其…

【Python】已解决:TypeError: Object of type JpegImageFile is not JSON serializable

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:TypeError: Object of type JpegImageFile is not JSON serializable 一、分析问题背景 在进行Python编程时,特别是处理图像数据和JSON序列化时&…

星光云720全景VR系统源码

星光云720全景VR系统源码 系统体验地址项目介绍JDK版本后端主要依赖前端框架前端node 版本用户端框架介绍技术选型依赖全景内容简介系统图片部分功能截图系统体验地址 系统体验地址 VR全景系统体验地址 账号:18175760278 密码:12345678 项目介绍 JDK版…

如何应对pcdn网络拥塞和设备性能限制?

应对PCDN网络拥塞和设备性能限制,可以采取以下操作: 一、应对网络拥塞 1.优化路由选择:通过选择最优的路由路径,降低数据包在传输过程中的拥堵概率,从而减少网络拥塞的发生。 2.流量控制与调度: 3.流量…

安装 Kali NetHunter (完整版、精简版、非root版)、实战指南、ARM设备武器化指南、andrax、安卓渗透drozer

From:https://www.kali.org/docs/nethunter/ NetHunter 实战指南:https://www.vuln.cn/6430 乌云 存档:https://www.vuln.cn/wooyundrops 1、Kali NetHunter Kali NetHunter 简介 Net(网络),hunter&#x…

Animate软件基础:从图层文件夹复制帧

图层文件夹是用来对图层进行管理的功能,可以参考系统中文件夹的作用,而且同样可以多重文件夹进行放置,直接使用鼠标拖动就可以改变文件夹的位置和所属层级: 要选择整个文件夹,请折叠文件夹(单击时间轴中文件…

一篇大模型 Agent 工具使用全面研究综述

使用大型语言模型(LLMs)进行工具学习已成为增强LLMs能力以解决高度复杂问题的一个有希望的范式。尽管这一领域受到越来越多的关注和快速发展,但现有的文献仍然分散,缺乏系统性的组织,为新来者设置了进入障碍。因此对LL…

chatTTS 最强文字转语音模型本地部署!

今天本地部署了下传说中的语音合成大模型chatTTS,合成效果非常不错,比市面上其他工具合成的感情更丰富,语气更自然一些,一起来听听。 英文: React apps are made out of components. A component is a piece of the UI…

【Vue】Vue.js中常见的几种语法

在 Vue.js 中,主要的语法可以分为以下几种: 插值语法 (Interpolation) 使用双大括号 {{ }} 进行文本插值。 示例: {{ message }} 指令语法 (Directives) 指令是特殊的标记,用于告诉Vue框架如何操作DOM。Vue提供了多种内置指…

elasticsearch导出和导入数据

这里我使用的是离线操作的方式, 前提:安装了node, 安装elasticdump命令: npm install elasticdump -g 安装成功后进入elasticdump所在的目录: cd /usr/local/nodejs/lib/node_modules/elasticdump/bin 导出目标索引的映射结构…

黄子韬直播风暴揭秘经济人风波

黄子韬直播风暴:揭秘经纪人风波,真诚道歉小马丁6月27日晚,娱乐圈再次掀起波澜,黄子韬在直播中罕见地谈及了去年那场业界的经纪人风波,并意外地再次回应了与DJ小马丁的演出争议,这无疑让广大粉丝和网友们热血…

QT QThread 线程类的使用及示例

QThread 是 Qt 框架提供的一个用于处理多线程的类,它允许开发者编写具有并发功能的应用程序,提高程序的响应速度、执行效率和用户体验。 在操作系统中,线程是进程内的执行单元,拥有独立的执行路径。每个线程有自己独立的栈空间&a…

压缩pdf在线工具,压缩pdf大小的软件

如何有效地压缩PDF文件大小却是个问题,为了获得最佳的压缩效果,我们必须依赖专业的压缩工具,采用错误的方法可能会对文件内容产生负面影响,甚至导致文件无法打开,今天,我将分享一些独特的压缩技巧&#xff…

Spark基于DPU的Native引擎算子卸载方案

1.背景介绍 Apache Spark(以下简称Spark)是一个开源的分布式计算框架,由UC Berkeley AMP Lab开发,可用于批处理、交互式查询(Spark SQL)、实时流处理(Spark Streaming)、机器学习&a…

Redis基础教程(一):redis配置

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

已解决javax.security.auth.login.LoginException:登录失败的正确解决方法,亲测有效!!!

已解决javax.security.auth.login.LoginException:登录失败的正确解决方法,亲测有效!!! 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 1. 检查用户名和密码 用户名和密码验证 2. 验证配置文件 …