OpenCVでcvFindContours関数を使って取り出した輪郭をROIに指定してその中を白くしたいです
このようなプログラムでOpenCVで画像を二値化して、輪郭を赤く囲うことはできているのですが、その輪郭をROIに指定する方法がわかりません
方法を教えてください
環境は、Windows7,Visual C++ 2010 Expressです
yahoo!知恵袋とのマルチポストとなっています
http://detail.chiebukuro.yahoo.co.jp/qa ... 4116186524
コードが改行できなてないです。なぜ改行できないのかも教えていただけると幸いです
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#pragma comment(lib,"opencv_imgproc242d.lib")
#pragma comment(lib,"opencv_core242d.lib")
#pragma comment(lib,"opencv_highgui242d.lib")
int _tmain(int argc, _TCHAR* argv[])
{
IplImage *Image,*img_gray;
CvSeq *Contour;
CvMemStorage *Storage=cvCreateMemStorage (0);
CvScalar ContoursColor;
ContoursColor=CV_RGB( 255, 0, 0 );
cvNamedWindow("枠組み条約",CV_WINDOW_AUTOSIZE);
Image=cvLoadImage("blog202_1.png");
img_gray=cvCreateImage(cvGetSize(Image),IPL_DEPTH_8U,1);
cvCvtColor(Image,img_gray,CV_BGR2GRAY);
cvThreshold(img_gray,img_gray,100,255,CV_THRESH_BINARY);
cvFindContours(img_gray,Storage,&Contour,sizeof(CvContour),CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
cvDrawContours(Image, Contour,ContoursColor, ContoursColor, 0, 2);
if (Contour->h_next != NULL){cvDrawContours(Image, Contour->h_next,ContoursColor, ContoursColor, 0, 2);}
cvShowImage("枠組み条約",Image);
cvWaitKey(0);
cvDestroyWindow("枠組み条約");
cvReleaseImage(&Image);
cvReleaseMemStorage (&Storage);
return 0;
}