上位机图像处理和嵌入式模块部署(qmacvisual脚本编辑)

本文主要是介绍上位机图像处理和嵌入式模块部署(qmacvisual脚本编辑),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        个人认为qmacvisual软件中,另外一个鲜明的特色,就是它本身支持javascript脚本编写,虽然是利用qt script engine完成的。这个脚本编写,让fae或者说现场部署的同学一下子有了配置插件、调整业务的能力。一般来说,业务执行的时候,都是至上而下进行的,很少有循环的。哪怕是我们之前添加了判断语句,也没有办法做到这一点。

        但是现在有了脚本编辑,这就相当于可以用脚本对全局变量进行修改。有了这一点,搭配上跳转语句,这就可以完成循环操作了。不仅如此,对于一般的协议收发、简单的数值计算以及逻辑补充,脚本都是可以胜任的。但涉及到复杂的图像算法,最好还是用dll插件的形式去完成。

1、创建项目和流程

        创建项目和流程的方法和之前一样,这里不再赘述。

2、准备全局环境变量

        这一次和之前的判断语句不同,需要准备两个环境变量。一个是给判断语句提供的,一个是给跳转语句使用的。前者是一个Int数据,命名为count。后者是命名为state,是Bool数据,为常量true,主要用于循环。

3、涉及测试用例

        整体测试由一个判断模块和一个延时1插件组成的。其中判断模块又包含了判断语句、延时、脚本编辑和跳转语句。

        其中判断语句的条件是count是否小于5,

        而跳转语句的条件是state是否等于true。因为整个逻辑执行的过程中,state不会发生改变,所以这里其实仅仅是为了跳转而已。跳转的目标就是判断语句,

        剩下来的延时自不必多说。关键是这个脚本编辑应该怎么写。我们发现,全局变量之一的state恒定为true。另外一个全局变量count,如果没有控制模块对它进行修改,那么整个逻辑肯定是走不出去的。所以,有必要在脚本逻辑里面添加必要的内容,让count有机会改变自己,所以我们添加了这样的脚本语句,

        其中添加的脚本格式是javascript形式。内容如下所示,

var cnt = ProjectGetGlobalValue("count");
cnt = cnt + 1;
ProjectSetGlobalValue("count", cnt);

        首先通过ProhectGetGlobalValue获得count的数据,加1之后,重新利用ProjectSetGlobalValue去处理。既然count已经发生了改变,那么单击Cycle按钮之后,就可以看到所有的插件都开始运行起来了。一开始肯定是判断模块里面的内容先运行,后期肯定就剩下判断语句和延时1运行了。

        重新检查确认后,发现Count数值也维持在5上面不动了。这样就基本达到我们设计的目的了。

这篇关于上位机图像处理和嵌入式模块部署(qmacvisual脚本编辑)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/820496

相关文章

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Python logging模块使用示例详解

《Pythonlogging模块使用示例详解》Python的logging模块是一个灵活且强大的日志记录工具,广泛应用于应用程序的调试、运行监控和问题排查,下面给大家介绍Pythonlogging模... 目录一、为什么使用 logging 模块?二、核心组件三、日志级别四、基本使用步骤五、快速配置(bas

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Python+Tkinter实现Windows Hosts文件编辑管理工具

《Python+Tkinter实现WindowsHosts文件编辑管理工具》在日常开发和网络调试或科学上网场景中,Hosts文件修改是每个开发者都绕不开的必修课,本文将完整解析一个基于Python... 目录一、前言:为什么我们需要专业的Hosts管理工具二、工具核心功能全景图2.1 基础功能模块2.2 进

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1