如果您的構造函數失敗,您可能需要使用.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