首页
关于
壁纸
history
Search
1
斑马扫码枪SDK调用
45 阅读
2
LabVIEW and Drivers 2019~2023
39 阅读
3
C#使用DataMatix.net生成二维码
39 阅读
4
Labview Actor Frame Work介绍
30 阅读
5
linux无法删除.user.ini文件,解决办法
26 阅读
默认分类
Labview
CSHARP
C/C++
AI生成
登录
Search
标签搜索
AI生成
labview
C#
python
linux
CloudZ
累计撰写
36
篇文章
累计收到
3
条评论
首页
栏目
默认分类
Labview
CSHARP
C/C++
AI生成
页面
关于
壁纸
history
搜索到
7
篇与
的结果
2024-02-17
创建Labview Express VI
工具菜单选择新建Express VI新建Express VI界面根据选择项目初始化Express VIExpress VI列表具体执行VI配置对话框VI生成帮助VI,注意此处需要指定控件,否则会报错修改完成后点击验证检查Express VI是否有误
2024年02月17日
15 阅读
0 评论
0 点赞
2023-05-08
Labview Actor Frame Work介绍
Labview Actor Frame Work是一个基于对象的软件架构,它可以帮助开发者创建多个VI独立运行并相互通信的应用程序。每个VI都是一个Actor,它可以执行一些特定的系统任务,维护自己的内部状态,并通过消息和其他Actor交互。Labview Actor Frame Work有以下几个优点:容易学习:Labview Actor Frame Work提供了一些模板和范例,让开发者可以快速上手和参考。降低死锁和竞态条件:Labview Actor Frame Work采用了一种无共享的并发模型,每个Actor都有自己的内存空间,不会直接访问其他Actor的数据,只能通过消息传递来交换信息。这样可以避免因为共享资源而导致的死锁和竞态条件。代码复用:Labview Actor Frame Work支持面向对象的编程范式,开发者可以利用继承和多态来创建不同类型的Actor,实现代码的复用和扩展。Labview Actor Frame Work的基本组成部分有:Actor Core VI:这是每个Actor的主要VI,它负责接收和处理消息,执行任务,更新状态,发送消息等。Message类:这是一个抽象类,它定义了所有消息的基本属性和方法。开发者可以根据需要创建不同类型的消息类,继承自Message类,并添加自己的属性和方法。Actor类:这是一个抽象类,它定义了所有Actor的基本属性和方法。开发者可以根据需要创建不同类型的Actor类,继承自Actor类,并添加自己的属性和方法。Launch Actor VI:这是一个辅助VI,它用于启动一个新的Actor,并返回一个Actor引用。Send Message VI:这是一个辅助VI,它用于向一个指定的Actor发送一个消息,并返回一个错误码。Stop Actor VI:这是一个辅助VI,它用于停止一个指定的Actor,并释放其资源。Labview Actor Frame Work的基本工作流程如下:创建Actor类和Message类:开发者需要根据应用程序的需求,设计不同类型的Actor类和Message类,并实现其属性和方法。编写Actor Core VI:开发者需要为每个Actor类编写一个对应的Actor Core VI,实现其主要功能和逻辑。启动根Actor:开发者需要在主程序中使用Launch Actor VI来启动一个根Actor,作为应用程序的入口点。发送和接收消息:开发者可以在主程序或者其他Actor中使用Send Message VI来向其他Actor发送消息,并在Actor Core VI中使用Message Queue函数来接收消息。停止所有Actor:开发者需要在主程序或者根Actor中使用Stop Actor VI来停止所有Actor,并结束应用程序。以上就是Labview Actor Frame Work的简单介绍,如果您想了解更多详情,请参考以下网址:https://www.ni.com/en-us/shop/labview/ni-labview-virtual-user-group--introduction-to-actor-framework.html https://forums.ni.com/t5/Actor-Framework/ct-p/7001 https://blog.csdn.net/qq_26647635/article/details/104178681 https://www.zhihu.com/question/378650962 https://zhuanlan.zhihu.com/p/558515756
2023年05月08日
30 阅读
0 评论
0 点赞
2023-04-27
C#使用使用ZXing库生成二维码
二维码是一种能够存储大量信息的二维条形码,它可以被智能手机等设备扫描和解析。在本文中,我将介绍如何使用C#语言和ZXing库来生成二维码,并展示一些实例。ZXing是一个开源的条形码处理库,它支持多种格式的条形码,包括二维码。它提供了一个名为BarcodeWriter的类,可以将任意文本或数据转换为二维码的图像。要使用这个类,我们需要先安装ZXing.Net包,可以通过NuGet或者直接下载源码来进行安装。安装好ZXing.Net包后,我们就可以开始编写代码了。首先,我们需要引入以下命名空间:using System.Drawing; using System.IO; using ZXing;然后,我们可以创建一个BarcodeWriter对象,并设置一些属性,如二维码的格式、大小、边距等:BarcodeWriter writer = new BarcodeWriter(); writer.Format = BarcodeFormat.QR_CODE; // 设置二维码格式 writer.Options.Height = 300; // 设置二维码高度 writer.Options.Width = 300; // 设置二维码宽度 writer.Options.Margin = 10; // 设置二维码边距接下来,我们可以调用writer.Write方法,传入要编码的文本或数据,得到一个Bitmap对象:Bitmap bitmap = writer.Write("Hello, world!"); // 将文本转换为二维码最后,我们可以将Bitmap对象保存为图像文件,或者显示在窗口上:bitmap.Save("qrcode.png"); // 保存为png文件 pictureBox1.Image = bitmap; // 显示在pictureBox控件上这样,我们就完成了一个简单的二维码生成器。我们可以尝试不同的文本或数据,看看生成的二维码是否能够被扫描和识别。通过这个例子,我们可以看到ZXing库是一个非常强大和方便的条形码处理库,它可以帮助我们在C#中轻松地生成和解析各种条形码。如果你想了解更多关于ZXing库的信息和功能,请访问它的官方网站:https://github.com/zxing/zxing
2023年04月27日
4 阅读
0 评论
0 点赞
2022-11-15
在Labview中进行深度学习模型推理
1.使用Labview自带深度学习推理模块,限制只能使用Tenserflow 1.14或openvino 2019.3的模型文件,不支持GPU推理加速,并且最近几年都没有再更新。在发现不支持GPU加速后就没有继续研究使用,已放弃该方案。2.使用OPENCV DNN模块进行推理,优点是环境依赖非常简单,API相对也不算复杂,NI vision图像与Mat图像之间转换可以通过NI OPENCV工具包实现,整体没有太高的技术障碍。针对YOLO系列模型推理速度基本能达到要求,目前已实现预定功能。缺点是DNN模块对模型支持不是非常完善,部分模型无法在DNN中加载,推理速度相对较慢。CPU加速编译方式:opencv + openvinoGPU加速编译方式:opencv + cuda3.使用onnxruntime进行部署,参考仪酷VIROBOT推出的Labview ONNX工具包,封装ONNXRUNTIME相关API后供Labview调用,ORT相比DNN速度更快,支持模型更多。但是需要对模型结构有一定了解,ORT相关API输入输出还没搞懂,暂时没有实现。4.在看ORT时发现百度飞浆Paddle开源有FastDeploy仓库,已经将模型部署相关功能打包成SDK,研究后觉得可以直接使用Labview调用FastDeploy来实现模型和不同推理后端的全覆盖,无需再自行针对不同推理后端封装,目前主要在看这个仓库,基本实现Labview对FastDeploy的调用和推理结果的解析,但因FastDeploy还在初期阶段,API经常更新,等正式版API稳定后再考虑封装Labview库正式使用。
2022年11月15日
9 阅读
0 评论
0 点赞
2022-10-06
Labview调用 Magick.NET实现图像格式转换
ImageMagickUse ImageMagick to create, edit, compose, or convert digital images. It can read and write images in a variety of formats (over 200) including PNG, JPEG, GIF, WebP, HEIC, SVG, PDF, DPX, EXR and TIFF. ImageMagick can resize, flip, mirror, rotate, distort, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves。https://imagemagick.org/index.phpImageMagick的 .NET 库: Magick.NEThttps://github.com/dlemstra/Magick.NET使用命令行的labview封装https://lavag.org/files/file/48-lvoop-imagemagick-interface/经过实际测试可以直接加载.net版本的DLL无需使用命令行程序,但是转换SVG格式图像的时候会出现SVG显示异常的问题,并且emf文件只支持读取不支持写入,因此改用SVG.NET库,没有再继续研究。 // Read first frame of gif image using (var image = new MagickImage("c:\path\to\Snakeware.gif")) { // Save frame as jpg image.Write("c:\path\to\Snakeware.jpg"); } // Write to stream var settings = new MagickReadSettings(); // Tells the xc: reader the image to create should be 800x600 settings.Width = 800; settings.Height = 600; using (var memStream = new MemoryStream()) { // Create image that is completely purple and 800x600 using (var image = new MagickImage("xc:purple", settings)) { // Sets the output format to png image.Format = MagickFormat.Png; // Write the image to the memorystream image.Write(memStream); } } // Read image from file using (var image = new MagickImage("c:\path\to\Snakeware.png")) { // Sets the output format to jpeg image.Format = MagickFormat.Jpeg; // Create byte array that contains a jpeg file byte[] data = image.ToByteArray(); }
2022年10月06日
16 阅读
0 评论
0 点赞
1
2