私はちょうど奇妙な問題に遭遇しました。クラスのヘッダーで、次のcv::Mat
ように複数定義しました:
cv::Mat drawing, img_grad, img_bright, img_cov;
(ver1)
cv::Mat drawing, img_grad, img_bright, img_cov, img_notused;
(ver2)
コードでは、img_cov を次のように定義します。
img_cov = Mat::zeros( somemat.size(), CV_32FC(6) )
奇妙なことに、複数の Mat のヘッダー宣言 (上記の ver2 を参照) に別の Mat を追加すると、img_notused
それが使用されていなくても、他の Mat にアクセスできなくなります。 my than 0 のチャンネル。img_cov
たとえば経由でアクセスimg_cov.at<float>( j, i, 1)
すると、クラッシュにつながります。
マーモイ割り当てのようです。誰かが私にこれを説明できますか?