20200527-图像处理之极坐标全景图

说明:搬迁自我的知乎专栏:图像处理&&计算机视觉

文章链接:https://zhuanlan.zhihu.com/p/29218780

这是我的第二篇专栏文章,希望在介绍图像处理内容的同时更多的为大家讲解一下背后涉及到的数学原理。今天介绍实现小星球特效中的主要涉及的图像处理算法——极坐标全景图变换,下面展示了一组示意图像。

20200527-图像处理之极坐标全景图_第1张图片

 

20200527-图像处理之极坐标全景图_第2张图片

文章的提纲大致如下:

1、极坐标系与笛卡尔直角坐标系介绍

2、极坐标系与笛卡尔直角坐标系相互转换

3、图像中的坐标变换

  • 3.1、图像中的坐标转换
  • 3.2、图像插值
  • 3.3、图像Alpha融合

 

一、平面直角坐标系与极坐标系

1、平面直角坐标系简介

见百度百科:平面直角坐标系

2、极坐标系简介

在数学中,极坐标系(英语:Polar Coordinate System)是一个二维坐标系统。该坐标系统中任意位置可由一个夹角和一段相对原点—极点的距离来表示。

20200527-图像处理之极坐标全景图_第3张图片

极坐标示意图

如上图:在极点为O、极轴为L的极坐标系里,点(3, 60°)的径向座标为3、角座标为60°,点(4, 210°)的径向座标为4、角座标为210°。

在两点间的关系用夹角和距离很容易表示时,极坐标系便显得尤为有用;而在平面直角坐标系中,这样的关系就只能使用三角函数来表示。对于很多类型的曲线,极坐标方程是最简单的表达形式,对于某些曲线来说,只有极坐标方程能够表示。

2.1、极坐标系中点的表示

正如所有的二维坐标系,极坐标系也有两个坐标轴:R(半径坐标)和θ(角坐标,有时也表示为φ)。R坐标表示与极点的距离,θ坐标表示按逆时针方向坐标距离为0°射线(有时也称作极轴)的角度,极轴就是在平面直角坐标系中的X轴正方向。

极坐标系中一个重要的特性是,平面直角坐标中的任意一点,可以在极坐标系中有无限种表达形式。通常来说,点(R, θ)可以任意表示为(R, θ ± n×360°)或(−R, θ ± (2n + 1)180°),这里n是任意整数。如果某一点的R坐标为0,那么无论θ取何值,该点的位置都落在了极点上。

3、二者之间的转换

3.1、由平面直角坐标系转换为极坐标系:

20200527-图像处理之极坐标全景图_第4张图片

分类讨论:

20200527-图像处理之极坐标全景图_第5张图片

3.2、由极坐标系转换为平面直角坐标系:

 

二、图像中的坐标系转换

首先画出两个图像在坐标系之间进行转换的关系图:

20200527-图像处理之极坐标全景图_第6张图片

PPT绘图(丑爆),只做示意图使用

这里需要说明一下,虽然极坐标图中的点应该使用半径R与角度θ表示,但是由于极坐标图的展示还是在平面直角坐标系里面,所以在进行构造极坐标图的时候,其最终生成的图像仍然使用平面直角坐标系表示。

具体思路为:已知原图中每个点(M)的灰度值,通过极坐标系与平面直角坐标系的坐标转换公式,确定极坐标图中每个点(M’)处的灰度值。

通过对上图中点M的坐标变换进行讲解,如图所示:原图中M的坐标为:(L,a),在极坐标图中M'的坐标为:(θ,r)。

步骤1:在极坐标图中M’的极坐标定位:

θ = 2 * π * M的横坐标 / 原图像的宽 = 2 * π * L / b;

r = 半径缩放系数 * M的纵坐标 = ρ * a;其中:ρ = 极坐标图的R / 原图像的高 = R / (2 * a);

步骤2:将极坐标图中的极坐标,转换为极坐标图中的平面直角坐标

x' = r * cosθ;

y' = r * sinθ;

步骤3:将M处的灰度值,赋给M'处像素点的灰度值;

步骤4:从原图像到极坐标图像的转换中,并非所有的点均可以一一对应,这个时候就需要对没有对应原图像中像素点的极坐标图中的点(下图中的黑色细线,并未完全展示出来),进行插值操作。

20200527-图像处理之极坐标全景图_第7张图片

图中的黑色细线处需要进行灰度值插值

插值操作后的图像:

20200527-图像处理之极坐标全景图_第8张图片

 

三、图像的Alpha融合

假设有如下的原图像:

20200527-图像处理之极坐标全景图_第9张图片

原图像

如果对直接进行极坐标变换,得到如下的图像:

20200527-图像处理之极坐标全景图_第10张图片

直接进行极坐标变换的结果图像

从上图可以看出在左侧中间位置,有一条明显的拼接缝隙。这是由于原图像最左侧与最右侧的边缘差异太大造成的。

为了解决这一问题,可以对原图像左右两个边缘进行Alpha融合,使得拼接后的图像更加符合视觉观感,使得拼接缝隙更加不明显(消除拼接缝操作)。便可得到如下图像:

20200527-图像处理之极坐标全景图_第11张图片

Alpha融合后的极坐标图像

 

四、小结

以上主要介绍了极坐标变换在,极坐标全景图制作中的应用。为了使得极坐标图像更加具有立体感,可以在最后一步的基础上添加一定的鱼眼特效。

 

PS:如果您在阅读的过程中,发现了文章中的错误。欢迎留言或者私信指出,谢谢啦!

你可能感兴趣的:(图像处理专栏)