当前位置:网站首页>bool Frame::PosInGrid(const cv::KeyPoint &kp, int &posX, int &posY)
bool Frame::PosInGrid(const cv::KeyPoint &kp, int &posX, int &posY)
2022-08-02 01:05:00 【小秋SLAM实战教程】
bool Frame::PosInGrid(const cv::KeyPoint &kp, int &posX, int &posY)
{
// 校正后的四个边界点已经不能够围成一个严格的矩形,因此在这个四边形的外侧加边框作为坐标的边界
// mnMinX = min(mat.at<float>(0,0),mat.at<float>(2,0));//左上和左下横坐标最小的
// mnMaxX = max(mat.at<float>(1,0),mat.at<float>(3,0));//右上和右下横坐标最大的
// mnMinY = min(mat.at<float>(0,1),mat.at<float>(1,1));//左上和右上纵坐标最小的
// mnMaxY = max(mat.at<float>(2,1),mat.at<float>(3,1));//左下和右下纵坐标最小的
// mfGridElementWidthInv=static_cast<float>(FRAME_GRID_COLS)/static_cast<float>(mnMaxX-mnMinX); 一个图像像素相当于多少个图像网格列宽
// mfGridElementHeightInv=static_cast<float>(FRAME_GRID_ROWS)/static_cast<float>(mnMaxY-mnMinY); 一个图像像素相当于多少个图像网格行高
posX = round((kp.pt.x-mnMinX)*mfGridElementWidthInv);
posY = round((kp.pt.y-mnMinY)*mfGridElementHeightInv);
//Keypoint's coordinates are undistorted, which could cause to go out of the image
if(posX<0 || posX>=FRAME_GRID_COLS || posY<0 || posY>=FRAME_GRID_ROWS)
return false;
return true;
}
边栏推荐
猜你喜欢
随机推荐
flyway的快速入门教程
大话西游创建角色失败解决
网络请求技术--跨域
关于MySQL的数据插入(高级用法)
华为5年女测试工程师离职:多么痛的领悟...
pcie inbound和outbound关系
【刷题篇】打家劫舍
go泛型使用方法
canal实现mysql数据同步
Flex layout in detail
Use flex-wrap to wrap lines in flex layout
《自然语言处理实战入门》 基于知识图谱的问答机器人
3个月测试员自述:4个影响我职业生涯的重要技能
期货开户手续费加一分是主流
管理基础知识9
Kubernetes — 网络流量模型
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements
PHP直播源码实现简单弹幕效果的相关代码
flex布局中使用flex-wrap实现换行
Navicat数据显示不完全的解决方法









