LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介
前言
今天想和大家分享的是:仪酷LabVIEW AI视觉工具包的VI简介,如介绍内容有误,欢迎各位朋友们帮忙纠正~
一、AI视觉工具包VI简介
已经安装好的AI工具包位于程序框图-函数选板-Addons-VIRobotics-opencv_yiku,内容包括:Mat类型(矩阵)的操作、摄像头采集、图片文件读写、基本算子、视频读写、神经网络调用、迅捷VI等功能。

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

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

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

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

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

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:检测点是否在轮廓内

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

geometry(几何图形类)
该大类主要是点的合集,比如说轮廓。

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:迭代去畸变矫正

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:文字识别相关

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:要求网络在特定目标设备上进行计算

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

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

python(矩阵转换为python格式)

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:特征点集

videoWriter
该类为视频流读写类
cuda(显卡类)
该大类主要是获取cuda设备相关参数的类。
getCudaEnabledDeviceCount.vi:获取 CUDA 的设备数
getDevice.vi:获取CUDA设备属性
setDevice:设置CUDA设备属性

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

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

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

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

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:删除

三、工具包下载链接
- AI视觉工具包下载与安装参考:
https://blog.csdn.net/virobotics/article/details/123656523 - onnx工具包下载与安装参考:
https://blog.csdn.net/virobotics/article/details/124998746
总结
以上就是今天要给大家分享的内容。大家可根据链接下载工具包并进行安装。
如果有问题可以在评论区里讨论,提问前请先点赞支持一下博主哦,如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群705637299。
更多内容,可关注:https://blog.csdn.net/virobotics
**如果文章对你有帮助,欢迎关注、点赞、收藏
LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介的更多相关文章
- LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
前言 之前每次进行机器学习和模型训练的时候发现想要训练不同模型的时候需要使用不同的框架,有时候费了九牛二虎之力终于写下了几百行代码之后,才发现环境调试不通,运行效率也差强人意,于是自己写了一个基于La ...
- SNF快速开发平台2019-权限管理模型简介-权限都在这里
1.1 权限的概念 权限是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度.它常常用“具有批准……事项的权限”来进行表达.例如,具有批准预算外5000元以内的礼品费支出的 ...
- 使用tkinter开发的一款登录和注册图形化界面
目录 项目介绍 登录功能 登录界面展示 登录主要功能 登录部分源码 注册功能 注册界面展示 注册主要功能 注册部分源码 源码地址 项目介绍 使用tkinter开发的一款登录和注册图形化界面 使用tki ...
- NI Vision for LabVIEW 基础(一):NI Vision 简介
NI Vision 控件模板 Vision控件模板位于LabVIEW控件模板的最顶层,由一下元素组成: IMAQ Image.ctl—该控件是一个类型定义,用于声明图象类型的数据.在VI的前面板中使用 ...
- NI Labview 将图形化系统设计用于肿瘤治疗
NI Labview 将图形化系统设计用于肿瘤治疗 - Jeff Stevens, Sanarus 挑战:在严格的规则条例范围内保持设计过程的情况下,为通过FDA认证的等级II医疗设备进行设计.原型并 ...
- AI应用开发实战 - 定制化视觉服务的使用
AI应用开发实战 - 定制化视觉服务的使用 本篇教程的目标是学会使用定制化视觉服务,并能在UWP应用中集成定制化视觉服务模型. 前一篇:AI应用开发实战 - 手写识别应用入门 建议和反馈,请发送到 h ...
- Git各大平台(win/Linux/Mac)图形化界面客户端大汇总
摘要: 介绍各平台下的图形化界面git客户端(本人并没有全部使用过),欢迎大家补充新的软件或者使用感受~ 一.TortoiseGit - The coolest Interface to Git V ...
- 百度AI开发平台简介
AIstudio https://aistudio.baidu.com/aistudio/index 关于AI Studio AI Studio是基于百度深度学习平台飞桨的一站式AI开发平台,提供在线 ...
- iNeuOS工业互联平台,WEB组态(iNeuView)集成图报组件,满足实时数据图形化展示的需求
目 录 1. 概述... 1 2. 平台演示... 2 3. 应用过程... 3 4. 实时数据展示效果... 5 1. 概述 市场和开源社区有 ...
- [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit
[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...
随机推荐
- 2022-09-15:Range模块是跟踪数字范围的模块。 设计一个数据结构来跟踪表示为 半开区间 的范围并查询它们。 半开区间 [left, right) 表示所有 left <= x < righ
2022-09-15:Range模块是跟踪数字范围的模块. 设计一个数据结构来跟踪表示为 半开区间 的范围并查询它们. 半开区间 [left, right) 表示所有 left <= x < ...
- 2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j : i + 1 需满足:i +
2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0). 每一步,你可以从下标 i 跳到下标 i + 1 .i - 1 或者 j : i + 1 需满足:i + ...
- AcWing901. 滑雪(python)
题目详情 知识点 记忆化DP 思路 自己的思路(仅参考):一开始想的是找最大值,然后从最大值开始向下滑,但是我们是要求最长路径,不一定是从最高的点滑下去的,也不一定是滑到最低点,而且会存在最大值不止一 ...
- Nodejs 应用编译构建提速建议
编译构建的整体过程 拉取编译镜像 拉取缓存镜像 拉取项目源码 挂载缓存目录 执行编译命令(用户自定义) 持久化缓存 上传编译镜像 为什么在本地构建就快, 但编译机上很慢 在编辑机上每次的构建环境都是全 ...
- 如何让Task在非线程池线程中执行?
Task承载的操作需要被调度才能被执行,由于.NET默认采用基于线程池的调度器,所以Task默认在线程池线程中执行.但是有的操作并不适合使用线程池,比如我们在一个ASP.NET Core应用中承载了一 ...
- 源码解析:django的CSRF认证
详解Django的CSRF认证 1.csrf原理 csrf要求发送post,put或delete请求的时候,是先以get方式发送请求,服务端响应时会分配一个随机字符串给客户端,客户端第二次发送post ...
- 聊聊CSS 缓动函数的新成员linear()
CSS 缓动函数是一种用于控制 CSS 动画过渡效果的函数,可以让动画变得更加自然.这篇文章将介绍一种新的 CSS easing function,即 linear(),它可以模拟出更复杂的缓动效果, ...
- 使用numpy计算分子内坐标
技术背景 当我们打开一个用于表示分子构象的xyz文件或者pdb文件,很容易可以理解这种基于笛卡尔坐标的空间表征方法.但是除了笛卡尔坐标表示方法之外,其实也有很多其他的方法用于粗粒化或者其他目的的表征方 ...
- C#/VB.NET:快速而简单的免费SVG到PDF转换技巧
在日常工作中,我们常常需要将SVG转换为PDF格式.这是因为SVG格式的图像在打印时可能会出现问题,例如失去分辨率或无法正确适应纸张大小.与此相比,PDF格式则专门用于打印和共享文档,可以确保高质量输 ...
- PHP文件包含总结
1.文件包含小知识 1.1 包含函数 PHP共有4个与文件包含相关的函数: include require include_once require_once include与include_once ...