Closed GoogleCodeExporter closed 8 years ago
I have also looked into what seems to be the issue a little more and have
expanded
out the assertion to:
CV_ASSERT( img != 0 );
CV_ASSERT( CV_MAT_TYPE(img->type) == CV_8UC1 );
CV_ASSERT( (mask == 0 || (CV_ARE_SIZES_EQ(img,mask) && CV_MAT_TYPE(mask->type) ==
CV_8UC1)) );
CV_ASSERT( storage != 0 );
CV_ASSERT( params.hessianThreshold >= 0 );
CV_ASSERT( params.nOctaves > 0 );
CV_ASSERT( params.nOctaveLayers > 0 );
which results in:
OpenCV ERROR: Internal error (Assertion: storage != 0 failed)
in function cvExtractSURF, cvsurf.cpp(290)
Terminating the application...
So i would appear that the python interface is failing to create/pass the
required
storage container which should be created with; storage = cvCreateMemStorage( 0
)
Original comment by rojabuck@gmail.com
on 14 Jul 2009 at 3:54
Thanks. I'll take a look asap. I'm a bit busy now.
Original comment by pmtri80@gmail.com
on 16 Jul 2009 at 4:44
I found an error in your code. You should pass a CvSeq_p for the 'keypoints_ptr'
argument in calling cvExtractSURF instead of a CvSeq. The same goes for the
'descriptors_ptr' argument. Perhaps, you may want to have a look at the
'find_obj'
file in the demo package. It has an example of calling cvExtractSURF.
Also, cvExtractSURF is not available in opencv 1.0.
Best regards,
Minh Tri
Original comment by pmtri80@gmail.com
on 18 Jul 2009 at 5:18
Original issue reported on code.google.com by
rojabuck@gmail.com
on 14 Jul 2009 at 3:32