图像缩放因子的计算

文章目录

1.图像缩放

  视频缩放Scaler功能是图像处理中的一种常用功能,目的是将输入图像从一种分辨率转换到另一种分辨率输出,同时满足视频实时输入实时输出的要求。

  图像缩放存在方向性:分为水平方向缩放和垂直方向缩放。

在某个方向上,目标图的分辨率比原图的分辨率大,在这个方向上为图像放大。

在某个方向上,目标图的分辨率比原图的分辨率小,在这个方向上为图像缩小。

2.目标图与原图像素对应关系

  目标图的任意一个像素点都可以映射到原图某个特定的位置。缩放的过程就是利用原图相邻像素点计算出这个特定位置的像素点。

  举一个一维简单的例子:从4个像素放大到7个像素,位置映射关系如下。先讲过概念叫缩放因子,也叫缩放步进。缩放因子sf = 原图/目标图 = 4/7 = 0.5714,利用缩放因子对目标图像素位置累加就可以得到在原图中对应位置。


  两个概念区别:

缩放倍数sr = 目标图/原图 = 7/4 = 1.75(倍)

缩放因子sf = 1/sr = 原图/目标图 = 4/7 = 0.5714

  二维图像缩放就是在水平和垂直两个方向分别做映射。假设(x,y)为目标图像的像素坐标,(x',y')为原图像的像素坐标,ver_skfactor,hor_skfactor分别为垂直和水平方向缩放因子,那么由目标图像像素点在原图像中映射的位置计算公式如下。

x' = x * hor_skfactor

y' = y * ver_skfactor

  找到了在原图中对应像素位置,那接下来就是用插值算法进行计算。插值算法有很多,最近邻,双线性,双立方等等,本文不做讲述。

3.缩放因子计算公式

  上面提到了缩放因子,那么上面的计算方法是否正确呢?

  以上图4像素放大到像素为例,缩放因子sf = 原图/目标图 = 4/7 = 0.5714,结果目标图算到最后一个点对应原图位置是3.4285,超过了边界,感觉有问题。

  所以这里涉及到一个问题,就是缩放因子计算是应该是sf=vin/vout,还是sf=(vin-1)/(vout-1)?

  答案是要用sf=(vin-1)/(vout-1)这个公式。​

  原理:像素总数对应的是离散格点数,不是格子宽度。

W个图像像素可以理解为像素坐标:0 ~ W-1

首尾两个像素中心点,跨度是 W-1。

缩放是对像素跨度做映射,不是对像素个数。

  举个例子:

输入 1920 点:坐标 0,1,2,...,1919

总有效跨度:1920−1=1919

输出 960 点:

总跨度 960−1=959

  所以只有采用sf=(vin-1)/(vout-1)这个公式,才能保证以下效果。

· 输出第 0 点 → 映射输入第 0 点

· 输出最后一点 Wout​−1 → 严格映射输入最后一点 Win​−1

· 首尾严格对齐,整图线性无偏移、无拉伸、无越界

  我们再回过头对4像素放大到7像素例子做验证,sf = (4-1)/(7-1)=0.5,这样目标图最后一个点刚好也对应原图最后一个点。

相关推荐
我没胡说八道5 小时前
高校论文AI检测优化工具对比研究与实测分析(2026)
人工智能·深度学习·机器学习·计算机视觉·aigc·论文
探物 AI6 小时前
把 MambaOut 塞进 YOLOv11:会有什么样的反应
python·yolo·计算机视觉
我最爱吃鱼香茄子13 小时前
终极方案:JetBrains IDE永久解放C盘空间
计算机视觉·性能优化·电脑·笔记本电脑·intellij-idea·程序员创富·webstorm
玖釉-14 小时前
Vulkan 离屏渲染详解:从 Framebuffer 到后处理、阴影贴图与 Render Texture
c++·windows·计算机视觉·图形渲染
路人甲32615 小时前
SONIC: Supersizing Motion Tracking for Natural Humanoid Whole-Body Control
人工智能·深度学习·计算机视觉·机器人·具身智能
armwind16 小时前
openISP学习8-GC — Gamma Correction(Gamma 校正)
图像处理·计算机视觉
大江东去浪淘尽千古风流人物16 小时前
【VGGT-Ω】前馈式3D重建的规模化之路:Register Attention、自监督训练与10B参数Scaling Law深度解析
深度学习·计算机视觉·transformer·slam·vio·3d重建
断眉的派大星17 小时前
YOLO26 完整学习笔记:从 Anchor-Free、TAL、STAL 到端到端无 NMS 部署
人工智能·笔记·学习·yolo·目标检测·计算机视觉·目标跟踪
chenlance18 小时前
基于FPGA的激光器多通道数据采集与波形控制系统设计
fpga开发
却道天凉_好个秋18 小时前
HEVC(六):CTC
人工智能·计算机视觉·hevc·ctc