图像预处理-插值方法

一.插值方法

当我们对图像进行缩放或旋转等操作时,需要在新的像素位置上计算出对应的像素值。

而插值算法的作用就是根据已知的像素值来推测未知位置的像素值。

1.1 最近邻插值

CV2.INTER_NEAREST

其为 warpAffine() 函数的参数 flags的其一,表示最近邻插值。

这个方法是根据原图目标图坐标关系 来做填充,目标图中一点的坐标经过公式找到原图坐标然后找到像素点,然后填充进目标图中,也就是填充最近的像素。下面是公式:

  • dstX:目标图像中某点的x坐标,

  • dstY:目标图像中某点的y坐标,

  • srcWidth:原图的宽度,

  • dstWidth:目标图像的宽度;

  • srcHeight:原图的高度,

  • dstHeight:目标图像的高度。

  • srcXsrcY:目标图像中的某点对应的原图中的点的x和y的坐标。

如果计算出的是小数,则向下取整(防止取不到点)

1.2 双线性插值

CV2.INTER_LINEAR

原始图像的某些像素坐标可能不再是新图像中的整数 位置,这时就需要使用其他插值算法来确定这些非整数坐标的像素值。我们依然需要把目标图像的点映射到原图像上,公式不变。

先来看看单线性插值:

可见,单位像素值就是 (P2-P1)/(x2-x1) ,其中通过两点与目标点的关系给出表达式,简化后得到单线性插值的像素值公式。我们也容易理解,k2 的值是更大的,说明 P2P关系更近。

而双线性插值就是做两次,分别在水平方向和垂直方向上做线性插值:

  • 水平方向 :根据 xx0x1 的关系计算出 P00P10P01P11之间的插值结果。

  • 垂直方向 :将第一步的结果与 yy0y1 的关系结合,再在垂直方向上做一次线性插值。

1.3 像素区域插值

cv2.INTER_AREA

使用像素区域插值方法进行缩小图像时,它就会变成一个均值滤波器(就是一个卷积核),其工作原理可以理解为对一个区域内的像素值取平均值。目标图像的每个像素点,其值等于卷积核中所有像素值的均值。(依然需要目标图像与原图像的坐标对应公式。)

卷积核先往右边走,计算完一个值就移动一格,到边缘就换到下一行开始依次进行。

1.4 双三次插值

cv2.INTER_CUBIC

双三次插值法需要原图像中近邻的**16**个点来加权,也就是4x4的网格。

还是需要公式得出一点在原图像中的坐标,找到离它最近16个 像素点。此时坐标有小数,则把整数部分小数部分 分离为**(x+u,y+v)** 。取整数部分**(x,y)** ,这个时候就肯定会是16个像素点的其中之一 ,将其作为坐标原点 (是的你没有听错),然后再分别计算其他15个像素点的坐标。

再来到重点,把这15个像素点的横纵坐标都取出来,然后分别与取出来的小数部分uv ,再取绝对值 ,这就是每个像素点在一个方向上与原点的距离dw或dh 。随后再根据公式计算得出权重 ,再把像素值乘以对应权重,最后把所有乘积相加,就是插值后的像素值。

公式:

1.5 Lanczos插值

双三次插值 的思想是一样的,不同的就是其需要的原图像周围的像素点的范围变成了8*8 ,并且不再使用BiCubic函数来计算权重,而是换了一个公式计算权重。

其中a通常取2或者3,当a=2时,该算法适用于图像缩小。a=3时,该算法适用于图像放大。

相关推荐
葫三生43 分钟前
如何评价《论三生原理》在科技界的地位?
人工智能·算法·机器学习·数学建模·量子计算
m0_751336392 小时前
突破性进展:超短等离子体脉冲实现单电子量子干涉,为飞行量子比特奠定基础
人工智能·深度学习·量子计算·材料科学·光子器件·光子学·无线电电子
美狐美颜sdk5 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
DeepSeek-大模型系统教程5 小时前
推荐 7 个本周 yyds 的 GitHub 项目。
人工智能·ai·语言模型·大模型·github·ai大模型·大模型学习
郭庆汝5 小时前
pytorch、torchvision与python版本对应关系
人工智能·pytorch·python
小雷FansUnion7 小时前
深入理解MCP架构:智能服务编排、上下文管理与动态路由实战
人工智能·架构·大模型·mcp
资讯分享周7 小时前
扣子空间PPT生产力升级:AI智能生成与多模态创作新时代
人工智能·powerpoint
叶子爱分享8 小时前
计算机视觉与图像处理的关系
图像处理·人工智能·计算机视觉
鱼摆摆拜拜8 小时前
第 3 章:神经网络如何学习
人工智能·神经网络·学习
一只鹿鹿鹿9 小时前
信息化项目验收,软件工程评审和检查表单
大数据·人工智能·后端·智慧城市·软件工程