aboutsummaryrefslogtreecommitdiff
path: root/pix_opencv_hu_compare.cc
diff options
context:
space:
mode:
authorN.N. <sevyves@users.sourceforge.net>2009-09-26 15:51:30 +0000
committerN.N. <sevyves@users.sourceforge.net>2009-09-26 15:51:30 +0000
commitc63152e5b2c23ed110d65544d43e15c7f00b15da (patch)
tree9d4a1d8198b68179bd6d8e38d72772bb94eac01f /pix_opencv_hu_compare.cc
parent6f5799761c2387ea7fe4068347f0635953c413e1 (diff)
pgh and hu gives coordinates of detected contours
svn path=/trunk/externals/pix_opencv/; revision=12463
Diffstat (limited to 'pix_opencv_hu_compare.cc')
-rw-r--r--pix_opencv_hu_compare.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/pix_opencv_hu_compare.cc b/pix_opencv_hu_compare.cc
index ad00fe5..101c448 100644
--- a/pix_opencv_hu_compare.cc
+++ b/pix_opencv_hu_compare.cc
@@ -30,6 +30,7 @@ CPPEXTERN_NEW_WITH_GIMME(pix_opencv_hu_compare)
pix_opencv_hu_compare :: pix_opencv_hu_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;
@@ -136,6 +137,7 @@ void pix_opencv_hu_compare :: processRGBA_RGBA(imageStruct &left, imageStruct &r
cvFindContours( gray, mstorage, &contourl, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) );
+ i=0;
if ( contourl && x_bcontourr )
{
contourlp=contourl;
@@ -150,6 +152,12 @@ void pix_opencv_hu_compare :: processRGBA_RGBA(imageStruct &left, imageStruct &r
{
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
{