Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone 4上的CVFinDextrinsicCameramRams2()错误_Iphone_C_Opencv_Augmented Reality - Fatal编程技术网

iPhone 4上的CVFinDextrinsicCameramRams2()错误

iPhone 4上的CVFinDextrinsicCameramRams2()错误,iphone,c,opencv,augmented-reality,Iphone,C,Opencv,Augmented Reality,我在OpenCV(v1.1,2.0,2.2)中发现一个错误,当使用CVFinDextrinsicCameramAparams2()方法时,它与iPhone3GS一起工作,但在iPhone4上测试时失败。错误是: “已释放对象的校验和不正确-对象可能在被释放后被修改” 我最终将大量的cvMat类型转换为浮点数,而不是双倍点数,这解决了问题,但引入了溢出的结果,给了我一些奇怪的结果 iPhone4有双倍的堆叠限制吗 不管怎样-只是想知道是否有人解决了这个问题?(还有-有人知道优化版本吗?我不知道您为

我在OpenCV(v1.1,2.0,2.2)中发现一个错误,当使用CVFinDextrinsicCameramAparams2()方法时,它与iPhone3GS一起工作,但在iPhone4上测试时失败。错误是:

“已释放对象的校验和不正确-对象可能在被释放后被修改”

我最终将大量的cvMat类型转换为浮点数,而不是双倍点数,这解决了问题,但引入了溢出的结果,给了我一些奇怪的结果

iPhone4有双倍的堆叠限制吗


不管怎样-只是想知道是否有人解决了这个问题?(还有-有人知道优化版本吗?

我不知道您为什么会出错,但要回答您的问题,堆栈的大小有限

在大多数系统上,
float
的大小为4字节,
double
的大小为8。因此,当您使用
double
表示数据时,实际使用的空间是
float
的两倍

一个简单的解决方法(如果可以的话)是在堆上而不是堆栈上为cvMat分配内存。为此,请声明一个指针do
cvMat
,并使用new运算符为其分配空间


文档声明iOS主线程的堆栈大小为1MB,次线程为512K。您可能需要在主线程上执行核心处理。

我不知道为什么会出现错误,但要回答您的问题,堆栈的大小有限

在大多数系统上,
float
的大小为4字节,
double
的大小为8。因此,当您使用
double
表示数据时,实际使用的空间是
float
的两倍

一个简单的解决方法(如果可以的话)是在堆上而不是堆栈上为cvMat分配内存。为此,请声明一个指针do
cvMat
,并使用new运算符为其分配空间


文档声明iOS主线程的堆栈大小为1MB,次线程为512K。您可能需要在主线程上完成核心处理。

感谢您的更新-已经完成并重构了大量OpenCV代码,但仍然遇到相同的问题。我们进一步研究了它,认为它可能与为操作线程分配了多少内存有关。需要再次检查这一点,但认为iOS v4.1的分配高于iOS v4.2+。如果是这种情况,那么我认为这应该是一个简单的解决方案,即创建一个新线程,以更大的堆栈大小处理它。仍然存在相同的问题-我现在正在寻找替代实现,以确定由于这些问题造成的姿势-一个内存需求较少的实现,因为我已经阅读了代码,并尝试尽可能多地移动到一事无成。还尝试在不同的线程上运行处理。有人知道有没有一个工具可以让我观察每个线程的堆栈使用情况吗?谢谢你的更新,我已经完成了很多OpenCV代码的重构,但是仍然遇到了同样的问题。我们进一步研究了它,认为它可能与为操作线程分配了多少内存有关。需要再次检查这一点,但认为iOS v4.1的分配高于iOS v4.2+。如果是这种情况,那么我认为这应该是一个简单的解决方案,即创建一个新线程,以更大的堆栈大小处理它。仍然存在相同的问题-我现在正在寻找替代实现,以确定由于这些问题造成的姿势-一个内存需求较少的实现,因为我已经阅读了代码,并尝试尽可能多地移动到一事无成。还尝试在不同的线程上运行处理。有人知道有没有工具可以让我观察每个线程的堆栈使用情况吗?