图像柱面投影
图像柱面投影
由于图像序列是实体景物在不同坐标系下的二维投影,直接对拍摄图像进行拼接无法满足视觉一致性,所以需要将待拼接的图像分别投影到一个标准的坐标系下,然后再进行图像的拼接。 全景图生成系统可以采用圆柱体、立方体和球体等模型来实现。由于柱面坐标的变换比较简单并且投影图像与其投影到圆柱表面的位置无关,用其描述的柱面全景图像可在水平方向上满足360度环视, 具有较好的视觉效果,因此被广泛采用。
原理: 把平面图像投影到圆柱的曲面上。如下图,四边形GHEF表示待处理原图,投影之后,变成曲面JDILCK(黄色点标注)
俯视图如下,其中FCE为待处理图像平面,KCL为投影所得曲面。
\
已知平面图像上的点,待求: 投影到圆柱的曲面上的坐标,以俯视图上的P点举例,已知P点的坐标(x,y),求解其投影到曲面上的P‘(x',y')
设原图像宽W,高H,角度FOE为相机视场角度α(一般为45°,即PI/4),可得到圆形半径(焦距)f 和角度α,图像宽W的关系:
依次推算出,目标图像的宽(曲线KCL长)
目标图像高H'不变, H' = H
方式一:以图像左上角坐标为原点:
方式二:以图像中心为坐标原点,即(W/2, H/2),可以简计算公式
由于一般来说图像以左上角为坐标原点,所以在编写程序的时候最好采用以方式一。
实现代码参考https://blog.csdn.net/Young__Fan/article/details/82952854
3.等距圆柱投影
等距圆柱投影法示意图:
等距圆柱投影(equidistant cylindrical projection)是一种简单的地图投影方法,在这种投影方法中:假设球面和圆柱面相切于赤道, 将球面上的经纬线投影到圆柱面上, 然后沿圆柱面的一条母线展开成平面的一种投影
圆柱投影的意思是,用圆柱包裹球体,圆柱的面与球体相切。在球体中心放一个点光源,点光源会把球体投射到圆柱上,从而得到球体的圆柱投影。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现