opencv数据类型和格式的坑
//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等等...
完
opencv数据类型和格式的坑的更多相关文章
- <学习opencv>opencv数据类型
目录 Opencv数据类型: 基础类型概述 固定向量类class cv::Vec<> 固定矩阵类cv::Matx<> 点类 Point class cv::Scalar 深入了 ...
- Opencv环境配置及踩坑
Opencv环境配置及踩坑 1.什么是Opencv OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和[ ...
- 深度图从ros数据类型转换成opencv数据类型
摘要:ros下,利用realsense D435采集深度图,并将其转换成opencv的数据类型. 一. RGBD图像采集 通过image_transport包,根据给定的采集速度从realsense ...
- 网络传输中利用fastjson将复杂嵌套数据类型Json格式转换(GeoJsonPolygon)
如果一个对象太复杂了,那么在网络传输键的JSON格式数据转换容易出问题. 比如下面一个类Area.java import lombok.AllArgsConstructor; import lombo ...
- opencv中Mat格式的数据访问.at
opencv3中图形存储基本为Mat格式,如果我们想获取像素点的灰度值或者RGB值,可以通过image.at<uchar>(i,j)的方式轻松获取. Mat类中的at方法对于获取图像矩阵某 ...
- [OpenCV]OpenCV常用语法函数与坑点
目录 1. 加载图像(cv::imread) 2. 显示图像(cv::nameWindows与cv::imshow) 3. 修改图像(cv::cvtColor) 4. 保存图像(cv::imwrite ...
- Opencv读取各种格式图片,在TBitmap上面重绘
//opencv读取图片 cv::Mat image; //const char *fileName = "HeadImage-UI/Photo-001.bmp"; const c ...
- openCV(二)---iOS中使用openCV的图片格式转换
可以实现将UIImage和IplImage类型实现相互转换 //由于OpenCV主要针对的是计算机视觉方面的处理,因此在函数库中,最重要的结构体是IplImage结构. - (IplImage *)C ...
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 前台request 获取body的格式是正确的 (2018-03-23 16:44:22) 但是Java 后台却格式化成了yyyy-MM-dd的格式 巨坑(@InitBinder搞得贵)
最近做项目时,同事写的功能总是格式化时间不正确,Java类属性明明注解了@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 但就是硬 ...
随机推荐
- Thunder团队--Alpha发布用户报告
用户数量:12人 以下为用户评论:(注:为了保护用户的姓名权,以下用户名以昵称形式给出.) 用户名(昵称) 用户使用频次 用户评论(以图片展示) 小王 3次 米线 2次 孔小姐 5次 乌乌鸟 2次 永 ...
- android适配各种分辨率的问题
Android设备屏幕的尺寸是各式各样的,如小米是4英寸的,Xoom平板是10英寸:分辨率也千奇百怪,800×480,960×540等:Android版本的碎片化问题更是萦绕于心,不过在设计应用时可以 ...
- m_Orchestrate learning system---三十、项目中的dist文件一般是做什么的
m_Orchestrate learning system---三十.项目中的dist文件一般是做什么的 一.总结 一句话总结: Bootstrap switch:dist 目录是放最终的js和css ...
- android--------阿里 AndFix 热修复
AndFix,全称是Android hot-fix.是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug. 支持Android 2.3 到 6.0,并且支持arm 与 X86 ...
- android--------微信 Tinker 热修复 (一)
什么是热修复 热修复补丁(hotfix),又称为patch,指能够修复软件漏洞的一些代码,是一种快速.低成本修复产品软件版本缺陷的方式. 热修复有多种,如:Tinker ,QZone,Andfix, ...
- President's Path CodeForces - 416E (最短路,计数)
大意: 给定无向图, 求任意两点间所有最短路经过的边数 刚开始想先用floyd跑出最短路, 然后在DAG上DP, 交了1发, 发现会算重复 贴一下题解的做法 #include <iostream ...
- 『科学计算』图像检测微型demo
这里是课上老师给出的一个示例程序,演示图像检测的过程,本来以为是传统的滑窗检测,但实际上引入了selectivesearch来选择候选窗,所以看思路应该是RCNN的范畴,蛮有意思的,由于老师的注释写的 ...
- 安装docker CE for CentOS
Uninstall old versions sudo yum remove docker \ docker-client \ dock ...
- iOS系统版本与机型的对应关系
1.手机系统版本:10.3 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; 2.手机类型:iPhone 6 NSS ...
- POJ 1847 Floyd_wshall算法
前面用dijstra写过了.但是捏.数据很小.也可以用Floyd来写. 注意题目里给出的是有向的权值. 附代码:#include<stdio.h>#include<string.h& ...