假设我们有一个来自体育赛事的视频片段,持续了T秒。现在,这些视频剪辑可以彼此重叠并且具有不同的长度。这里,每个视频片段clips [i]是一个间隔−它始于clips [i] [0]时间,结束于clips [i] [1]时间。我们可以自由地将这些片段剪切成片段-我们必须找到所需片段的最少数量,以便我们可以将片段剪切成覆盖整个体育赛事([0,T])的片段。如果无法完成任务,则返回-1。因此,如果输入类似于[[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]],并且T = 10,则输出为3,因为我们可以截取片段[0,2],[8,10]和[1,9],总共3个片段,那么我们可以按如下方式重构体育赛事,我们将[1, 9]划分为[1,2] + [2,8] + [8,9]段。现在我们有了细分[0,2] + [2,8] + [8,10],它们涵盖了体育赛事[0,
为了解决这个问题,我们将遵循以下步骤-
创建大小为T + 1的数组v,并用– 1填充它
n:=片段大小
对于i,范围为0至n – 1
如果clips [i,0]> T,则跳至下一个迭代
v [clips [i,0]]:= v [clips [i,0]]的最大值和(clips [i,1]和T)的最小值
curr:= v [0]
如果v [0]为-1,则返回-1
i:= 1,ret:= 1和next:= 0
而curr <T和i <= n
下一个:=下一个和v [i]的最大值
使我增加1
而我<= curr
如果next = curr并且next为-1,则返回-1
curr:=下一个
当curr> = T时返回ret,否则返回– 1
让我们看一下下面的实现以获得更好的理解
#include <bits/stdc++++.h> using namespace std; class Solution { public: int videoStitching(vector<vector<int>>& clips, int T) { vector <int> v(T + 1, -1); int n = clips.size(); for(int i = 0; i < n; i++){ if(clips[i][0] > T)continue; v[clips[i][0]] = max(v[clips[i][0]], min(clips[i][1], T)); } int curr = v[0]; if(v[0] == -1)return -1; int i = 1; int ret = 1; int next = 0; while(curr < T && i <= n){ while(i <= curr){ next = max(next, v[i]); i++; } if(next == curr || next == -1) return -1; curr = next; ret++; } return curr >= T? ret : -1; } }; main(){ vector<vector<int>> v1 = {{0,2},{4,6},{8,10},{1,9},{1,5},{5,9}}; Solution ob; cout << (ob.videoStitching(v1, 10)); }
[[0,2],[4,6],[8,10],[1,9],[1,5],[5,9]] 10
输出结果
3
本文向大家介绍opencv3/C++实现视频读取、视频写入,包括了opencv3/C++实现视频读取、视频写入的使用技巧和注意事项,需要的朋友参考一下 视频读取 视频读取,主要利用VideoCapture类下的方法打开视频并获取视频中的帧,具体示例如下: capture.open()的参数为0时为读取摄像头: 视频写入 通过摄像头获取视频,然后通过capture.get(CV_CAP_PROP_F
我尝试用全高清分辨率的罗技C920摄像头捕捉视频。它提供30 fps与此分辨率。 它以30 fps的速度与windows摄像头应用程序配合使用,但无论我如何尝试,我都无法通过opencv videoCapture获得这种fps速度。 注意:我使用windows 10和vs15。我尝试了不同的usb端口,opencv版本和编解码器。结果是相同的,〜5 fps。 我测量fps忽略前10帧。下面是我的计
希望大家知道这真的是一个FAQ,而不是一些列出的我个人喜欢的问题集;我不喜欢技术话题的视频,我发现视频容易分心,并且经常包括一些微小的口头上的技术错误。 B. Stroustrup, H. Sutter, H-J. Boehm, A. Alexandrescu, S.T.Lavavej, Chandler Carruth, and Andrew Sutter: several talks and
我正试图执行我自己的HTTP签名请求,因为C#中没有用于AWS Kinesis视频流的PutMedia API的SDK,但我得到以下错误消息:
本文向大家介绍C#视频转换类分享,包括了C#视频转换类分享的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#视频转换类的具体代码,供大家参考,具体内容如下 VideoConvert 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。