LabVIEW中使用opencv快速实现视频的读写

这篇具有很好参考价值的文章主要介绍了LabVIEW中使用opencv快速实现视频的读写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

‍‍🏡博客主页: virobotics的CSDN博客:LabVIEW深度学习、人工智能博主
🎄所属专栏:『LabVIEW深度学习实战』
🍻上期文章: 【YOLOv8-Seg】实战三:LabVIEW+TensoRT实现YOLOv8-seg的极速推理(毫秒级)
📰如觉得博主文章写的不错或对你有所帮助的话,还望大家多多支持呀! 欢迎大家✌关注、👍点赞、✌收藏、👍订阅专栏

前言

Hello,大家好,这里是virobotics。今天我们一起来看一下私信里各位朋友问的比较多的问题:LabVIEW中使用opencv快速实现视频的读写。
labview调用opencv,LabVIEW深度学习实战,labview,opencv,音视频,计算机视觉,人工智能,原力计划


一、学习目标

掌握读取视频文件,显示视频,保存视频文件的方法


二、环境搭建

2.1 部署本项目时所用环境

  • 操作系统:Windows10
  • python:3.6及以上
  • LabVIEW:2018及以上 64位版本
  • AI视觉工具包:techforce_lib_opencv_cpu-1.0.0.98.vip

2.2 LabVIEW工具包下载及安装

  • AI视觉工具包下载与安装参考:
    https://blog.csdn.net/virobotics/article/details/123656523

三、LabVIEW中使用opencv快速实现视频的读写

3.1 从文件中读取视频并播放

  • url处填写读取本地视频文件路径或者rtsp路径
  • 循环读取摄像头数据,输出为Opencv的Mat类型
  • 根据视频每帧需要播放的时间,设置每帧间隔
  • 颜色空间转换(BGR to RGB)
  • 使用属性节点获取Mat中的图片
  • 关闭摄像头、清空Mat内存

labview调用opencv,LabVIEW深度学习实战,labview,opencv,音视频,计算机视觉,人工智能,原力计划

ps:附python中读取视频并播放

import numpy as np
import cv2 as cv
cap = cv.VideoCapture('aaa.mp4')
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:
        cv.imshow('frame',frame)
    if cv.waitKey(25) & 0xFF == ord('q'):
        break
cap.release()
cv.destoryAllwindows()

3.2 保存视频

  • 在OpenCV中我们保存视频使用的是VedioWrite这个类,第一步需要先创建对象

  • 设置视频写入的参数,包括
    filename:视频保存的位置
    format:指定视频编解码器的4字节代码
    fps:帧率
    size:帧大小

  • 利用Camera类打开需要保存的视频留

  • readImage.vi 获取视频中的每一帧图像,并使用write.vi将某一帧图像写入视频中。

  • 使用stopCapture.vi和Release.vi释放资源。
    labview调用opencv,LabVIEW深度学习实战,labview,opencv,音视频,计算机视觉,人工智能,原力计划
    ps:附python中保存视频

import cv2 as cv
import numpy as np

cap = cv.VideoCapture("DOG.wmv")

frame_width = int(cap.get(3))
frame_height = int(cap.get(4))

out = cv.VideoWriter('outpy.avi',cv.VideoWriter_fourcc('M','J','P','G'), 10, (frame_width,frame_height))
while(True):

    ret, frame = cap.read()
    if ret == True: 

        out.write(frame)
    else:
        break 

cap.release()
out.release()
cv.destroyAllWindows()

四、项目源码

如需源码,请在一键三联并订阅本专栏后评论区留下邮箱


总结

以上就是今天要给大家分享的内容,希望对大家有用。我是virobotics,我们下篇文章见~

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

推荐阅读

LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛
LabVIEW图形化的AI视觉开发平台(非NI Vision)VI简介
LabVIEW AI视觉工具包OpenCV Mat基本用法和属性
手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集

👇技术交流 · 一起学习 · 咨询分享,请联系👇文章来源地址https://www.toymoban.com/news/detail-687412.html

到了这里,关于LabVIEW中使用opencv快速实现视频的读写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Labview实现用户界面切换的几种方式---通过VI间相互调用

    在做用户界面时我们的程序往往面对的 对象是程序使用者 ,复杂程序如果放在同一个页面中,往往会导致程序冗长卡顿,此时通过多个VI之间的切换就可以实现多个界面之间的转换,也会显得程序更加的高大上。 本文所有程序均可下载,下载地址在文章结尾列举~ 本文同样以

    2024年01月19日
    浏览(28)
  • LabVIEW调用自己写的DLL

    首先,我用的LabVIEW是8.5版本的,比较老但工作需要 先新建VI 程序框图中选择 互连接口 - 库与可执行程序 选择 调用库函数… 拖到面板 并右击它 选择配置 在库名或路径中选择写好的DLL方案中的DEBUG中dll文件 确定以后就要选择哪个函数,并调整一下函数原型 选择弹出窗口的参

    2024年02月04日
    浏览(32)
  • LabVIEW调用动态链接库DLL

    LabVIEW调用动态链接库DLL 要调用DLL,首先必须确定该库是C/ C ++ DLL还是Microsoft .NET Assembly / .NET DLL。 若要确定具有哪种类型的库,可以检查DLL文件的可移植可执行(PE)标头。 DLL 是 C/ C ++ DLL : 1.       如果没有头文件,请查找头文件(* .h)或函数原型定义,请跳

    2024年02月03日
    浏览(32)
  • labview 2020 (2018)调用python报错1663、1662、1661

    写在前面: 本贴适用于解决labview调用python时的1663/1662/1661报错,在网友铝合金蝴蝶的原创帖基础上补充了一些细节,以及必要的文件,步骤详细,可操作性强。 一、1663报错解决办法 labview官方对1663报错的解释: 安装python位数(32/64)与labview位数(32/64)不匹配, labview不支

    2023年04月08日
    浏览(28)
  • 使用LabVIEW实现 DeepLabv3+ 语义分割含源码

    图像分割可以分为两类:语义分割(Semantic Segmentation)和实例分割(Instance Segmentation),前面已经给大家介绍过两者的区别,并就如何在labview上实现相关模型的部署也给大家做了讲解,今天和大家分享如何使用labview 实现deeplabv3+的语义分割,并就 Pascal VOC2012 (DeepLabv3Plus-Mobi

    2024年02月13日
    浏览(33)
  • LabVIEW使用边缘检测技术实现彩色图像隐写术

    LabVIEW使用边缘检测技术实现彩色图像隐写术 隐写术是隐藏信息的做法,以隐瞒通信的存在而闻名。该技术涉及在适当的载体(如图像,音频或视频)中插入秘密消息。在这些载体中,数字图像因其在互联网上的广泛使用而受到青睐。LabVIEW软件已用于执行隐写术。本文解释了

    2024年02月13日
    浏览(29)
  • LabVIEW于C#各自生成的DLL互相调用的方法

    1.LV调用C#生成的DLL (1)C#类库代码原型 Debug生成的DLL: LV代码: 结果显示 2.C#调用LabVIEW生成的DLL: LV源码 VS2017添加LV生成的DLL 加入命名控件,加源码 运行结果:

    2024年02月16日
    浏览(52)
  • Labview局部变量、全局变量、引用、属性节点、调用节点用法理解及精讲

    写本章前想起题主初学Labview时面对一个位移台程序,傻傻搞不清局部变量和属性节点值有什么区别,概念很模糊。所以更新这篇文章让大家更具象和深刻的去理解这几个概念,看完记得点赞加关注喔~ 本文程序源代码附在后面,大家可以自行下载学习。 本文的结构还是首先教

    2024年01月20日
    浏览(29)
  • 【LabVIEW FPGA入门】使用数字IO卡实现计数器输入功能

            1.首先需要用一个数字IO的输入FPGA端口,并将其拖入程序框图中,同时创建一个循环。                  2.如果想要在循环中实现累加功能,就可以使用移位寄存器。         数字输入的当前值和历史值进行比较,用于一个判断大于,来确定是否出现了上升沿

    2024年01月20日
    浏览(40)
  • LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序

    LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序 与传统的基于文本的语言相比,LabVIEW的编程和设计已被证明可以缩短开发时间。各种研究表明,生产率的提高在3到10倍之间。LabVIEW通过图形语言、集成开发环境和多个编译器的组合来实现这一点。 图形编程和设计对于

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包