c++ - OpenCV 在调整大小功能时崩溃

标签 c++ ios xcode opencv

我在使用某些 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 的图像:

enter image description here enter image description here

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

    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/

相关文章:

ios - 无法使用核心数据 (Swift) 将数据保存/检索到设备

ios - 重复符号_OBJC_CLASS_$_Base64

c++ - 为什么 void sorting(int *[], int) 会导致 "Unable to read memory"?

c++ - 使用 C++ 在 VS 中查找丢失的分号的最有效方法是什么?

iphone - 每个循环的未使用变量警告

ios - 每行可变 NSTextCell 宽度/计数——这可能吗?

ios - 生成的ipa没有安装

ios - 在 iOS 应用 (xcode) 中使用本地视频文件

c++ - C++中类的分区和设计

c++ - 公共(public)图书馆的 char 或 std::string 数组?