IPM
#if 0
void xyp2ipmp(cv::Mat& xyp, cv::Mat& ipmp, cv::Mat& xylim, Size& sz){
//xylimist_[0]-latteral/xylimist_[1]-longitudinal...
//ipmp-row0-cols-latteral/ipmp-row1-rows-longitudinal...
, xmax = , ymin = , ymax = ;
minMaxLoc(xylim.row(), &xmin, &xmax);
minMaxLoc(xylim.row(), &ymin, &ymax);
double stepcol = (xmax - xmin) / sz.width;
double steprow = (ymax - ymin) / sz.height;
cv::Mat tempx = cv::Mat::ones(, xyp.cols, CV_64FC1) * xmin;
cv::Mat tempy = cv::Mat::ones(, xyp.cols, CV_64FC1) * ymax;
ipmp = cv::Mat::zeros(, xyp.cols, CV_64FC1);
ipmp.rowRange(, ) = ( xyp.rowRange(, ) - tempx ) / stepcol;
ipmp.rowRange(, ) = ( tempy - xyp.rowRange(, ) ) / steprow;
; i < xyp.cols; i++ )
{
, i);
if( y > ymax){
ipmp.at<, i) = ymax;
}
}
}
#endif
#if 0
//IPM-parameters...
;//left
;//top-greater than 320...
;//right...
;//bottom...
] = { left_upper_x, right_down_x, left_upper_x, right_down_x,
left_upper_y, left_upper_y, right_down_y, right_down_y };
cv::Mat uvlmt = cv::Mat(, , CV_64FC1, uvlimist);
//I2G
cv::Mat xylimit;
imagetoground(uvlmt, xylimit, h, roll, pitch, camera_param_KK);
//G2I
cv::Mat uvgd;
cv::Size sz = cv::Size(PROB_W, PROB_H);//Size(srcimage.cols, srcimage.rows)
groundtoimage(xylimit, uvgd, sz, h, roll, pitch, camera_param_KK );
#endif
#if 1
//IPM...
cv::Mat outimage, coord;
src2ipm( prob, uvgd, outimage, coord, sz, h, roll, pitch, camera_param_KK );
outimage.convertTo(outimage, CV_8UC1);
cv::Mat ipm3 = cv::Mat::zeros(PROB_H, PROB_W, CV_8UC3);
cv::cvtColor(outimage, ipm3, COLOR_GRAY2BGR);
//
//cv::Mat uvp = cv::Mat::zeros(2, probp.size(), CV_8UC1);
cv::Mat uvp = cv::Mat::zeros(, probp.size(), CV_64FC1);//data-type...
; i <probp.size(); i++ )
{
uvp.at<, i) = probp[i].x;//cols-width.
uvp.at<, i) = probp[i].y;//rows-height.
//std::cout << uvp.at<double>(0, i) << "-----" << probp[i].x <<std::endl;
//std::cout << uvp.at<double>(1, i) << "-----" << probp[i].y <<std::endl;
}
cv::Mat ipmps, xyp;
//std::cout << "uvp:" << uvp << std::endl;
imagetoground(uvp, xyp, h, roll, pitch, camera_param_KK);
xyp2ipmp(xyp, ipmps, xylimit, sz);
ipmps.convertTo(ipmps, CV_32SC1);
; i <probp.size(); i++ )
{
cv::Point ipmp;
ipmp.x = ipmps.at<, i);
ipmp.y = ipmps.at<, i);
)//-barrier
{
cv::circle(ipm3, ipmp, , cv::Scalar(, , ), -); //
//cv::putText(orig, std::to_string(i), pt, CV_FONT_NORMAL, 0.1, cv::Scalar(255, 255, 255));
}
)//-undifined
{
cv::circle(ipm3, ipmp, , cv::Scalar(, , ), -); //
//cv::putText(orig, std::to_string(i), pt, CV_FONT_NORMAL, 0.1, cv::Scalar(255, 255, 255));
}
}
cv::imshow("ipmp", ipm3);
cv::waitKey();//unit-ms.
sprintf(output_path,"./ipmp/00000%05d.png",cnt);
cv::imwrite(output_path, ipm3);
#endif
end...
IPM的更多相关文章
- IPM简介
1.IPM包含3个函数. image2ground:将图像中的像素点(u, v)对应到地平面上(Z=1)IPM的像素点(x, y): ground2image:将IPM中的像素点(x, y)基于IPM ...
- 【计算机视觉基础】IPM
IPM code #if 0 void xyp2ipmp(cv::Mat& xyp, cv::Mat& ipmp, cv::Mat& xylim, Size& sz){ ...
- 求n个数中前k个数,按之前的顺序输出(HK IPM)
For smaller k: #include <cstdio> #include <cstdlib> #include <cstring> #include &l ...
- IPM的修炼之路
总结了一下最近一年半来看到的产品经理方面的素养资料. 产品经理: 必备素质:市场洞察,抽象概括,创新想象,心思细腻,热爱产品,具备一定的企业家精神等. 是通才:市场,项目,设计,管理,用户,统计,心理 ...
- uva 1599 ideal path(好题)——yhx
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABGYAAAODCAYAAAD+ZwdMAAAgAElEQVR4nOy9L8/0ypH/Pa8givGiyC
- android 性能分析案例
本章以实际案例分析在android开发中,性能方面的优化和处理.设计到知识点有弱引用,memory monitor,Allocation Tracker和leakcanary插件. 1.测试demo ...
- android 传感器应用
本章讲述Android开发中,传感器应用相关的知识点. 1.功能需求 做一个基于传感器的水平尺应用. 2.软件实现
- spring-Formatter(格式化器)-validator(验证器)-错误信息定制
项目结构
- Python之路【第二十二篇】CMDB项目
浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central ...
随机推荐
- VcCallC#_02
1.VC代码:(vs2013运行正常) // ConsoleApplication_CallCS.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h&quo ...
- 03_ExeZZ.cpp
1.静态加载 DLL : #pragma comment(lib, "DllZZ.lib") __declspec(dllimport) void __stdcall AA(); ...
- http和WebSocket
有关http和WebSocket 的区别网上有很多的质料. 个人在此仅仅是记录以下自己的学习心得,自己的理解. 1. http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要 ...
- Python mysql-表中数据的大量插入
2017-09-06 23:28:26 import pymysql db = pymysql.connect("localhost","root"," ...
- vs.net应用程序图标以及制作安装程序快捷方式图标设置
我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢? 我现在要讲的图标设置有两种情况, ...
- hdoj4283 You Are the One
题意:每个人出场时获得等待时间*值的unhappy值.有个栈换出场顺序.问怎样最小? 一开始的时候觉得在中间取断点,dp[i][j]表示区间全出场后的最小值.那么dp[i][j]=dp[i][k]+d ...
- GitHub出现Permissiondenied (publickey).
cd ~/.ssh ssh -T git@github.com 出现Permission denied(publickey).意思表示缺少公钥. ssh-keygen -t rsa -C " ...
- h1026 BFS(打印x与路径)
题意: Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ...
- OAF SubTabLayoutBean隐藏子控件
SubLayout隐藏子控件有两种方法 OASubTabLayoutBean layBean = (OASubTabLayoutBean) webBean.findIndexedChildRecurs ...
- spring boot 学习(三)API注解记录及测试
spring boot API注解记录及测试 部分注解解析 @Controller : 修饰创建处理 http 处理对象,一般用于页面渲染时使用. @RestController : Json数据交互 ...