1)有没有办法在我们加载之后但在播放之前知道视频的帧数???
2)另外我想从每一帧中取第一列。我想到的是读取整个视频并在我读取的每个帧中存储到ArrayList中,然后再次解析整个ArrayList并从每个帧中取出第一列。有没有更好的方法来做到这一点?
OpenCV中的任何功能都可以帮助???
答案 0 :(得分:0)
查看OpenCV中的VideoCapture类。特别是用于检索视频属性的get函数。
您可以加载每个框架并存储第一列,如下所示:
//Video capture object
cv::VideoCapture cap;
cap.open("filename");
//Storage for video frames and columns
cv::Mat frame;
std::vector<cv::Mat> cols;
//Get each frame
while(true){
//Load next frame
cap >> frame;
//If no frame, end of video
if(!frame.data) break;
//Store first column
cv::Mat col;
frame.col(0).copyTo(col);
cols.push_back(col);
}