使用opencv c ++裁剪视频中的ROI

Posted

技术标签:

【中文标题】使用opencv c ++裁剪视频中的ROI【英文标题】:Cropping the ROI in video using opencv c++ 【发布时间】:2017-01-25 10:47:56 【问题描述】:

我的查询与如何使用 Opencv (c++) 裁剪视频文件中的 ROI 有关,例如视频尺寸为 640x480,我想删除视频中的地平线,特别是轨道上方的天空。与之相关的算法会很有帮助。虽然 Rect 属性可以用于图像,但视频的应用程序是什么?如果我想将其减小到 600x380 等,如何按照尺寸进行切片。

【问题讨论】:

【参考方案1】:

将视频视为图像的集合,您可以按照帧(或图像)读取整个视频,并对每个单独的图像应用裁剪。你可以点击这个链接crop video和这个链接阅读视频read video in opencv

【讨论】:

我知道将视频视为图像的集合,我这样做是为了编译我的视频。但是裁剪视频的示例是 mousehandler ,因此在打开视频文件时无法通过某些参数(例如通过 Rect 等)对其进行裁剪。你能告诉我逐步将其写下来的方法吗一个算法.. 这可以是您正在寻找的代码video,但您需要使用 cvCreateFileCapture("video path here") 来代替“cvCaptureFromCAM(1)” 这个案例是opencv C++ IplImage* framein = cvQueryFrame(capture); //从捕获创建图像帧 /* 创建目标图像- cvGetSize 将返回 ROI 的 W 和 H */ IplImage *frameout = cvCreateImage(cvGetSize(framein), framein->depth, framein->nChannels);特别是如何根据 2.4.13.2 中的 opencv api 进行解释,我尝试了这些但没有成功 哪位分享一下这个问题的c++示例代码

以上是关于使用opencv c ++裁剪视频中的ROI的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenCV 和 C 裁剪图像

在 ubuntu 上使用 ffmpeg 裁剪视频中的黑条会改变视频大小

如何使用 OpenCV 裁剪图像中的白色斑块并制作护照大小的照片

如何使用 Python 和 OpenCV 裁剪图像中的多个 ROI

使用 Tensorflow Api 和 Opencv 在视频上裁剪检测到的对象

如何使用python opencv删除文件夹中的特定图像