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
` 怎么解决?谢谢你
答案 0 :(得分:0)
我已经通过vconcat()函数
解决了这个问题