- 主题:OpenCV SimpleBlobDetector问题请教
我想用SimpleBlobDetector查找图像中的blob,可是一运行SimpleBlobDetector对像的detech函数崩溃。
找不到原因,所以我想把这个函数相关的SimpleBlobDetector::findBlobs和SimpleBlobDetector::detectImpl函数摘出来自行编译,但是发现findBlobs函数中有个vector<Center> ¢ers的参数,怎么也找不到这个"Center",是在哪里定义的。
请教,有大牛能指导一下吗?谢谢
--
FROM 113.224.129.*
你贴一个能崩溃的最小代码上来看看
【 在 rabbit8000 的大作中提到: 】
: 我想用SimpleBlobDetector查找图像中的blob,可是一运行SimpleBlobDetector对像的detech函数崩溃。
: 找不到原因,所以我想把这个函数相关的SimpleBlobDetector::findBlobs和SimpleBlobDetector::detectImpl函数摘出来自行编译,但是发现findBlobs函数中有个vector<Center> ?ers的参数,怎么也找不到这个"Center",是在哪里定义的。
: 请教,有大牛能指导一下吗?谢谢
--
FROM 120.244.156.*
我现在知道崩溃的原因了,是堆栈溢出。
我把opencv相关的变量定义成全局变量,就好像可以了,今天准备再试试。
【 在 dormouseBHU 的大作中提到: 】
: 你贴一个能崩溃的最小代码上来看看
--
FROM 117.136.5.*
SimpleBlobDetector 正确的用法是建立在堆上的,根本就不应该在栈上。能够堆栈溢出就说明你用法根本就是错的
搞成全局变量更是错上加错。
【 在 STEP8 的大作中提到: 】
: 我现在知道崩溃的原因了,是堆栈溢出。
: 我把opencv相关的变量定义成全局变量,就好像可以了,今天准备再试试。
--
修改:dormouseBHU FROM 120.244.156.*
FROM 120.244.156.*
是吗?我研究研究,谢谢
--
FROM 117.136.5.*
大概的代码类似下面这样。
Ptr<SimpleBlobDetector> detector = SimpleBlobDetector::create();
vector<KeyPoint> keypoints;
detector->detect(img,keypoints);
【 在 STEP8 的大作中提到: 】
: 是吗?我研究研究,谢谢
--
FROM 219.143.129.*
我贴代码的回复没成功。
我是用的示例代码,单独试验没有问题(只有一个main函数)
但是我的程序中单独建立一个图像采集处理的线程,把opencv代码加到线程中就崩溃。我把opencv代码改到按钮事件中,也是崩溃。
--
FROM 112.41.29.*