OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等)

这篇具有很好参考价值的文章主要介绍了OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、前言

OpenCV不仅能够处理图像,还能够处理视频

视频是由大量的图像构成的,这些图像是以固定的时间间隔从视频中获取的。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要想处理视频,需要先对视频进行读取、显示、保存等相关操作。为此,OpenCV提供了VideoCapture类和 VideoWiter 类的相关方法。

2、摄像头操作

为了读取并显示摄像头视频,OpenCV 提供了 VideoCapture 类的相关方法,这些方法包括摄像头的初始化方法、检验摄像头初始化是否成功的方法、从摄像头中读取帧的方法、关闭摄像头的方法等。

Tips :视频是由大量图像构成,这些图像称为帧

VideoCapture 类:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

  • index = 0 :表示打开第一个摄像头,对于64位笔记本,打开的就是内置摄像头
  • index = 1 :表示打开第二个摄像头,对于64位笔记本,打开的就是连接笔记本的外置摄像头

为了检测摄像头初始化是否成功,OpenCV提供了isOpened()方法,

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

如果打开摄像头正确的话,接下来就可以读取视频的每一帧了,read()方法

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

OpenCV 特别强调,不需要摄像头时,一定要关闭

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

2.1 读取、显示摄像头视频

实验目的:打开笔记本内置摄像头实时读取并显示视频。当按下空格键时,关笔记本内置摄像头,销毁显示摄像头视频的窗口

代码:

import cv2


capture = cv2.VideoCapture(0) # 打开笔记本内置摄像头
while (capture.isOpened()): # 笔记本内置摄像头被打开后
    retval, image = capture.read() # 从摄像头中实时读取视频
    cv2.imshow("Video", image) # 在窗口中显示读取到的视频
    key = cv2.waitKey(1) # 窗口的图像刷新时间为1毫秒
    if key == 32: # 如果按下空格键
        break
capture.release() # 关闭笔记本内置摄像头
cv2.destroyAllWindows() # 销毁显示摄像头视频的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

2.2 将摄像头视频转为灰度视频

帧就是图像,将每一帧按照数字图像处理的方式处理就可以改变视频的样式

这里展示将视频转为灰度视频的操作

代码:

import cv2


capture = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开笔记本内置摄像头
while (capture.isOpened()): # 笔记本内置摄像头被打开后
    retval, image = capture.read() # 从摄像头中实时读取视频
    # 把彩色视频转换为灰度视频
    image_Gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    if retval == True: # 读取到摄像头视频后
        cv2.imshow("Video", image) # 在窗口中显示彩色视频
        cv2.imshow("Video_Gray", image_Gray) # 在窗口中显示灰度视频
    key = cv2.waitKey(1) # 窗口的图像刷新时间为1毫秒
    if key == 32: # 如果按下空格键
        break
capture.release() # 关闭笔记本内置摄像头
cv2.destroyAllWindows() # 销毁显示摄像头视频的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

2.3 保存摄像头视频的某一帧图像

代码如下:

import cv2


cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开笔记本内置摄像头
while (cap.isOpened()): # 笔记本内置摄像头被打开后
    ret, frame = cap.read() # 从摄像头中实时读取视频
    cv2.imshow("Video", frame) # 在窗口中显示视频
    k = cv2.waitKey(1) # 图像的刷新时间为1毫秒
    if k == 32: # 按下空格键
        cap.release() # 关闭笔记本内置摄像头
        cv2.destroyWindow("Video") # 销毁名为Video的窗口
        cv2.imwrite("D:/copy.png", frame) # 保存按下空格键时摄像头视频中的图像
        cv2.imshow('img', frame) # 显示按下空格键时摄像头视频中的图像
        cv2.waitKey() # 刷新图像
        break
cv2.destroyAllWindows() # 销毁显示图像的窗口

效果:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

2.4 读取并显示两个摄像头

编写一个程序,在打开笔记本内置摄像头实时读取并显示视频的同时,再打开一个连接笔记本的外置摄像头。当按下空格键时,关闭笔记本内置摄像头和连接笔记本的外置摄像头,销毁显示摄像头视频的窗口。

代码:

import cv2


cap_Inner = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开笔记本内置摄像头
cap_Outer = cv2.VideoCapture(1, cv2.CAP_DSHOW) # 打开一个连接笔记本的外置摄像头
while (cap_Inner.isOpened() & cap_Outer.isOpened()): # 两个摄像头都被打开后
    retval, img_Inner = cap_Inner.read() # 从笔记本内置摄像头中实时读取视频
    ret, img_Outer = cap_Outer.read() # 从连接笔记本的外置摄像头中实时读取视频
    # 在窗口中显示笔记本内置摄像头读取到的视频
    cv2.imshow("Video_Inner", img_Inner)
    # 在窗口中显示连接笔记本的外置摄像头读取到的视频
    cv2.imshow("Video_Outer", img_Outer)
    key = cv2.waitKey(1) # 窗口的图像刷新时间为1毫秒
    if key == 32: # 如果按下空格键
        break
cap_Inner.release() # 关闭笔记本内置摄像头
cap_Outer.release() # 关闭连接笔记本的外置摄像头
cv2.destroyAllWindows() # 销毁显示摄像头视频的窗口

这里只有一个内置摄像头,所以代码会报错...

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

3、视频文件操作

VideoCapture 类及其方法除了能够读取并显示摄像头视频外,还能够读取并显示视频文件。当窗口根据视频文件的时长显示视频文件时,便实现了播放视频文件的效果。

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

3.1 读取、显示视频文件

代码如下:

import cv2


video = cv2.VideoCapture("公司宣传.avi") # 打开视频文件
while (video.isOpened()): # 视频文件被打开后
    retval, image = video.read() # 读取视频文件
    # 设置“Video”窗口的宽为420,高为300
    cv2.namedWindow("Video", 0)
    cv2.resizeWindow("Video", 420, 300)
    if retval == True: # 读取到视频文件后
        cv2.imshow("Video", image) # 在窗口中显示读取到的视频文件
    else: # 没有读取到视频文件
        break
    key = cv2.waitKey(1) # 窗口的图像刷新时间为1毫秒
    if key == 27: # 如果按下Esc键
        break
video.release() # 关闭视频文件
cv2.destroyAllWindows() # 销毁显示视频文件的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉


调整 waitKeyO方法中的参数值可以控制视频文件的播放速度。例如,当 cv2.waitKey(1)时,视频文件的播放速度非常快;当cv2.waitKcy(50)时,就能够减缓视频文件的播放速度。

3.2 将视频文件转为灰度视频


使用处理图像的相关方法,能够将摄像头视频由彩色视频转换为灰度视频。那么,使用相同的方病也能够将视频文件由彩色视频转换为灰度视频。

代码:

import cv2


video = cv2.VideoCapture("公司宣传.avi") # 打开视频文件
while (video.isOpened()): # 视频文件被打开后
    retval, img_Color = video.read() # 读取视频文件
    # 设置“Video”窗口的宽为420,高为300
    cv2.namedWindow("Gray", 0)
    cv2.resizeWindow("Gray", 420, 300)
    if retval == True: # 读取到视频文件后
        # 把“公司宣传.avi”由彩色视频转换为灰度视频
        img_Gray = cv2.cvtColor(img_Color, cv2.COLOR_BGR2GRAY)
        cv2.imshow("Gray", img_Gray) # 在窗口中显示读取到的视频文件
    else: # 没有读取到视频文件
        break
    key = cv2.waitKey(1) # 窗口的图像刷新时间为1毫秒
    if key == 27: # 如果按下Esc键
        break
video.release() # 关闭视频文件
cv2.destroyAllWindows() # 销毁显示视频文件的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

3.3 视频文件的暂停和播放

编写一个程序,读取并显示 PyCharm 当前项目路径下的视频文件。在播放视频文件的过程中,当按下空格键时,暂停播放视频:当再次按下空格键时,继续播放视频;当按下Esc键时,关闭视频文件并销毁显示视频文件的窗口

代码如下:

import cv2


video = cv2.VideoCapture("公司宣传.avi") # 打开视频文件
while (video.isOpened()): # 视频文件被打开后
    retval, image = video.read() # 读取视频文件
    # 设置“Video”窗口的宽为420,高为300
    cv2.namedWindow("Video", 0)
    cv2.resizeWindow("Video", 420, 300)
    if retval == True: # 读取到视频文件后
        cv2.imshow("Video", image) # 在窗口中显示读取到的视频文件
    else: # 没有读取到视频文件
        break
    key = cv2.waitKey(50) # 窗口的图像刷新时间为50毫秒
    if key == 32: # 如果按下空格键
        cv2.waitKey(0) # 不刷新图像,实现暂停效果
        continue # 再按一次空格键,继续播放
    if key == 27: # 如果按下Esc键
        break
video.release() # 关闭视频文件
cv2.destroyAllWindows() # 销毁显示视频文件的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

3.4 获取视频文件的属性

在实际应用中,有时需要知道视频文件的属性。VideoCapture提供了get()方法

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

其中,propId 的参数如下:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

视频是由大量的、连续的图像构成的,把其中的每幅图像称作帧

帧数指的是视频文件中含有的图像总数,帧数越多,视频播放时越流畅

在播放视频的过程中,把每秒显示图像的数量称作帧速率(IPS,单位:帧/s)

宽度指的是图像在水平方向上含有的像素总数、帧高度指的是图像在垂直方向上含有的像素总数

代码:

import cv2


video = cv2.VideoCapture("公司宣传.avi") # 打开视频文件
fps = video.get(cv2.CAP_PROP_FPS) # 获取视频文件的帧速率
frame_Count = video.get(cv2.CAP_PROP_FRAME_COUNT) # 获取视频文件的帧数
frame_Width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取视频文件的帧宽度
frame_Height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 获取视频文件的帧高度

# 输出获取到的属性值
print("帧速率:", fps)
print("帧数:", frame_Count)
print("帧宽度:", frame_Width)
print("帧高度:", frame_Height)

控制台展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

动态视频属性的实验:

代码:

import cv2


video = cv2.VideoCapture("公司宣传.avi") # 打开视频文件
fps = video.get(cv2.CAP_PROP_FPS) # 获取视频文件的帧速率
frame_Num = 1 # 用于记录第几幅图像(即第几帧),初始值为1(即第1幅图像)
while (video.isOpened()): # 视频文件被打开后
   retval, frame = video.read() # 读取视频文件
   # 设置“Video”窗口的宽为420,高为300
   cv2.namedWindow("Video", 0)
   cv2.resizeWindow("Video", 420, 300)
   if retval == True: # 读取到视频文件后
      # 当前视频播放到第几帧
      cv2.putText(frame, "frame: " + str(frame_Num), (0, 100),
               cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 5)
      # 该帧对应着视频的第几秒
      cv2.putText(frame, "second: " + str(round(frame_Num / fps, 2)) + "s",
               (0, 200), cv2.FONT_HERSHEY_SIMPLEX, 2, (0, 0, 255), 5)
      cv2.imshow("Video", frame) # 在窗口中显示读取到的视频文件
   else: # 没有读取到视频文件
      break
   key = cv2.waitKey(50) # 窗口的图像刷新时间为50毫秒
   frame_Num += 1 #
   if key == 27: # 如果按下Esc键
      break
video.release() # 关闭视频文件
cv2.destroyAllWindows() # 销毁显示视频文件的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

73 代表播放到当前视频的第 73 帧

2.92s 代码播放到当前视频的第 2.92秒

4、保存视频操作

这里介绍保存摄像头和视频文件的操作

OpenCV提供了VideoWriter类,具体如下

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

在OpenCV中,使用cv2.VideoWriter_fource() 确定视频编码格式,具体如下

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

例如:在Windows中,fource值为cv2.VideoWriter_fource('X','Y','I','D'),帧速率为20,帧大小为640*480。把一段视频保存在当前目录下,关键代码如下:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

*('XVID')是解引用操作,会将'XVID'解码为'X','Y','I','D'

把视频保存的话,需要使用write()方法,

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

4.1 保存一段摄像头的视频

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

代码:

import cv2


capture = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开笔记本内置摄像头
fourcc = cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') # 确定视频被保存后的编码格式
output = cv2.VideoWriter("output.avi", fourcc, 20, (640, 480)) # 创建VideoWriter类对象
while (capture.isOpened()): # 笔记本内置摄像头被打开后
    retval, frame = capture.read() # 从摄像头中实时读取视频
    if retval == True: # 读取到摄像头视频后
        output.write(frame) # 在VideoWriter类对象中写入读取到的帧
        cv2.imshow("frame", frame) # 在窗口中显示摄像头视频
    key = cv2.waitKey(1) # 窗口的图像刷新时间为1毫秒
    if key == 27: # 如果按下Esc键
        break
capture.release() # 关闭笔记本内置摄像头
output.release() # 释放VideoWriter类对象
cv2.destroyAllWindows() # 销毁显示摄像头视频的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

代码可以重复运行,不过每次都会覆盖上一次的视频

4.2 保存10s的摄像头视频

上述的保存视频,是人为控制的,这里提供代码可以录制固定时长的视频

代码:

import cv2


capture = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开笔记本内置摄像头
fourcc = cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') # 确定视频被保存后的编码格式
fps = 20 # 帧速率
# 创建VideoWriter类对象
output = cv2.VideoWriter("ten_Seconds.avi", fourcc, fps, (640, 480))
frame_Num = 10 * fps # 时长为10秒的摄像头视频含有的帧数
# 笔记本内置摄像头被打开且时长为10秒的摄像头视频含有的帧数大于0
while (capture.isOpened() and frame_Num > 0):
    retval, frame = capture.read() # 从摄像头中实时读取视频
    if retval == True: # 读取到摄像头视频后
        output.write(frame) # 在VideoWriter类对象中写入读取到的帧
        cv2.imshow("frame", frame) # 在窗口中显示摄像头视频
    key = cv2.waitKey(1) # 窗口的图像刷新时间为1毫秒
    frame_Num -= 1 # 时长为10秒的摄像头视频含有的帧数减少一帧
capture.release() # 关闭笔记本内置摄像头
output.release() # 释放VideoWriter类对象
cv2.destroyAllWindows() # 销毁显示摄像头视频的窗口

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

右键可以查看视频的属性:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

4.3 读取视频文件并且保存视频文件

读取视频文件,然后将视频保存

代码:
 

import cv2


video = cv2.VideoCapture("公司宣传.avi") # 打开视频文件
fps = video.get(cv2.CAP_PROP_FPS) # 获取视频文件的帧速率
# 获取视频文件的帧大小
size = (int(video.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)))
fourcc = cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') # 确定视频被保存后的编码格式
output = cv2.VideoWriter("copy.avi", fourcc, fps, size) # 创建VideoWriter类对象
while (video.isOpened()): # 视频文件被打开后
    retval, frame = video.read() # 读取视频文件
    if retval == True: # 读取到视频文件后
        output.write(frame) # 在VideoWriter类对象中写入读取到的帧
    else:
        break
print("公司宣传.avi已经保存为PyCharm当前项目路径下的copy.avi。") # 控制台输出提示信息
video.release() # 关闭视频文件
output.release() # 释放VideoWriter类对象

4.4 读取视频并保存前10s的视频文件

代码如下:

import cv2


video = cv2.VideoCapture("公司宣传.avi") # 打开视频文件
fps = video.get(cv2.CAP_PROP_FPS) # 获取视频文件的帧速率
# 获取视频文件的帧大小
size = (int(video.get(cv2.CAP_PROP_FRAME_WIDTH)),
        int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)))
fourcc = cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') # 确定视频被保存后的编码格式
output = cv2.VideoWriter("ten_Seconds.avi", fourcc, fps, size) # 创建VideoWriter类对象
frame_Num = 10 * fps # 视频文件的前10秒视频含有的帧数
# 视频文件被打开后且视频文件的前10秒视频含有的帧数大于0
while (video.isOpened() and frame_Num > 0):
    retval, frame = video.read() # 读取视频文件
    if retval == True: # 读取到视频文件后
        output.write(frame) # 在VideoWriter类对象中写入读取到的帧
    frame_Num -= 1 # 视频文件的前10秒视频含有的帧数减少一帧
# 控制台输出提示信息
print("公司宣传.avi的前10s视频已经保存为PyCharm当前项目路径下的ten_Seconds.avi。")
video.release() # 关闭视频文件
output.release() # 释放VideoWriter类对象

展示:

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉

OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等),opencv 简单入门,opencv,人工智能,计算机视觉文章来源地址https://www.toymoban.com/news/detail-839583.html

到了这里,关于OpenCV 视频处理(关于摄像头和视频文件的读取、显示、保存等等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • OpenCV 实现读取摄像头、视频读取保存 (C++)

    重点语句:VideoCapture、imshow 原理:使用VideoCapture语句读取摄像头,再利用while一次次将VideoCapture所读取的数据利用imshow语句一帧帧地读取出来 重点语句:VideoWriter 原理:在摄像头读取完图之后,利用VideoWriter语句将图像保存为固定格式 通过加入一个循环语句,按空格将图片按

    2024年02月11日
    浏览(52)
  • 使用OpenCV调用摄像头和读取视频图片

    要捕获视频,你需要创建一个 VideoCapture 对象。它的参数是设备索引的名称。设备索引就是指定哪个摄像头的数字。正常情况下,内部摄像头可以通过传入0来调用,传递1来选择外置的第二个相机,以此类推。在此之后,你可以逐帧捕获。但是在最后,不要忘记释放俘虏。 直

    2024年02月08日
    浏览(53)
  • OpenCv:采集摄像头视频、读取视频帧与视频录制

    目录 一、涉及OpenCv函数 二、什么是帧、帧的大小代表什么 三、摄像头获取视频数据 四、录制视频并保存 从设备,可以是摄像头可以是本地视频, 获取视频的函数 cv.VideoCapture()。 本函数作用在于创建一个VideoCapture或者VideoWriter对象,真正的读取和写入是通过创建的对象进行

    2024年02月16日
    浏览(50)
  • opencv基础: 视频,摄像头读取与保存的常用方法

    当然还可以从视频中抓取截图,所以现在聊一下常用的抓取视频截图的的方法。 上面有三种构造方法, 第一种是无法构造方法。 第二种参数device是一个数字。 一般笔记本如此写cv2.VideoCapture(0); 因为默认是0 ,如果有多个摄像头,就需要看设置的摄像头代表的数字了。 第二种

    2024年02月09日
    浏览(42)
  • opencv基本操作二(读取视频流与保存视频、读取摄像头并保存视频)

    opencv常用 读视频函数 cv2.VideoCapture 、 cv2.VideoCapture.get 等,可以参考这里 opencv常用 写视频函数 cv2.VideoWriter 等可以参考这里 ,其中视频格式可以参考这里 videoCapture.read() 是按帧读取视频, ret,frame 是获 .read() 方法的两个返回值。其中 ret 是布尔值,如果读取帧是正确的则返回

    2023年04月08日
    浏览(100)
  • VC++中使用OpenCV读取图像、读取本地视频、读取摄像头并实时显示

    最近闲着跟着油管博主murtazahassan,学习了一下LEARN OPENCV C++ in 4 HOURS | Including 3x Projects | Computer Vision,对应的Github源代码地址为:Learn-OpenCV-cpp-in-4-Hours OpenCV是一个开源的计算机视觉库,其官网地址为:https://opencv.org/,对应Github源码地址为:https://github.com/opencv/opencv,目前来说

    2024年01月17日
    浏览(61)
  • opencv入门到精通——图片,视频,摄像头的读取与保存

    OpenCV是一个流行的开源计算机视觉库,由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包,可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和计算机视觉应用。OpenCV主要使用C++语言编写,同时也支持Python、Java、C等语言。由于其开源和广泛使用的

    2024年02月08日
    浏览(52)
  • cv2.VideoCapture使用,opencv读取摄像头,视频图像

            cv2.VideoCapture()用于读取视频,也可以用于读取摄像头图像。         上面的2种写法,第一种表示读取摄像头,第二种读取视频文件,返回值就是视频数据。         在读取到视频后,可以使用isOpened方法来判断视频是否能够打开,能打开返回True,不能够打

    2024年02月12日
    浏览(80)
  • OpenCV中读取、显示、保存摄像头视频讲解与实战(附Python源码)

    需要源码请点赞关注收藏后评论区留言私信~~~ OpenCV不仅能够处理图像,还能够处理视频。视频是由大量的图像构成的,这些图像以固定的时间间隔从视频中获取。这样,就能够使用图像处理的方法对这些图像进行处理,进而达到处理视频的目的。要处理视频,需要先对视频进

    2024年02月05日
    浏览(50)
  • opencv读取MP4文件和摄像头数据

    本篇文章来讲解opencv读取MP4文件和摄像头数据,opencv主要用于处理图像数据那么本篇文章就来讲解opencv读取MP4文件和摄像头数据。 waitKey()函数是OpenCV中常用的一个函数,它用于等待用户按键输入,并返回用户按下的键值。下面我将为您详细解释waitKey()函数的功能和使用。 w

    2024年02月14日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包