1

我在使用一些 OpenCV 代码的 iPhone 应用程序中遇到了崩溃。异常在以下行引发:

cv::Mat backup_f = m_color_feature;
cv::Mat backup_t = m_map;
double r = m_options.m_opt_height / m_color_feature.rows;

cv::resize(m_color_feature, m_color_feature, cv::Size(), r,r); cv::resize(m_map, m_map, cv::Size(), r, r);

我不知道可能出了什么问题。XCode 中没有任何日志、堆栈函数或异常可以帮助我弄清楚发生了什么。它只是在那里坠毁...

这是来自 XCode 的图像:

在此处输入图像描述 在此处输入图像描述

我尝试了一些修改以查看是否是内存问题,但似乎并非如此。

    cv::Mat backup_f = m_color_feature;
cv::Mat backup_t = m_map;
double r = m_options.m_opt_height / m_color_feature.rows;
cv::Mat resizedColor = cv::Mat(m_color_feature.rows,m_color_feature.cols,m_color_feature.type());
cv::Mat newTest = cv::Mat(m_color_feature.rows,m_color_feature.cols,m_color_feature.type());
cv::resize(resizedColor, newTest, cv::Size(), r,r);
cv::resize(m_map, m_map, cv::Size(), r, r);

如果有人知道可以指导我找到解决方案的东西,那就太好了。对不起,我不知道 OpenCV 和 C++ 经验。

非常感谢。

4

1 回答 1

1

OpenCV 调整大小不是“就地”运算符

尝试这样的事情:

cv::Mat temp;
cv::Size newDim(...);
cv::resize(m_color_feature, temp, newDim);
m_color_feature = temp.clone();
于 2013-05-21T20:10:48.127 回答