From c63152e5b2c23ed110d65544d43e15c7f00b15da Mon Sep 17 00:00:00 2001 From: "N.N." Date: Sat, 26 Sep 2009 15:51:30 +0000 Subject: pgh and hu gives coordinates of detected contours svn path=/trunk/externals/pix_opencv/; revision=12463 --- pix_opencv_pgh_compare.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'pix_opencv_pgh_compare.cc') diff --git a/pix_opencv_pgh_compare.cc b/pix_opencv_pgh_compare.cc index b4633a7..4af6d8e 100644 --- a/pix_opencv_pgh_compare.cc +++ b/pix_opencv_pgh_compare.cc @@ -30,6 +30,7 @@ CPPEXTERN_NEW_WITH_GIMME(pix_opencv_pgh_compare) pix_opencv_pgh_compare :: pix_opencv_pgh_compare(int argc, t_atom*argv) { m_dataout = outlet_new(this->x_obj, &s_anything); + m_posout = outlet_new(this->x_obj, &s_anything); comp_xsize=320; comp_ysize=240; @@ -139,6 +140,7 @@ void pix_opencv_pgh_compare :: processRGBA_RGBA(imageStruct &left, imageStruct & cvFindContours( gray, mstorage, &contourl, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) ); + i=0; if ( contourl && x_bcontourr ) { contourlp=contourl; @@ -162,6 +164,12 @@ void pix_opencv_pgh_compare :: processRGBA_RGBA(imageStruct &left, imageStruct & { cvRectangle( gray, cvPoint(rect.x,rect.y), cvPoint(rect.x+rect.width,rect.y+rect.height), CV_RGB(255,255,255), 2, 8 , 0 ); cvDrawContours( gray, contourlp, CV_RGB(255,255,255), CV_RGB(255,255,255), 0, 1, 8, cvPoint(0,0) ); + SETFLOAT(&rlist[0], i++); + SETFLOAT(&rlist[1], rect.x); + SETFLOAT(&rlist[2], rect.y); + SETFLOAT(&rlist[3], rect.width); + SETFLOAT(&rlist[4], rect.height); + outlet_list( m_posout, 0, 5, rlist ); } else { -- cgit v1.2.1