私はちょうど奇妙な問題に遭遇しました。クラスのヘッダーで、次の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)すると、クラッシュにつながります。
マーモイ割り当てのようです。誰かが私にこれを説明できますか?