计算机视觉的训练任务通常需要很多图像数据来做数据集。常见大数据集如ImageNet, VOC,COCO,等等。我们要完成自己特定场合的识任务,就需要收集或采集场景数据,涉及到一些基本的图像处理方法。我遇到或需要使用到的图像处理方法大概有以下几种:
1.视频切图片(video_to_image.py)
import cv2
vc = cv2.VideoCapture("/home/ba/Videos/video.mp4") # 读入视频文件,命名cv
n = 1 # 计数
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
rval = False
timeF = 1 # 视频帧计数间隔频率
i = 0
while rval: # 循环读取视频帧
rval, frame = vc.read()
if (n % timeF == 0): # 每隔timeF帧进行存储操作
i += 1
print(i)
cv2.imwrite("/home/bova/Desktop/open/video/{}.jpg".format(i),
frame) # 存储为图像
n = n + 1
cv2.waitKey(1)
vc.release()
2.视频旋转(video_rotate.py)
有时候,遇到视频是歪的,需要将视频旋转到正常视角,然后再使用1中的方法。这里涉及到opencv的transpose函数
import numpy as np
import cv2
cap = cv2.VideoCapture("/home/bova/Videos/demo.mp4")
fps=25
size=(1080,1920)
# Define the codec and create VideoWriter object
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter('/home/bova/Videos/output.mp4'

本文介绍了计算机视觉中处理图像和视频的一些基本方法,包括从视频中切取图片、视频旋转、按帧数截取视频片段、图片旋转以及图片合成视频。这些技术在创建自定义数据集或调整视图角度时非常实用。
最低0.47元/天 解锁文章
484

被折叠的 条评论
为什么被折叠?



