opencvで画像上に丸を描画の方法
opencv初心者です。
visualstudio2012 C++でopencvを動かすことはできているのですが、目的としてフルスクリーンに表示した画像の上に2点を丸でいいので表示したいのですが、画像しか表示されない、もしくは画像とは別のウィンドウで丸が表示される状態になっています。
// OpenCV2.4Sample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
//プロジェクトのプロパティ⇒C/C++⇒全般 の追加のインクルードディレクトリに
// opencv2のあるフォルダ『C:\OpenCV\include』などを追加のこと
#include "opencv2\opencv.hpp"
#include <opencv2/core/core.hpp>
#ifdef _DEBUG
//Debugモードの場合
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_core243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_imgproc243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_highgui243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_objdetect243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_contrib243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_features2d243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_flann243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_gpu243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_haartraining_engined.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_legacy243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_ts243d.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_video243d.lib")
#else
//Releaseモードの場合
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_core243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_imgproc243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_highgui243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_objdetect243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_contrib243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_features2d243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_flann243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_gpu243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_haartraining_engined.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_legacy243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_ts243.lib")
#pragma comment(lib,"C:\\opencv\\build\\x86\\vc10\\lib\\opencv_video243.lib")
#endif
//int _tmain(int argc, _TCHAR* argv[])
int gazouhyouzi(){
//画像データの読込
IplImage* src_img = cvLoadImage("C:\\opencv\\samples\\c\\fruits.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
if (src_img == NULL){
std::exit(0);
}
//処理後画像データの確保
// IplImage* dst_img = cvCreateImage(cvGetSize(src_img), src_img->depth, src_img->nChannels);
//画像処理例(ガウシアンフィルタ)
// cvSmooth(src_img, dst_img, CV_GAUSSIAN, 9);
//表示ウィンドウの作成
cvNamedWindow("src",0);
//srcというwindowをフルスクリーンに設定
cvSetWindowProperty("src",CV_WND_PROP_FULLSCREEN,CV_WINDOW_FULLSCREEN);
//画像の表示
cvShowImage ("src", src_img);
//キー入力待ち
cvWaitKey (0);
cv::Mat img = cv::Mat::zeros(500, 500, CV_8UC3);
// 画像,円の中心座標,半径,色,線太さ,種類
cv::circle(img, cv::Point(100, 100), 20, cv::Scalar(200,0,0), -1, CV_AA);
//画像データの解放
cvReleaseImage(&src_img);
//全てのウィンドウの削除
cvDestroyAllWindows();
return 0;
}
とても見づらいとは思いますが間違っている部分の訂正をお願いしたく、投稿しました。
初心者なもので言葉の表現が間違っているかも知れませんが、よろしくおねがいします。
ちなみに上記のプログラムで実行すると、画像だけがフルスクリーンに表示されるだけです。
お礼
ご回答下さってありがとうございます。 見にくい画像の中、エラーを見て下さって本当にありがとうございました。 ご指摘の通りに詳細情報を調べていきましたら ./obj/local/armeabi-v7a/ の中のファイルのほとんどに権限がなく、よくよく見てみたらエラーに出ていたものが全ての権限の無い状態でした。(”----------”の状態) 権限の無いファイルに「chmod」で権限を与えていったらビルドが通りました! そして、無事実機でテストすることが出来ました。 本当に助かりました。改めて、ありがとうございます。