LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介

简介: LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介

VI简介背景图 (2).jpg

前言

今天想和大家分享的是:仪酷LabVIEW AI视觉工具包的VI简介,如介绍内容有误,欢迎各位朋友们帮忙纠正~


一、AI视觉工具包VI简介

已经安装好的AI工具包位于程序框图-函数选板-Addons-VIRobotics-opencv_yiku,内容包括:Mat类型(矩阵)的操作、摄像头采集、图片文件读写、基本算子、视频读写、神经网络调用、迅捷VI等功能。
image.png

Mat(矩阵类)

该大类下面主要是和矩阵相关的创建,操作。包含:
 Create_Mat.vi:矩阵的创建
 Convert:矩阵常用数据类型的转换类
 Mat :Mat的相关操作,如取子矩阵、基本数学运算、逻辑操作、求两矩阵差的绝对值、图像融合等。
image.png

Camera(相机类)

该大类下面主要是和相机有关的操作。主要包括
 new_Cap.vi:初始化相机
 startCapture.vi:启动本地相机
 startCaptureUrl.vi: 启动网络相机
 stopCapture.vi:停止拍摄
 readImage.vi:获取一帧图像
image.png

Core(核心类)

该大类主要对图片做一些基础处理,包括
 DFT.vi:傅里叶变换
 idft.vi:逆傅里叶变换
 normalize.vi:图像归一化处理
 flip.vi:图像翻转
 hconcat.vi:图像水平拼接
 inRange.vi:图像分割

image.png

Darw(图像绘制类)

该大类主要是实现图像的绘制,包括:
 Draw_Line.vi:绘制直线
 Draw_Rect.vi:绘制矩形
 Draw_arrowesLine.vi:绘制箭头线段
 Draw_Circle:绘制圆
 Draw_ellipse.vi:绘制椭圆圆弧和椭圆扇形
 Draw_Polylines.vi:绘制多边形
 Draw_putText:绘制文字
 getTextSize.vi:获取文本大小

image.png

imgcodes(图片读写类)

该大类主要是对图片进行读写操作,包括
 imdecode.vi:图片解码
 imencode.vi:图片编码
 imread.vi:读取图片
 imwrite.vi:保存图片

image.png

imgproc(图片处理算子类)

该大类主要是对图片进行基本操作,包括
 blur.vi:均值滤波
 calHist.vi:计算直方图
 Canny.vi:边检检测
 cvtColor.vi:色彩转换
 drawContour.vi:绘制轮廓
 findContous.vi:寻找轮廓
 filter2d_float.vi:图像卷积运算
 GaussianBlur.vi:高斯滤波
 HoughCircles.vi:霍夫圆检测
 HoughLines.vi:霍夫直线检测
 matchTemplate.vi:模板匹配
 resize.vi:图像缩放
 threshold.vi:二值化图像
 cornerHarris.vi :Harris角点检测
 cornerMinEigenVal.vi:计算特征值和特征向量
 dilate.vi:图像膨胀
 erode.vi:图像腐蚀
 boxPoints:获取矩阵顶点坐标
 Corners--> cornerSubPix:亚像素级角点检测
 pointPolygonTest.vi:检测点是否在轮廓内

image.png

Imgpro--Transform:该大类下面主要是图像的各种变换,包括
 GetAffineTransform.vi:实现图像仿射
 getPerspectiveTransform.vi:实现透视变换
 getRotationMatrix2D.vi:图像旋转
 warpAffine.vi:仿射变换
 warpPerspective.vi:透视变换

image.png

geometry(几何图形类)

该大类主要是点的合集,比如说轮廓。
image.png

calib3d(相机定标和三维重建类)

该大类主要是对相机进行标定,并进行三维重建。主要包括
 calibrateCamera.vi:相机标定
 CalibrateHandEye.vi:手眼标定
 ComputeCorrespondEpilines.vi:为一幅图像中的点计算其在另一幅图像中对应的对极线
 copy_vectorPoint2f.vi:复制点集
 drawChessBoardCorners.vi:绘制检测到的棋盘角点
 findChessboardCorners.vi:寻找棋盘图的内角点位置
 findFundamentalMat.vi:计算两个视角的基础矩阵
 initCameraMatrix2D.vi:得到3D到2D的初始化的摄像机矩阵
 initUndistortRectifyMap.vi:计算无畸变和修正转换关系
 remap.vi:一幅图像中某位置的像素放置到另一个图片指定位置
 stereoCalibrate.vi:双目摄像机标定
 steroRectify.vi:对校准过的摄像机计算修正变换
 stereoRectifyUncalibrated.vi:对未校准过的摄像机计算修正变换
 undistort.vi:校正图像因相机镜头引起的变形
 undistortPoints.vi:迭代去畸变矫正

image.png

dnn(深度神经网络类)

OpenCV中的dnn(Deep Neural Network module)模块是专门用来实现深度神经网络相关功能的模块。OpenCV自己并不能训练神经网络模型,但是它可以载入别的深度学习框架(例如TensorFlow、pytorch、Caffe等等)训练好的模型,然后使用该模型做inference(预测)。而且OpenCV在载入模型时会使用自己的dnn模块对模型重写,使得模型的运行效率更高。所以如果你想在OpenCV项目中融入深度学习模型,可以先用自己熟悉的深度学习框架训练好,然后使用OpenCV的dnn模块载入。主要包括:
 blobFromImage.vi:对即将进入神经网络的彩色图片进行预处理
 blobFromImage_1c.vi:对即将进入神经网络的灰度图片进行预处理
 NMSBoxes.vi:对检测的到的boxes和对应的scores进行非极大值抑制处理,消除冗余重叠的框
 NMSRotatedBoxes.vi:对检测的到的倾斜boxes和对应的scores进行非极大值抑制处理,消除冗余重叠的框
 ORC:文字识别相关

image.png

dnn.Net(深度神经网络类)

该大类主要实现模型的加载与推理
 readNetFromTensorflow.vi:载入一个tensorflow生成的pb文件和与其对应的pbtxt配置文件,返回它的网络
 readNetFromDarknet.vi:载入一个darknet生成的cfg配置文件和weights模型文件(通常为yolov3和yolov4),返回它的网络
 readNetFromONNX.vi:载入一个通用的神经网络模型文件ONNX(通常由pytorch、tensorflow、caffe等框架生成),返回它的网络
 readNetFromModelOptimizer.vi:载入英特尔的模型优化器中间表示,IR:具有网络拓扑的 XML 配置文件和具有训练权重的二进制文件bin,返回它的网络
 setInput.vi:将图像(或矩阵)输入至神经网络net中
 forward.vi:神经网络进行推理,并得到某一层的结果,如name为空,则返回最后一层的结果
 forward_muti_outputs.vi:神经网络进行推理,根据输入端的名字names,得到多层的结果
 getLayerNames.vi:获取该网络所有层的名字
 getUnconnetedLayerNames.vi:获取不连接的输出层的名字
 setPreferableBackend.vi:要求网络在其支持的地方使用特定的计算后端
 setPreferableTarget.vi:要求网络在特定目标设备上进行计算

image.png

ml(机器学习模块)

该大类主要是一组统计分类、回归分析、数据聚类的类与统计模式函数(目前主要是SVM支持向量机)

image.png

ml.SVM该大类下面主要是SVM的创建、预测与训练的vi
image.png

python(矩阵转换为python格式)

image.png

feature2d(特征检测与匹配)

该大类主要是实现特征点提取与匹配。
 DescriptorMatcher:匹配特征向量的抽象类
 draw_KeyPoints.vi:快速绘制特征点
 draw_matches.vi:绘制关键点的匹配情况, 一左一右两张图像,匹配的关键点之间用线条链接
 matcher_knnMatch.vi:
 matcher_match.vi:
 SIFT:创建SIFT特征检测器
 SIFT_Compute.vi:计算关键点描述符
 SIFT_Detector.vi:检测关键点
 Vector_DMatch:匹配结果点集
 Vector_KeyPoints:特征点集

image.png

videoWriter

该类为视频流读写类

cuda(显卡类)

该大类主要是获取cuda设备相关参数的类。
 getCudaEnabledDeviceCount.vi:获取 CUDA 的设备数
 getDevice.vi:获取CUDA设备属性
 setDevice:设置CUDA设备属性
image.png

face(人脸检测&人脸识别)

该大类主要是实现人脸检测和人脸识别。主要有两大类:基于YuNet的人脸检测器FaceDetectorYN和基于DNN的人脸识别器FaceRecognizerSF。

image.png

 FaceDetectorYN-->detect.vi:从给定图像中检测人脸,获得人脸区域和5点landmark
 FaceDetectorYN-->FaceDetectorYN_Creat.vi:创建人脸检测器的实例类
image.png

 FaceRecognizerSF-->alignCrop.vi:对齐图像以将面部放在标准位置
 FaceRecognizerSF-->Create.vi:使用给定参数创建此类的实例
 FaceRecognizerSF-->feature.vi:从对齐的图像中提取人脸特征
 FaceRecognizerSF-->match.vi:计算两个人脸特征之间的距离

image.png

二、开放神经网络交互(ONNX)工具包VI简介

已经安装好的ONNX工具包位于程序框图-函数选板-Addons-VIRobotics-onnx内容包括:获取onnx可用的provider、onnx神经网络调用推理等功能。如下图所示:

image.png

getavailproviders.vi

获取onnx可用的providers。

Session(onnx模型加载推理类)

 Create_Session.vi:加载onnx模型并指定推理加速引擎(CPU、CUDA、TensorRT)
 Run_one_input_pointer.vi:将单个图片指针输入至onnx模型并进行推理
 Run_one_input_data.vi:将单个图像(或矩阵)输入至onnx模型并进行推理
 Get_Resule_Info.vi:获取每层输出及shape
 Get_result.vi:动态vi,获取某层输出
 release.vi:释放资源
 delete.vi:删除

image.png

三、工具包下载链接

总结

以上就是今天要给大家分享的内容。大家可根据链接下载工具包并进行安装。

如果有问题可以在评论区里讨论,提问前请先点赞支持一下博主哦,如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。进群请备注:LabVIEW机器视觉

**如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏

目录
相关文章
|
8天前
|
人工智能 移动开发 JavaScript
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
|
15天前
|
人工智能 自然语言处理 Java
【100%好礼】诚邀体验SoFlu-JavaAl开发助手,重塑AI编码价值
在这个数字化时代,软件开发任务繁重,飞算科技推出SoFlu-JavaAl开发助手,诚邀您体验AI编码新境界。它不仅生成代码,还通过自然语言理解需求,精准生成完整工程源码,大幅缩短设计工期,提升效率。SoFlu-JavaAl支持一键构建Java Maven工程,轻松合并老项目,快速响应需求变更。参与体验还有机会获多重好礼!
|
5天前
|
人工智能 开发框架 安全
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
Smolagents 是 Hugging Face 推出的轻量级开源库,旨在简化智能代理的构建过程,支持多种大语言模型集成和代码执行代理功能。
169 68
Smolagents:三行代码就能开发 AI 智能体,Hugging Face 开源轻量级 Agent 构建库
|
1天前
|
人工智能 前端开发 程序员
通义灵码 AI 程序员全面上线,能和人类协作完成复杂开发任务
1 月 8 日消息,阿里云通义灵码 AI 程序员已全面上线,成为全球首个同时支持 VS Code、JetBrains IDEs 开发工具的 AI 程序员产品。此次上线的 AI 程序员相比传统 AI 辅助编程工具,能力更全面,可以让开发者以更高效、更沉浸的方式完成编码任务,通过全程对话协作的方式,就能完成从 0 到 1 的业务需求开发、问题修复、单元测试批量生成等复杂编码任务。
137 65
|
29天前
|
人工智能 小程序
【一步步开发AI运动小程序】十五、AI运动识别中,如何判断人体站位的远近?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,无需后台支持,具有快速、体验好、易集成等特点。本文介绍如何利用插件判断人体与摄像头的远近,确保人体图像在帧内的比例适中,以优化识别效果。通过`whole`检测规则,分别实现人体过近和过远的判断,并给出相应示例代码。
|
7天前
|
存储 人工智能 开发框架
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
Eliza 是一个开源的多代理模拟框架,支持多平台连接、多模型集成,能够快速构建智能、高效的AI系统。
81 8
Eliza:TypeScript 版开源 AI Agent 开发框架,快速搭建智能、个性的 Agents 系统
|
22天前
|
人工智能 数据可视化 JavaScript
NodeTool:AI 工作流可视化构建器,通过拖放节点设计复杂的工作流,集成 OpenAI 等多个平台
NodeTool 是一个开源的 AI 工作流可视化构建器,通过拖放节点的方式设计复杂的工作流,无需编码即可快速原型设计和测试。它支持本地 GPU 运行 AI 模型,并与 Hugging Face、OpenAI 等平台集成,提供模型访问能力。
97 14
NodeTool:AI 工作流可视化构建器,通过拖放节点设计复杂的工作流,集成 OpenAI 等多个平台
|
27天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
155 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
16天前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
241 0
|
3天前
|
人工智能 物联网
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
38 10

热门文章

最新文章

下一篇
开通oss服务