前提・実現したいこと
画像検出によって得た物体のBounding BoxをopenCVによってリアルタイムで表示しようとしています。
C++でopenCVを使うのは初めてだったので試しに次ような、取得した画像上に長方形を描くプログラムを作ったのですがコンパイルできませんでした。
エラーメッセージ
コンパイル時のコマンド(imreadなどはこのコマンドでコンパイルできてます)
使用しているOSはubuntu16.0.4で、ターミナル上でコンパイルしています。
openCVのバージョンは3.1.0です。
$ g++ imread.cpp -o test `pkg-config --cflags --libs opencv`
imread.cpp: In function ‘int main()’: imread.cpp:15:88: error: ‘rectangle’ was not declared in this scope rectangle(img, cv::Point(200, 50), cv::Point(300, 150), cv::Scalar(0, 0, 200), 3, 5);
表示されるエラーはこれだけです。
該当のソースコード
C++
1#include <opencv2/core/core.hpp> 2#include <opencv2/highgui/highgui.hpp> 3 4#include <iostream> 5 6using namespace cv; 7using namespace std; 8 9int main() 10{ 11 Mat img; 12 img = imread("result.png", 0); //testimageを読み込み 13 14 //長方形を書き込む 15 rectangle(img, cv::Point(200, 50), cv::Point(300, 150), cv::Scalar(0, 0, 200), 3, 5); 16 cout << img << endl; 17 18 namedWindow("Display Window", WINDOW_AUTOSIZE); //ウィンドウを作成 19 imshow("Display Window", img); //写真表示 20 21 waitKey(0); 22}
###試したこと
rectangle関数を解説しているページのサンプルコードをそのままコピペしてCMAKEでコンパイルしたのですがその時も同様のエラーが出ました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/13 01:21