最終更新: mikk_ni3_92 2010年02月26日(金) 17:03:01履歴
現在地 >> メニュー >> OpenCV >> sequence編03
INDEX:sequence編02<< sequence編03 >> sequence編04?
INDEX:sequence編02<< sequence編03 >> sequence編04?
輪郭線は「cvFindContours関数」で検出し、「cvDrawContours関数」で描画することができる。
詳しくはリファレンス参照。
【例】
詳しくはリファレンス参照。
【例】
//画像を読み込んで前処理をする IplImage *imgA = cvLoadImage("logocheck2.png"); if(imgA == NULL) { std::cerr << "Can't Load Image\n"; return -1; } IplImage *gray = cvCreateImage(cvGetSize(imgA),IPL_DEPTH_8U,1); cvCvtColor(imgA,gray,CV_BGR2GRAY); cvCanny(gray,gray,10,20); CvMemStorage *storage = cvCreateMemStorage (0); //メモリストレージ CvSeq *contours = 0; //シーケンス int x = cvFindContours (gray, storage, &contours); cvDrawContours (imgA, contours, CV_RGB (255, 0, 0), CV_RGB (0, 255, 0),1,1); std::cout <<"輪郭が"<< x << "個見つかりました\n";