//cv::Mat uvp = cv::Mat::zeros(2, probp.size(), CV_8UC1);
cv::Mat uvp = cv::Mat::zeros(2, probp.size(), CV_64FC1);//data-type...
for (unsigned int i = 0; i <probp.size(); i++ )
{
uvp.at<float>(0, i) = probp[i].x;
uvp.at<float>(1, i) = probp[i].y;
}
cv::Mat ipmps, xyp;
imagetoground(uvp, xyp, h, roll, pitch, camera_param_KK);

		//cv::Mat uvp = cv::Mat::zeros(2, probp.size(), CV_8UC1);
cv::Mat uvp = cv::Mat::zeros(2, probp.size(), CV_64FC1);//data-type...
for (unsigned int i = 0; i <probp.size(); i++ )
{
uvp.at<float>(0, i) = probp[i].x;
uvp.at<float>(1, i) = probp[i].y;
}
cv::Mat ipmps, xyp;
imagetoground(uvp, xyp, h, roll, pitch, camera_param_KK);

  

//imagetoground...
void imagetoground(cv::Mat& uv, cv::Mat& xy, double ht, double roll, double pitch, double* camera_param_KK)
{
std::cout << "111" << std::endl;
int height = (int)(ht*1000); //unit-mm.
double fx = camera_param_KK[0];
double fy = camera_param_KK[4];
double cx = camera_param_KK[2];
double cy = camera_param_KK[5]; double c1 = cos(pitch*PI / 180);
double s1 = sin(pitch*PI / 180);
double c2 = cos(roll*PI / 180);
double s2 = sin(roll*PI / 180); cv::Mat Tf = (cv::Mat_<double>(3, 3) << fx, 0, cx,
0, fy, cy,
0, 0, 1); cv::Mat Tx = (cv::Mat_<double>(3, 3) << 1, 0, 0,
0, c1, s1,
0, -s1, c1); cv::Mat T = Tx.inv() * Tf.inv();
T.rowRange(0, 2) = T.rowRange(0, 2)*(-height);
cv::Mat temp = cv::Mat::ones(3, uv.cols, CV_64FC1); uv.copyTo(temp.rowRange(0, 2) ) ;
cv::Mat xyt = T*temp;
xyt.rowRange(0, 1) = xyt.rowRange(0, 1) / xyt.rowRange(2, 3);
xyt.rowRange(1, 2) = xyt.rowRange(1, 2) / xyt.rowRange(2, 3); xyt.rowRange(0, 2).copyTo(xy);//deep-copy...
}

注意 

错误的描述一般是内存冲突memory crruption,abort等等...

最新文章

  1. 转载:《TypeScript 中文入门教程》 4、类
  2. ASP.NET MVC中的两个Action之间值的传递--TempData
  3. Android 开发环境配置
  4. WebApi系列~dynamic让你的省了很多临时类
  5. linux如何修改文件或目录的权限(chmod)
  6. Struts 2 拦截器
  7. 15_会话技术_Cookie
  8. 网络基础---OSI 模型与TCP/IP
  9. highcharts动态获取数据生成图表问题
  10. Nginx 配置指令的执行顺序(四)
  11. Android中如何将Bitmap byte裸数据转换成Bitmap图片int数据
  12. php条件语句(二)
  13. selenium2自动化测试学习笔记(二)
  14. iOS学习——#define、const、typedef的区别
  15. list set map区别及适用场景
  16. xshell 6评估已过期解决办法 / xftp 6 评估已过期解决办法
  17. 移植Valgrind检测Android JNI内存泄漏
  18. 训练 の Bessie的体重问题
  19. 廖雪峰Java3异常处理-1错误处理-4自定义异常
  20. asp.net excel模板下载

热门文章

  1. IDEA配置GIT
  2. STL_容器使用时机
  3. Unity生成屏幕快照
  4. jsp动作之 setProperty
  5. 20161226xlVBA演示文稿替换文字另存pdf
  6. git查看本地分支关联(跟踪)的远程分支之间的对应关系,本地分支对应哪个远程分支
  7. 浏览器编辑web页面的方法
  8. [NOI2018]你的名字(68pts)
  9. mac 安装nginx,并配置nginx的运行环境
  10. 带分数(dfs,next_permutation)