前提・実現したいこと
動画からテンプレートマッチングを行うプログラムを作成しています。
環境
OS mac
xcode
発生している問題・エラーメッセージ
cap >> src;の部分がエラーになります。エラーメッセージは以下の3つです。 1:Expected unqualified-id 2:Unknown type name 'cap' 3:Use of undeclared identifier 'cap'; did you mean 'map'? Replace 'cap' with 'map'
該当のソースコード
C++
1#include<opencv2/opencv.hpp> 2#include <iostream> 3#include "opencv2/opencv.hpp" 4#include <opencv2/core/core.hpp> 5#include <opencv2/highgui/highgui.hpp> 6#pragma comment(lib, "opencv_world320d.lib") 7 8using namespace std; 9using namespace cv; 10 11int main() 12{ 13 VideoCapture("/Users/i-am-kaito/Downloads/IMG_4258.MOV"); 14 Mat src; 15 //テンプレート画像とその名称 16 vector<Mat> img{ imread("/Users/i-am-kaito/Downloads/IMG_4225.png"), imread("/Users/i-am-kaito/Downloads/IMG_4225.png")}; 17 vector<string> name{ "hyo1","hyo2" }; 18 19 while (1) { 20 cap >> src; if (src.empty()) break; 21 22 for (int num = 0; num < 2; num++){ 23 Mat mapCC; 24 //テンプレートマッチング 25 matchTemplate(src, img[num], mapCC, cv::TM_CCOEFF_NORMED); 26 double maxCC; 27 Point maxLoc; 28 //相互相関係数の最大値探索 29 minMaxLoc(mapCC, NULL, &maxCC, NULL, &maxLoc); 30 31 if (maxCC > 0.4){ //類似度が0.4以上なら枠描写 32 rectangle(src, maxLoc, 33 maxLoc + Point(img[num].cols, img[num].rows), 0.4); 34 putText(src, name[num], maxLoc + Point(10, 30), 35 cv::FONT_HERSHEY_SIMPLEX, 1, 0, 2); 36 } 37 imshow("sougosoukan" + name[num], mapCC); 38 } 39 40 imshow("Temp", src); 41 if (waitKey(20) == 27) break; 42 } 43 44 return 0; 45}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。