我在使用某些 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++ 的经验也很少。
非常感谢。
最佳答案
OpenCV 调整大小不是“就地”运算符
尝试这样的事情:
cv::Mat temp;
cv::Size newDim(...);
cv::resize(m_color_feature, temp, newDim);
m_color_feature = temp.clone();
关于c++ - OpenCV 在调整大小功能时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16678535/