当使用cvFindExtrinsicCameraParams2()方法时,我在OpenCV (v1.1,2.0,2.2)中出现错误,它适用于iPhone3GS,但在iPhone4上测试时摔倒。错误是:
"释放对象的校验和不正确-对象可能在释放后被修改"
我最终将大量的cvMat类型转换为浮点数,而不是双精度,这解决了问题,但引入了结果溢出,给了我一些奇怪的结果。
iPhone4有双栈限制吗?
无论如何-只是想知道是否有人已经解决了这个问题?
我不知道为什么你有错误,但回答你的问题,堆栈有一个有限的大小。
在大多数系统中,float
的大小为4字节,double
的大小为8。因此,当您使用double
来表示您的数据时,您实际上使用的空间是float
的两倍。
cvMat
,并使用new操作符为它分配空间。线程管理文档指出,iOS主线程的堆栈大小为1mb,辅助线程为512K。您可能需要在主线程上执行处理的核心。