前两天工作需要买了一个佳能8-15mm的鱼眼镜头,8mm镜头其实成像就是180度的鱼眼镜头,成像效果如下图:

这里因为买的相机body是全画幅的,CCD长宽比是3:2的,所以调至镜头到8mm是不能占满整个CCD,以前的博客有写过这么把全景照片或者视频展示的资料和实现情况贴出来:鼠标控制全景照片观看

我就想如果前后拍两张或者拍三张那么就不需要用很多个镜头拼接,只需要2-3个鱼眼镜头拼接就行了,现在主流的全景摄像头也就是用两个大鱼眼镜头拼接(如下图gear360)

图像或者视频拼接opencv的stitching模块很多,直接用或者你是相关专业的自己cmake后改源码也可以,这个我也不重复啰嗦了,我刚好手头也有gear360拍摄了一下照片:

这是拼接以后的,没拼接前就是两个大圆圈

gear360的镜头是195度的,所以它是能够有重叠部分进行匹配和拼接的,但我个人觉得他的两个镜头的拼接过程中特征查找和匹配可能是一次成型,也就是选好一个拼接最好的距离范围后定好拼接参数,以后所以的都按照这个来,拼接的时候只做融合部分,不然实时效率不可能这么高,而且相片能固定大小。不扯这么远,那么现在这个canno的8mm成像照片肯定不能就这样进行拼接,肯定要展成矩形,也就是像把一个地球给展成世界地图一样,现在是半球(180°)也应该展成什么从北纬90°到南纬90°,本初子午线到东经180°嘛,所以查阅资料发现这样的方式成为经纬法,自行百度鱼眼照片经纬法展开之类的,专利论文都一大堆,我这就不重复了。

通过理解以后参考一些论文以及代码,这里参考了论文:经纬法传送门 以及在github上面把一个哥们成型的代码抠了我需要的那部分改动了一小点,github传送门 。把这个下下来后,把findCircleParameter和corrctor代码抠出来就行,这里面两个步骤也就是一个找我们这个照片的圆参数,后一个也就是用经纬法展开这个鱼眼照片了,里面记得params.distMap是选择LATITUDE_LONGTITUDE,这哥们是把这个作为他的毕业设计,所以详细的在他的paper目录下还有他的论文,大家也可以多参考参考。我因为有些应用附加在上面,所以代码很累赘,我把自己的来源都摆出来,希望大家还是多去看一下这些,不做拿来主义,我以前基本上也是把来来源都贴出来,说下自己怎么做的就点到为止了,我自己的代码也就不贴了,自己动手,体会更深,如有不明白,可以一起讨论。然后我再贴实现的效果。

有效圆形区域提取:

经纬展开图:

OPENGL全景观看:

视角1:

视角2:

opencv使用经纬法把鱼眼照片展开相关推荐

  1. 利用opencv棋盘格标定法对鱼眼图像校正分析

    利用opencv棋盘格标定法对鱼眼图像校正分析 一.开发环境 PC端.vs2013+opencv3.0.摄像头为淘宝购置的鱼眼摄像头外设+iphone6 二.镜头标定 1.  输入畸变的棋盘格图以及棋 ...

  2. OpenCV 使用光流法检测物体运动

    OpenCV 可以使用光流法检测物体运动,贴上代码以及效果. // opticalflow.cpp : 定义控制台应用程序的入口点. //#include "stdafx.h"// ...

  3. python笛卡尔转换极坐标_[4] opencv: pythonDIS光流法与笛卡尔坐标转为极坐标

    [4] opencv: pythonDIS光流法与笛卡尔坐标转为极坐标 [4] opencv: pythonDIS光流法与笛卡尔坐标转为极坐标 目录1, 笛卡尔转为极坐标 2, DIS光流算法 1, ...

  4. opencv 帧差法 absdiff

    opencv 帧差法 absdiff opencv2.3.1里的以下函数可计算当前帧与背景之差的绝对值. cv::absdiff(backgroundImage,currentImage,foregr ...

  5. 2022年计算机一级照片要多大的,法考报名照片要求几寸

    法考报名照片要求尺寸是2寸照片.证件照为电子照片,标准尺寸为413像素(宽)×626像素(高),文件类型为jpg格式,文件大小为40KB ≤ 文件大小 ≤ 100KB.电子照片需本人近三个月内正面.免 ...

  6. OpenCV大津法二值化

    OpenCV大津法二值化 大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出.从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化 ...

  7. 【html+css+原生js实现炫酷照片展开效果-----女友相册的正确打开方式(详细)】

    1.先看效果.有动画效果,截图效果不大明显.copy代码运行可以展示完整效果. 2.html页面 <!DOCTYPE html> <html><head><m ...

  8. java 鱼眼照片的矫正_使用OpenCV校准鱼眼镜头

    使用 01.简介 当我们使用的鱼眼镜头视角大于160°时, 如果小伙伴也遇到了类似情况,那么这篇文章可能会对大家有一定的帮助. 从3.0版开始,OpenCV包含了cv2.fisheye可以很好地处理鱼 ...

  9. java 鱼眼照片的矫正_鱼眼镜头立体声校准OpenCV,Python

    我使用本教程link成功校准了我的相机作为参考 . 这是代码: CHESSBOARD_SIZE = (9,6) img_dir_left = "/home/dir_left" im ...

最新文章

  1. 建造者模式(Builder)
  2. 下一代防火墙的5个优点
  3. mysql体系结构:
  4. 获取文件夹所占空间的大小
  5. Jenkins - Extended E-mail配置教程
  6. 程序员必须知道的HTML常用代码有哪些?
  7. 第三十四期:花了一个星期,我终于把RPC框架整明白了!
  8. 逻辑综合工具DesignCompiler使用教程
  9. pytorch从dataframe中提取信息,变为可训练的tensor
  10. 爬虫里的多线程基本使用
  11. C 和 C++ 不安全?Android 支持 Rust 开发操作系统
  12. windows批处理bat常用指令
  13. 简单的网页编辑器js代码
  14. MySQL 第六章过程式数据库对象.1存储对象
  15. jeeplus-一款款可一键生成前后端代码的开发平台
  16. 前端HTML+CSS学习笔记
  17. 密西根州立大学副教授汤继良:我的人生总有神奇的GPS
  18. Ikuai网关配置方法
  19. 转载:欧姆社 漫画学习统计学
  20. 美联储3月议息会议:表面风平浪静,下面暗流涌动

热门文章

  1. 【小盐巴学习笔记】—美团吃饭哪家强?Python词云分析告诉你
  2. 图像的偏色检测及颜色校正方法
  3. 【静电地板】除尘技术要点
  4. 思科ASA 9.1 IPv4/IPv6双栈配置
  5. 超过 3K + 的一个开源弹框库,使用方便,功能强大,简直碉堡了
  6. imshow()函数后面如果不加waitKey()函数就不显示
  7. Mac OS X El Capitan beta 6 + Xcode 7 beta 4 的问题有解了
  8. 围攻头条,PK百度,威胁Jack马,腾讯的AI野心已经藏不住了
  9. “如影计划” 不带手机也能随身带支付宝
  10. 如何root安卓手机_不花钱教程:安卓手机root刷机