閲覧有難うございます。いつもお世話になっておりますkotetuです。
動画から静止画切り出しを参考にして、元からある動画ではなくリアルタイムでカメラから静止画を取り出したいと考えています。
自分でも色々試行をしているのですが、中々時間がかかっており、できずにいたので質問させてもらいました。
変更次第、随時変えていきます。
C++
1#include <opencv2/core.hpp> 2#include <opencv2/videoio.hpp> // videoioのヘッダーをインクルード 3#include <opencv2/highgui.hpp> // highguiのヘッダーをインクルード 4#include <iostream> 5 6using namespace std; 7using namespace cv; 8 9int main(int argc, const char* argv[]) 10{ 11 char filename[80]; 12 int filenumber; 13 // (1)動画ファイルを開くための準備を行う 14 VideoCapture cap; 15 16 // (2)動画ファイルが正しく開けているかをチェックする(正しく開けていなければエラー終了する) 17 if (!cap.isOpened()) 18 return -1; 19 20 21 // 画像データを格納するための変数を宣言する 22 cv::Mat frame; 23 filenumber =1; 24 for (;;) 25 { 26 // (3)動画ファイルから1フレーム分の画像データを取得して、変数frameに格納する 27 cap >> frame; 28 29 // 画像データ取得を取得できたら書き込み。 30 if (!frame.empty()){ 31 sprintf(filename,"img%d.jpg",filenumber++); 32 cv::imwrite(filename,frame); 33 } 34 if (cv::waitKey(30) >= 0) break; 35 } 36 37 return 0; 38}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/13 05:40
2018/02/13 05:54