代码不能直接使用。

	for (int j = strRY; j<endRY; ++j)
{
float * pR = result.ptr<float>(j); for (int i = strRX; i < endRX; ++i)
{
// To make sure z value;
float z(FLOAT32_MIN);
int i_(i - pOffset.x), j_(j - pOffset.y); float x = m_mapX.at<float>(j - strRY, i - strRY);
float y = m_mapY.at<float>(j - strRY, i - strRY); // whether out of range.
if (x < 0 || x >= src2.cols || y < 0 || y >= src2.rows)
continue; int lRow = static_cast<int>(y);
int nRow = lRow + 1; int lCol = static_cast<int>(x);
int nCol = lCol + 1; double u = y - lRow;
double v = x - lCol; // interpolation
// right bottom.
if (lRow >= src2.rows - 1 && lCol >= src2.cols - 1)
{
float data = m_mapZ.at<float>(lRow, lCol);
if (data == -1.0e6)
continue; z = (1 - u) * (1 - v) * data;
}
else if (lRow >= src2.rows - 1)//last row
{
float data = m_mapZ.at<float>(lRow, lCol);
float data2 = m_mapZ.at<float>(lRow, nCol);
if (data == -1.0e6 || data2 == -1.0e6)
continue; z = (1 - u) * (1 - v) * data +
(1 - u) * v * data2;
}
else if (lCol >= src2.cols - 1)//last col
{
float data = m_mapZ.at<float>(lRow, lCol);
float data3 = m_mapZ.at<float>(nRow, lCol); if (data == -1.0e6 || data3 == -1.0e6)
continue;
z = (1 - u) * (1 - v) * data + u * (1 - v) * data3;
}
else
{
float data = m_mapZ.at<float>(lRow, lCol);
float data2 = m_mapZ.at<float>(lRow, nCol);
float data3 = m_mapZ.at<float>(nRow, lCol);
float data4 = m_mapZ.at<float>(nRow, nCol);
if (data == -1.0e6 || data2 == -1.0e6 || data3 == -1.0e6 || data4 == -1.0e6)
continue; z = (1 - u) * (1 - v) * data + (1 - u) * v * data2 +
u * (1 - v) * data3 + u * v * data4;
} pR[i] = pR[i] == -1.0e6 ? z : 0.5*(pR[i] + z); }
}

  

C++双线性插值-片段的更多相关文章

  1. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  2. 20个非常有用的Java程序片段

    下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric strin ...

  3. MyBatis的一系列问题的处理(遍历Map集合和智能标签和属性和字段不一样的解决办法 和sql片段)(三)

    一.字段名与属性名(数据库的名字)不一样怎么办? 方案一:在小配置中配置一个resultMapper <!--方案一:resultMapper 字段名与属性名不一致 --> <res ...

  4. PAT 1049. 数列的片段和(20)

    给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段.例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1 ...

  5. sublimetext3中保存代码片段

    在日常的开发工作中,不断重复上一次敲过的代码,有时确实感到伐木累."蓝瘦"(难受)."香菇"(想哭),大概表达的也是这样的心境吧!:grinning: 所以,在 ...

  6. 线性插值&双线性插值&三线性插值

    http://www.cnblogs.com/yingying0907/archive/2012/11/21/2780092.html 內插是数学领域数值分析中的通过已知的离散数据求未知数据的过程或方 ...

  7. Code Snippets 代码片段

    Code Snippets 代码片段       1.Title : 代码片段的标题 2.Summary : 代码片段的描述文字 3.Platform : 可以使用代码片段的平台,有IOS/OS X/ ...

  8. 10个 jQuery 代码片段,可以帮你快速开发。

    转载自:http://mp.weixin.qq.com/s/mMstI10vqwu8PvUwlLborw 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而 ...

  9. 深入理解DOM节点类型第四篇——文档片段节点DocumentFragment

    × 目录 [1]特征 [2]作用 前面的话 在所有节点类型中,只有文档片段节点DocumentFragment在文档中没有对应的标记.DOM规定文档片段(document fragment)是一种“轻 ...

随机推荐

  1. [LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士

    [LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士 题意 题面好啰嗦啊直接粘LOJ题面好了 小 D 最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照 ...

  2. webpack与vue环境搭建(转载)

    原文:https://www.cnblogs.com/lgx5/p/10732016.html npm安装教程   一.使用之前,我们先来掌握3个东西是用来干什么的. npm: Nodejs下的包管理 ...

  3. ICP 匹配定位算法学习记录

    icp 算法原理是: 选取目标点云P和源点云Q,按照一定的约束条件,找到最邻近点(pi,qi),然后计算出最优R和t(旋转和平移), 使得误差函数最小,误差函数E(R,t): 基本算法流程: 1.在目 ...

  4. RestTemplate的三种请求方式

    转载 https://blog.csdn.net/qq_36364521/article/details/84203133

  5. redis延迟队列

    异步消息队列 Redis 的 list(列表) 数据结构常用来作为异步消息队列使用,使用rpush/lpush操作入队列, 使用 lpop 和 rpop 来出队列. > rpush notify ...

  6. 一些 Java 和 Android 的参考资料

    1. .net程序员转战android第三篇---登录模块之静态登录 2. .net程序员转战android第二篇---牛刀小试 3. .net程序员转战android第一篇---环境部署 4. 一些 ...

  7. Mysql设置binlog过期时间并自动删除

    问题: Mysql数据库由于业务原因,数据量增长迅速,binlog日志会增加较多,占用大部分磁盘空间. 解决方案: 出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作. .查看bin ...

  8. 【mybatis】mybatis传参的几种方式

    参考地址: https://my.oschina.net/liuzelin/blog/2966633

  9. dedecms5.7的获取本文章的TAG

    tag调用标签如下: {dede:tag row='10' getall='1' sort='month'} <li><a href='[field:link/]'>[fiel ...

  10. Swagger实例分享(VS+WebApi+Swashbuckle)

    Swagger实例分享(VS+WebApi+Swashbuckle) Swagger可以很方便的为发布的WebApi自动生成优雅的文档,不需额外自己编写,只需为项目配置好,是一个很好用的工具,做一个简 ...