OpenCV Matxの代入
Matの代入がアドレスで、値をコピーしたいときは.copy()を使用していたけどMatxには無かった
cv::Mat m1 = (cv::Mat_<double>(1, 3) << 4, 5, 6); cv::Mat m2 = m1; m1.at<double>(2) = 10; std::cout << m1 << std::endl; std::cout << m2 << std::endl; cv::Matx13d mx1(4, 5, 6); cv::Matx13d mx2 = mx1; mx1(2) = 10; std::cout << mx1 << std::endl; std::cout << mx2 << std::endl;
結果
[4, 5, 10] [4, 5, 10] [4, 5, 10] [4, 5, 6]