zoukankan      html  css  js  c++  java
  • 数字图像处理学习 01 图像的几何变换

    在数字图像处理中,几何变换由两个基本操作组成:(1)坐标变换;(2)灰度内插

    定义(v,w)是原图像的坐标,(x,y)是变换后的图像坐标,则有 (x,y) = T(v,w),T表示(v,w)到(x,y)经过的变换。我们通常称这样的变换为前向映射,即由一个变换前的坐标得到一个变换后的坐标。

    对于前项映射,我们可能无法得到所有图像变换后的坐标。

    如果令S(x,y) = (v,w),S是T的逆矩阵,这样我们在计算每个变换后的坐标时,就能找到对应的变换前的坐标,我们称这样的变换为反向映射。

    找到原图像中的对应的位置后,用对应点的灰度值进行赋值。由于找到的点有可能在原图像中不能找到完全对应的点,这时候我们可以使用最近邻内插、双线性内插、双三次内插等方法来计算

    变换后的灰度值。

    最近邻内插,把原图像中最近邻的灰度值付给每个新位置,虽然简单,但是变换后的图片有缺陷,比如直边缘的严重失真,在实际使用中不常用。

    双线性内插,用4个最近邻的点去估计给定位置的灰度。 我们令v(x,y)表示灰度值,对于双线性内插来说,赋值是由下面的公式得到的:v(x,y) = ax + by +cxy +d

    我们可以看到,虽然方法名中包含“线性“二字,实质上该方法并不是一种线性内插法。

    双三次内插,它使用了16个最近邻点,赋值公式如下:

     

    式子中的16个系数可以由点(x,y)的16个最近相邻点写出的未知方程确定。如果求和公式的上下限分别为0和1,则就是双线性内插。双三次内插是商业图像编辑程序的标准内插方法。

    以下将用代码实现双线性和双三次内插两种方法。

    最近邻内插方法

  • 相关阅读:
    LeetCode 225. 用队列实现栈 做题笔记
    杨辉三角
    字母图形
    01字符串
    圆的面积
    饮料和啤酒
    进制转换
    从今天起 复习算法
    乘法群
    Paillier同态加密的介绍以及c++实现
  • 原文地址:https://www.cnblogs.com/merlinzjl/p/11870299.html
Copyright © 2011-2022 走看看