目录
- 前言
- 一、工具包位置
- 二、图像采集与色彩空间转换
- 1.文件读写
- 2.实现图片读取
- 3.使用算子cvtColor实现颜色空间转换
- 三、从摄像头采集图像
- 1.Camera类
- 2.属性节点
- 3.实现摄像头采集图像
- 四、源码下载
- 总结
一、工具包位置已经安装好的工具包位于程序框图-函数选板-Addons-VIRobotics-opencv_yiku,内容包括:Mat类型(矩阵)的操作、摄像头采集、图片文件读写、基本算子、视频生成、神经网络调用等功能 。
文章插图
二、图像采集与色彩空间转换1.文件读写(1)程序框图面板右键:File I/O,拖出拆分路径和拼接路径函数到程序框图面板待用;
文章插图
(2)程序框图面板右键:File I/O -->File Constants , 拖出当前路径函数到程序框图面板待用;
文章插图
2.实现图片读取(1)在程序框图面板空白处右键-->在函数选板-->Addons-->VIRobotics-->opencv_yiku-imgcodes中找到要使用的imread函数,拖出;
文章插图
(2)imread函数读取指定路径的图片(jpg/png/bmp格式),返回Mat对象,具体输入输出如下所示:
文章插图
(3)程序框图面板右键:Application Control-->Property Node,将属性节点拖出,用来获取Mat对象中的各种参数(本例中是图片),并放到图片控件中;
文章插图
(4)释放Mat资源;
文章插图
(5)按照下图所示连接,将待读取的图片与此vi置于同一路径下并运行;
文章插图
(6)读取图片如下图所示(左侧为原图,右侧为读取出来的图片),我们发现读取的图片颜色和原图不一样;
文章插图
3.使用算子cvtColor实现颜色空间转换(1)因为LabVIEW中的图像排列顺序是RGB,opencv中的图像排列顺序是BGR , 所以读取出来的图片颜色和原图不一样;(2)使用算子cvtColor进行颜色空间转换,程序框图面板右键: Addons-->VIRobotics-->opencv_yiku-->imgproc: cvtColor ,拖出;
文章插图
(3)算子cvtColor的输入与输出如下图所示:
文章插图
(4)LabVIEW中算子(cvtColor)的使用方式一:输入的dst端不接输入,运行函数后输出的图片会替换掉原来的图片(src out和dst out的值一致),程序及结果如下图所示:
文章插图
文章插图
(5)LabVIEW中算子(cvtColor)的使用方式二:输入的dst端接一个Create_Mat,即新建一个mat对象 , 运行函数后,dst的内容不会影响src的内容;程序及结果如下图所示:
文章插图
文章插图
文章插图
三、从摄像头采集图像1.Camera类(1)新建一个vi,在程序框图面板右键:Addons-->VIRobotics --> opencv_yiku: Camera 。找到摄像头初始化函数new_Cap,函数右上角输出Cap,是使用摄像头前的必备动作,将其拖至面板空白处备用;
文章插图
(2)在程序框图面板右键:Addons-->VIRobotics --> opencv_yiku: Camera 。找到startCaptura , 将其拖至面板空白处,使用该函数若只填写camerID时,请保障摄像头正常 。只要连接有preference , 则有多个本地摄像头时,优先使用分配到该ID的摄像头,若该摄像头不存在 , 则使用其它摄像头 。
推荐阅读
- .NET源码学习 [算法2-数组与字符串的查找与匹配]
- 【Python+C#】手把手搭建基于Hugging Face模型的离线翻译系统,并通过C#代码进行访问
- 【前端必会】不知道webpack插件? webpack插件源码分析BannerPlugin
- 手把手教你玩转 Gitea|使用 Docker 安装 Gitea
- 20220929-ArrayList扩容机制源码分析
- Optional源码解析与实践
- 抖音喷香出处含义是什么
- Go 源码解读|如何用好 errors 库的 errors.Is 与 errors.As() 方法
- 包含步兵和骑兵炮兵都是什么梗的词条
- 母婴用品品牌排行榜包含些什么介绍下,可以吗