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

前言

Hello,大家好,这里是virobotics。今天我们一起来看一下私信里各位朋友问的比较多的问题:LabVIEW中使用opencv快速实现视频的读写。
在这里插入图片描述


一、学习目标

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


二、环境搭建

2.1 部署本项目时所用环境

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

2.2 LabVIEW工具包下载及安装


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

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

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

在这里插入图片描述

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释放资源。
    在这里插入图片描述
    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人工智能视觉工具包快速实现图像读取与采集

👇技术交流 · 一起学习 · 咨询分享,请联系👇

Logo

音视频技术社区,一个全球开发者共同探讨、分享、学习音视频技术的平台,加入我们,与全球开发者一起创造更加优秀的音视频产品!

更多推荐