如果您的构造函数失败,您可能需要使用.open()方法。所以,如果你想打开一个名为“myVideo.mp4”这是你的项目的文件夹中的文件,你会做以下几点:
cv::VideoCapture cap;
cap.open("myVideo.mp4");
有关此方法的详细信息,请在此documentation link 此外,第26页的来自O'Rilley媒体的学习OpenCV 3书籍为您提供了一个很好的例子。这是我给你作为例子的Gist。
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
int main() {
cv::VideoCapture cap;
cap.open("myVideo.mp4");
cv::namedWindow("myVideo", cv::WINDOW_AUTOSIZE);
cv::Mat frame;
while(true) {
cap >> frame;
if(frame.empty()){
std::cout << "Could not load the video frames. \n";
break;
}
cv::imshow("myVideo", frame);
if(cv::waitKey(27) >= 0){
std::cout << "Escape pressed \n";
break;
}
}
return 0;
}
@ΦXocę웃Пepeúpaツ发布 – edd
你能告诉我什么是argv [1]吗? –
argv [1]是一个指向表示我想要打开的文件名的字符串的指针@ΦXocę웃Пpepúpaз – edd