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 に答える