OpenCV Mat ::行分配

时间:2017-05-25 05:39:17

标签: c++ opencv

cv::Vec<double, 9> 4;
for(int j = 0; j <3; ++j) {
   r[3 * j] = x[j];
   r[3 * j + 1] = y[j];
   r[3 * j + 2] = z[j];
}
vector<double> xi_, yi_, zi_;
        for (int j = 0; j < n; ++j) {
            xi_.push_back(obj_pts.at<double>(0, j));
            yi_.push_back(obj_pts.at<double>(1, j));
            zi_.push_back(obj_pts.at<double>(2, j));
        }
    cv::Mat Xi[xi_];
    cv::Mat Yi[yi_];
    cv::Mat Zi[zi_];
    cv::Mat XXcs(3, n,CV_64F), XXc, mo;
    mo = cv::Mat::ones(1, n, CV_64F);
(297th)        XXcs.row(0) = r[0] * Xi.t() + (r[1] * c + r[2] * s) * Yi.t() + (-r[1] * s + r[2] * c) * Zi.t() + t_[0] * mo;
        XXcs.row(1) = r[3] * Xi.t() + (r[4] * c + r[5] * s) * Yi.t() + (-r[4] * s + r[5] * c) * Zi.t() + t_[1] * mo;
        XXcs.row(2) = r[6] * Xi.t() + (r[7] * c + r[8] * s) * Yi.t() + (-r[7] * s + r[8] * c) * Zi.t() + t_[2] * mo;

我尝试调试我的程序,执行第292语句时出现错误。 信息是“

The inferior stopped because it received a signal from the operating system.

Signal name : 
SIGSEGV
Signal meaning : 
Segmentation fault

` 怎么解决?谢谢你

1 个答案:

答案 0 :(得分:0)

我已经通过vconcat()函数

解决了这个问题