1.  畸变模型采用

K = np.array([[6.2597563231075685e+02, 0., 1.1601088601848592e+03],[0., 6.2525998102575511e+02, 1.1634786618991664e+03],[0., 0., 1.]])

2. 直接使用

initUndistortRectifyMap和remap时注意调节视野的大小,为了方便得到想要的大小需要借助
estimateNewCameraMatrixForUndistortRectify

参数

fov_scale=1.0时,调整后的新的内参如下:

[[1.02625557e+02 0.00000000e+00 1.16010886e+03], [0.00000000e+00 1.02508230e+02 1.16347352e+03], [0.00000000e+00 0.00000000e+00 1.00000000e+00]]

f/f_new=6.2597563231075685e+02/1.02625557e+02=6.0996076475449175881208615510852

fov_scale=0.5时,调整后的新的内参如下:

[[2.05251114e+02 0.00000000e+00 1.16121771e+03], [0.00000000e+00 2.05016460e+02 1.16794704e+03], [0.00000000e+00 0.00000000e+00 1.00000000e+00]]

fov_scale=0.2时,调整后的新的内参如下:

[[5.13127786e+02 0.00000000e+00 1.16454428e+03], [0.00000000e+00 5.12541149e+02 1.18136761e+03], [0.00000000e+00 0.00000000e+00 1.00000000e+00]]

3. 完整代码如下:

    K = np.array([[6.2597563231075685e+02, 0., 1.1601088601848592e+03],[0., 6.2525998102575511e+02, 1.1634786618991664e+03],[0., 0., 1.]])D = np.array([[0.069],[-2.24e-03],[-0.01487],[3.78e-03]])img = cv2.imread("D:/ISP/FourFisheyeLensStitching/images/ENCMFUR/square.png")imgHeight, imgWidth, imgDeep = img.shape# new_K = cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(K, D, (1280, 720), np.eye(3), balance=1)# map1, map2 = cv2.fisheye.initUndistortRectifyMap(K, D, np.eye(3), new_K, (1280, 720), cv2.CV_16SC2)# undistorted_img = cv2.remap(img, map1, map2, interpolation=cv2.INTER_CUBIC, borderMode=cv2.BORDER_CONSTANT)# new_K = cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(K, D, (1280, 720), np.eye(3), balance=1,#                                                                new_size=(3400, 1912), fov_scale=1)# map1, map2 = cv2.fisheye.initUndistortRectifyMap(K, D, np.eye(3), new_K, (3400, 1912), cv2.CV_16SC2)# undistorted_img = cv2.remap(img, map1[575:1295, 23:3119, :], map2[575:1295, 23:3119],#                             interpolation=cv2.INTER_LINEAR, borderMode=cv2.BORDER_CONSTANT)new_K = cv2.fisheye.estimateNewCameraMatrixForUndistortRectify(K, D, (imgWidth, imgHeight), np.eye(3), balance=1.0,new_size=(imgWidth, imgHeight), fov_scale=1.0)map1, map2 = cv2.fisheye.initUndistortRectifyMap(K, D, np.eye(3), new_K, (imgWidth, imgHeight), cv2.CV_16SC2)undistorted_img = cv2.remap(img, map1, map2,interpolation=cv2.INTER_LINEAR, borderMode=cv2.BORDER_CONSTANT)cv2.imwrite('D:/ISP/FourFisheyeLensStitching/images/ENCMFUR/undistorted_square_balance_1.0_fov_scale_1.0.png', undistorted_img)

fisheye calib视野调整相关推荐

  1. 百度路书 设置autoView为true 无法准确自动视野调整

    在官方文档 LuShu.js 中有些代码中 autoView: true, //是否开启自动视野调整,如果开启那么路书在运动过程中会根据视野自动调整 其实是随着有拐角处才会刷新 好多文献太老了还是,, ...

  2. 百度地图轨迹回放,自定义路书,边走边画线

    转自:https://www.cnblogs.com/syj2016/p/5685294.html 百度地图轨迹回放,自定义路书,边走边画线 在原有的百度路书的基础上,做了修改,使其能实现边走边画线的 ...

  3. 高德地图markevents_GitHub - mingxuWang/Map: 高德地图API二次封装

    Map组件设计文档 组件设计目的 分析当前各业务方向(销售端.商城.数据可视化.TMS)内地图相关应用的地图功能使用情况,封装Map组件供给各业务向进行使用. 将高德地图API进行二次封装,降低地图相 ...

  4. 基于光线追踪的Mental Ray鱼眼镜头的编程实现 作者:华文广

    基于光线追踪的Mental Ray鱼眼镜头的编程实现 作者:华文广                                                                    ...

  5. 基于高德地图Windows Phone API 快速开发地图相关APP(二)

    基础知识前面做过介绍 http://www.cnblogs.com/piaocz/archive/2012/08/14/2638097.html 下面说说 分层管理覆盖物的功能: 我们把不同的覆盖物 ...

  6. 百度地图同时显示多个路书

    2019独角兽企业重金招聘Python工程师标准>>> <script type="text/javascript" src="http://ap ...

  7. baidumap vue 判断范围_百度地图 vue-baidu-map

    //main.js import BaiduMap from 'common/components/vue-baidu-map' Vue.use(BaiduMap, { // ak 是在百度地图开发者 ...

  8. 此次边路调整系统推荐射手走哪路_王者荣耀地图重大对称改动,终于能射手对射手,上单对上单了...

    兄弟萌,一直困扰大家的地图问题终于要改了,王者峡谷将在今年的周年庆版本,迎来一次玩法体验的大升级! 调整介绍 我们将尝试改造边路的地形&资源,促进更合理的同职业分路对线.以往通过职业.英雄的调 ...

  9. 构建测试的体系化思维(进阶篇)

    读完需要 24 分钟 速读仅需 8 分钟 00 引言 1. 三个层次聊测试体系 测试人员缺乏体系化思维?新建产品团队或者新启项目,如何搭建质量保障体系? 大家都接触过不计其数的测试.质量方面的文章或者 ...

  10. unity 学习记录

    世界第九条约定 缘起 嗯,其实一开始我知道unity是个弄游戏的,也知道好像神庙逃亡,炉石都是出自unity,然后舍友都报了,我也觉得这个东西挺高大上的,所以忍不住自己的双手,报了名,确实,这能学到很 ...

最新文章

  1. 谷歌又有手机黑科技:进入办公室就变静音,遇车祸自动报警
  2. python下载文件到指定文件夹-python实现指定文件夹下的指定文件移动到指定位置...
  3. linux动态分配全局置换,深入理解计算机系统 第九章 虚拟存储器
  4. python开源爬虫项目违法吗_Python开源爬虫项目代码:抓取淘宝、京东、QQ、知网数据...
  5. [ASP.NET MVC2 系列] ASP.NET MVC 之如何创建自定义路由约束
  6. mavros 基于体轴坐标系下的无人机行人跟踪
  7. this--学习笔记
  8. jQuery Mobile中按钮button的data-*选项
  9. Unity中利用反射自动读取Excel配置
  10. Shell脚本里的双冒号是什么意思
  11. Axure 8图标样式库
  12. 机器学习笔记17-LDA算法
  13. linux火狐快捷键设置,使用火狐浏览器所有的快捷键大全
  14. iOS 开发 Provisioning Profile(描述文件) 详解
  15. 笔记本BIOS能检测到固态,进入系统后磁盘管理不显示固态硬盘
  16. linux系统下 blast,Linux下BLAST安装及BLAST使用
  17. Print a rhombus (C++)
  18. 基于51单片机的电子时钟设计
  19. 3Dmax 常用-概念理解
  20. 关于【商品计量单位以及这些计量单位换算】的设计

热门文章

  1. 广州市二手房源数据采集和可视化分析(链家二手房)Python
  2. 芝麻信用商家接入指南
  3. MySQL设计一个图书馆数据库_设计一个图书馆数据库
  4. IDEA设置签名与导入主题
  5. 【V-REP自学笔记(六)】基于V-REP逆运动学模块的机械臂轨迹规划
  6. 也谈谈内卷化、996和程序员的发展
  7. 15b万用表怎么测电容_怎么判断启动电容好坏_启动电容怎么测量好坏_数字万用表测电容好坏...
  8. View 添加阴影效果
  9. DNS请求报文和响应报文解析
  10. 第4节课第一节 Dos攻击