美文网首页
图像变形(Image Warping)

图像变形(Image Warping)

作者: YottaYuan | 来源:发表于2020-03-18 03:58 被阅读0次

图像变形(Image Warping)

现实世界中捕获的图像具有某些缺陷,包括:

  • 几何畸变(和其他光学像差)
  • 噪声
  • 渐晕
  • 颜色不平衡

本节介绍了纠正几何变形的可用资源。

大多数计算机视觉算法对渐晕和色彩平衡不敏感。它们被设计为在噪声方面很鲁棒,但是它们倾向于依赖于理想的透视图像,也就是所谓的针孔图像,它们不会表现出失真。

以下是几何变形或扭曲图像的示例,然后是校正示例。

扭曲:

图1 IACHR大楼。信用:OAS

已更正:

几何变形

几何变形通常分为两种形式:径向变形和切向变形。

径向畸变本质上是径向对称的,并且在简单的镜头中很常见,以最小化其他光学像差,例如像散,色差,彗形像差,场曲和球面像差。复合透镜的畸变要小得多,因为它们可以同时最小化所有这些像差,但由于它们又大又贵,因此在诸如机器人技术的嵌入式应用中很少见到。可以使用单变量多项式对几何失真进行建模,并且在采集后可以通过软件轻松对其进行校正。

切向畸变不是径向对称的,尽管它相对于从投影中心辐射的线是对称的。切向畸变是由复合透镜中未对准的元件引起的,因此在嵌入式应用中发现的简单透镜中可以忽略不计。它使用双变量多项式建模,并且在软件中也易于校正。

影像投影

典型的相机和镜头有两种基本类型的投影:透视/直线/平面和鱼眼/等距/球形。透视镜头的实际最大视场(FOV)为120°,而鱼眼镜头可以获取大于180°的角度,有些甚至超过220°。

径向畸变可用于表示带有透视镜的鱼眼镜头,反之亦然-达到一定的FOV。理想的透镜与切线(或反正切)函数相关,该函数可以通过靠近投影中心的多项式很好地近似,但在更远的地方会迅速发散。最好使用最接近镜头的投影模型。根据经验,对于FOV <90°,应将透视图用作基本投影,对于FOV> 120°,应将鱼眼用作基本投影。

Isaac SDK既适用于透视镜片的径向和切向畸变校正,也适用于鱼眼镜头的径向畸变校正。

透视失真校正

几何变形被实现为径向和切向变形校正之和。Isaac SDK使用Brown模型,OpenCV也使用该模型。但是,径向和切向系数有不同的顺序。艾萨克SDK使用 {k0,k1,k2,k3,k4},其中的OpenCV使用{k0,k1,k3,k4,k2}。OpenCV可用于校准摄像机的固有参数,包括这些系数。

径向畸变校正

用以下公式校正径向变形:

哪里:

image.png

切向失真校正

切向畸变用以下公式校正:

image.png

鱼眼失真校正

在鱼眼畸变校正中,我们仅适应径向畸变,但使用更高阶的多项式:

image.png

这也是OpenCV使用的模型。

其他相机固有参数

相机除变形以外的其他固有参数包括焦距和主点。

焦距

数码相机的焦距以像素为单位,尽管可以将其视为像素/弧度。理想透视镜的投影方程为:

image.png

而理想的鱼眼镜头是:

image.png

其中,r是距投影中心的距离,θ是距光轴的倾斜角。从这些方程式可以明显看出,焦距等于投影中心处的角像素密度,因此可以解释为像素/弧度。

重点(投影中心)

镜头光轴与成像平面相交的点称为投影的主要点或中心。理想情况下,它应位于获取的图像的中心,但是在商用相机中,这相差多达100个像素。

无失真输出的光学特性

变形功能是通用的,并且包括所得输出图像的参数,包括焦距,主点和方向以及图像尺寸。

输出主要点

失真校正会更改输入矩形的形状,使其弯曲成凸形或凹形。这种弯曲是相对于主点发生的,因此,最好将输出和输入主点相对于其中心保持在相同的位置,以产生对称的修剪或透明的透明胶片。

输出焦距

为了在输出端上保持与输入端相同的分辨率,它们的焦距应大致相同。Warp API具有单独的水平和垂直焦距,并且在输出中也可以保留不同的焦距。另一种选择是将两个输入焦距的几何平均值用于两个输出焦距。第三种选择是将输出焦距减小到70%,以消除在使用拜耳传感器获取彩色图像时发生的插值,从而以更少的像素产生相同的细节以增强吞吐量。

输出图像尺寸

校正畸变和改变焦距将影响投影图像的尺寸。合理的选择是使输出的图像大小,焦距和主点与输入相同。

输出方向

在单眼视觉的情况下,将输出投影定向在与输入相同的方向即可。但是,对于立体视觉,如果两个摄像机都指向相同的方向并具有相同的焦距,则可以使用明显更快且更鲁棒的算法。旋转矩阵或一组欧拉角都可以指定旋转校正。

艾萨克无失真码

艾萨克(Isaac)不失真小码将获取彩色摄像机原型,并生成另一个彩色摄像机原型。这些原型中的每一个都包括相机固有参数和图像。输入和输出固有参数之间的唯一区别是输出失真为0。此外,如果源图像是鱼眼,则将其转换为透视图像。

相关文章

  • 图像变形(Image Warping)

    图像变形(Image Warping) 现实世界中捕获的图像具有某些缺陷,包括: 几何畸变(和其他光学像差) 噪声...

  • zabbixApi4j-Image

    Image image.create: 创建新图像image.delete: 删除图像image.exists: ...

  • 图像太大用OPENCV显示不全的问题

    处理图像时图像太大如几M的图像,使用cv2.imshow("Image", image) 显示图像时候只能显示左上...

  • 简单的OpenCV数字图像处理

    内容效果 绘制图像的直方图image.png 图像的旋转image.png 图像的轴对称翻转image.png 1...

  • 关于new Image()的应用

    基本用法 var a = new Image();建立图像对象:图像对象名称=new Image([宽度],[高度...

  • 图像处理常用术语

    基本术语 digital image:数字图像digital image processing:数字图像处理ima...

  • 2019-03-17

    from PIL import Image 图像的缩放读取图像im = Image.open("lenna.jpg...

  • 图像处理之vImage(一)

    vImage学习笔记(一)——概述 一、关于图像格式 Image Formats 图像格式(Image Forma...

  • Image

    Image 显示图像的小部件。 const Image({Key key,@required this.image...

  • 图像平滑处理

    图像平滑处理(Smoothing Images)图像模糊处理(Blurring Images)图像滤波(Image...

网友评论

      本文标题:图像变形(Image Warping)

      本文链接:https://www.haomeiwen.com/subject/tjltyhtx.html