图像Scaler缩放因子

图像Scaler缩放因子

1 Scaler介绍

  Scaler功能就是我们常说的图像缩放功能,是图像处理中的一种常用功能,目的是将输入图像从一种分辨率转换到另一种分辨率输出。在实时系统中,还要满足视频实时输入实时输出的要求。我们将Scaler的输入图像称为原图,Scaler的输出图像称为目标图。
在这里插入图片描述
  图像缩放存在方向性:分为水平方向缩放和垂直方向缩放。
在某个方向上,目标图的分辨率比原图的分辨率大,在这个方向上为图像放大。
在某个方向上,目标图的分辨率比原图的分辨率小,在这个方向上为图像缩小。
  目标图的任意一个像素点都可以映射到原图某个特定的像素点。缩放的过程就是利用原图相邻像素点就可计算出这个特定的像素点。举一个一维简单的例子:从4个像素放大到7个像素,位置映射关系如下。
在这里插入图片描述
在这里插入图片描述
  两个概念区别:
缩放倍数sr = 目标图/原图 = 7/4 = 1.75(倍)
缩放因子sk = 1/sr = 原图/目标图 = 4/7 = 0.5714
  二维图像缩放就是在水平和垂直两个方向分别做映射。假设(x,y)为目标图像的像素坐标,(x’,y’)为原图像的像素坐标,ver_skfactor, hor_skfactor分别为垂直和水平方向缩放因子,那么由目标图像像素点在原图像中映射的位置计算公式如下。
x’ = x * hor_skfactor
y’ = y * ver_skfactor
  如果计算出的原图像的像素坐标(x’,y’)不是整数位置,就需要通过相邻的像素点用插值方法来计算。插值定义:通过已知的离散数据求未知数据的过程或方法。图像缩放从数学上来说就是插值。因此实现图像缩放的关键步骤:一是计算目标图像像素在原图像中映射位置;二是插值算法和系数。
  常见的插值算法有最近邻插值,双线性插值,双立方插值。对于插值算法的介绍,网上有很多,这里就不做介绍。

2 缩放因子计算工具

  在插值算法的实现过程中,缩放因子是很重要的参数,通过缩放因子就可以计算出目标图像像素在原图像中映射位置。这里提供一个计算工具,可以方便的计算出水平和垂直方向的缩放因子。下载链接 https://download.csdn.net/download/cjie221/41327094
此计算工具是用python实现的,其界面如下。
在这里插入图片描述
  缩放因子用24bit无符号数表示,高8bit表示整数部分,低16bit表示小数部分。
(1)如果分辨率一样,不缩放,则缩放因子为0x010000,整数部分为1,小数部分为0。
(2)如果是放大,则缩放因子小于0x010000,整数部分为0,只有小数部分有数值。小数部分越小,说明放大的倍数越大,反之,则说明放大的倍数越小。
(3)如果是缩小,则缩放因子大于0x010000,整数部分大于等于1,且有小数部分。整体数值越大,说明缩小的倍数越大,反之,则说明缩小的倍数越小。

声明:本文涉及软件只作为个人学习交流使用,不做商业用途。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值