Xcode 5 と OpenCV を使用して、Mac でいくつかのアルゴリズムを開発しています。私はC++としてそれを行います。
私は行列を定義します:
Mat src;
int cols = 560;
int rows = 260;
src.create( cols, rows, DataType<double>::type);
コードでは、次のようなループがあります。
for (int i=0; i<src.rows; i++) {
const double* srcIterator = src.ptr<double>(i);
for (int j=0; j<src.cols; j++) {
double temp = srcIterator[j];
temp++;
}
}
読んだフレームごとにこのループを持つ関数を読みました。ほとんどの場合、正しく実行されます (無限ループで実行され、常に問題ありません)。
一部の実行では、exc_bad_access エラーが発生します。それが起こったとき、それは最初のフレームで起こりました。エラーは次の行にあります: double temp = srcIterator[j];
それが起こったとき、j は 560 をはるかに下回り、常に 500 を超えていましたが、毎回異なる値を持っています。
列と行を混在させているのではないかと思いましたが、それが正しければ、j が 260 (行のサイズ) のときにこのエラーが発生します。
お願いします、誰でもそれが何であるか推測できますか?