Size类型如何调用和定义
cv::Size sz = cv::Size(PROB_W, PROB_H);//Size(srcimage.cols, srcimage.rows)
groundtoimage(xylimit, uvgd, sz, h, roll, pitch, camera_param_KK );
sz.height
sz.width
//groundtoimage...
void groundtoimage( cv::Mat& xylimt, cv::Mat& uvgrid, cv::Size& sz, double ht, double roll, double pitch, double* camera_param_KK )
{
//std::cout << "sz.height: " << sz.height << " ------ sz.width: " << sz.width << 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 Tx = (cv::Mat_<double>(3, 3) << 1, 0, 0,
0, c1, s1,
0, -s1, c1);
cv::Mat Tf = (cv::Mat_<double>(3, 3) << fx, 0, cx,
0, fy, cy,
0, 0, 1); double xmin = 0, xmax = 0, ymin = 0, ymax = 0;
minMaxLoc(xylimt.row(0), &xmin, &xmax);
minMaxLoc(xylimt.row(1), &ymin, &ymax);
//std::cout << "xmin: " << xmin << " xmax: " << xmax << std::endl;
//std::cout << "ymin: " << ymin << " ymax: " << ymax << std::endl;
double steprow = (ymax - ymin) / sz.height;
double stepcol = (xmax - xmin) / sz.width;
cv::Mat xygrid = cv::Mat::zeros(2, sz.height*sz.width, CV_64FC1); float y = ymax;
for (int i = 1; i <= sz.height; i++)
{
float x = xmin;
for (int j = 0; j < sz.width; j++)
{
xygrid.at<double>(0, (i - 1)*sz.width + j) = x;
xygrid.at<double>(1, (i - 1)*sz.width + j) = y;
x = x + stepcol;
}
y = y - steprow;
} cv::Mat temp1, temp2;
xygrid.rowRange(0, 2).copyTo(temp2);
temp1 = cv::Mat::ones(1, temp2.cols, CV_64FC1)*(-height);
cv::vconcat(temp2, temp1, temp2); cv::Mat T = Tf*Tx;
temp2 = T * temp2; temp2.row(0) = temp2.row(0) / temp2.row(2);
temp2.row(1) = temp2.row(1) / temp2.row(2);
temp2.rowRange(0, 2).copyTo(uvgrid); }
re:
end
Size类型如何调用和定义的更多相关文章
- XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)
XML序列化 #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...
- 【转】Android中EditText中的InputType类型含义与如何定义
原文网址:http://www.crifan.com/summary_android_edittext_inputtype_values_and_meaning_definition/ 经过一些And ...
- C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法
使用反射(Reflect)获取dll文件中的类型并调用方法 需引用:System.Reflection; 1. 使用反射(Reflect)获取dll文件中的类型并调用方法(入门案例) static v ...
- 【整理】Android中EditText中的InputType类型含义与如何定义( 转 )
转自:[整理]Android中EditText中的InputType类型含义与如何定义 用到的时候查到了这篇文章觉得很不错,就在此记录下. [背景] 经过一些Android中EditText方面的折腾 ...
- C#调用自己定义表类型參数
-SQL SERVER生成測试环境: --创建測试DB CREATE database Sales; go USE Sales GO --创建表类型 IF TYPE_ID('LocalDT') IS ...
- 利用传入的Type类型来调用范型方法的解决方案
起因:自定义一个GridView控件,其数据源来源于一个通用方法Get<T>(),根据你传入的T到数据库中得到相应的数据,问题是定义GridView控件时没法在界面端设置使用泛型,只能在每 ...
- minic 类型声明与变量定义句型处理
#include "token_define.h" //这个文件是用来处理句型的,对于算术表达式都是放在前面的那个头文件中来处理 typedef struct _handle_tr ...
- 为什么字符串类型可以调用构造函数String的方法,却又不是它的实例
从所周知,在js中定义一个字符串我们有两种办法: var a = new String("a"); var a = "a"; 第一种方法使用构造函数创建,作为S ...
- Kubernetes的pod控制器及ReplicaSet控制器类型的pod的定义
为什么需要Pod Kubernetes项目之所以这么做的原因: 因为Kubernetes是谷歌公司基于Borg项目做出来的,谷歌工程师发现,他们部署的应用往往存在这进程与进程组的关系.具体说呢,就是这 ...
随机推荐
- spring事务管理方式大全
http://blog.csdn.net/baibinboss/article/details/64922472
- Win10安装Mysql5.7数据库
Win10安装Mysql5.7数据库 最近做个demo在自己本地装了一个mysql5.7,有些小麻烦记录一下. 安装环境:系统是 windows 10 1.官网下载 下载地址:https://dev. ...
- new JSONObject(str)无法解析 报错:org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject
org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject 解析服务器返回的Jso ...
- kubectl管理多个k8s集群
#把每个k8s集群的json配置文件放到/root/.kube/目录下,改为不同名字,通过--kubeconfig实现不同集群操作 kubectl --kubeconfig=/root/.kube/m ...
- python-day17--迭代器
1.迭代: 迭代就是一个一个一个挨着的取值 2.可迭代类型: str ,列表,元组,集合,字典 3.判断迭代器和可迭代的方法 #第一种:判断内部是不是实现了 __next__#'__next__' ...
- python-day9-集合数据类型
pythons=['alex','egon','yuanhao','wupeiqi','gangdan','biubiu']linuxs=['wupeiqi','oldboy','gangdan'] ...
- zabbix自动化监控基础
zabbix安装配置文档 2 一 zabbix-server 安装配置(基础配置) 2 二 zabbix agent安装配置 5 2.1 主动模式和被动模式 6 2.2 安装配置zabbix_agen ...
- React脚手架create-react-app+elementUI使用
一.介绍 1.create-react-app是FaceBook官方发布了一个无需配置的.用于快速构建开发环境的脚手架工具. 2.优点 a.无需配置:官方的配置堪称完美,几乎不用你再配置任何东西,就可 ...
- dup的使用
转自:http://www.cnblogs.com/GODYCA/archive/2013/01/05/2846197.html 下面是关于实现重定向的函数dup和dup2的解释: 系统调用dup和d ...
- visio开发者图形分类个人爱好
visio开发者图形分类个人爱好