固定点双线性插值算法

固定点(快)双线性插值算法。除
 用于内(x)的循环,该函数是相同的RGB
 的功能,但它们已被单独实现为求
 的速度。基本上,我们不希望有检查isRGB
 在x-环为每一个像素内,因为它是不必要 -
 我们只想要执行的是绝对的操作
 内(x)的循环中必要的。

 关于定点数学的一些注意事项:
    - 固定点数学是执行浮点运算的一种方法
     算术整数。
    - 举个例子来说,在这里存储的比特的16比特图像是16。
     我们需要确保我们不会溢出32位整数
     在我们所计算的固定点结果。
    - 基本上,一个固定点#被表示为在一个整数
     格式,如果,在那里我是代表的比特数的
     数的整数部分,而F表示小数
     的一部分。
    - 当乘以或除以小数位被转移到
     左视小数位的#中的数字
     被相乘。例如,如果我们乘以16.8
     (IF)由另一个16.8号数,我们得到了32.16(48位!)
     数作为结果。
    - 在下面的功能,你会发现,7位用于
     为#的小数部分。这是因为我们能
     保证dx和dy的值是0和1之间,所以
     他们是0.7#秒。和象素值(取决于#位
     存储),可大到16位。因此,如果我们乘
     #就像这个一起,我们得到:
            16.7*0.7=16.14(30位)。
     留1位像素值品牌的(潜在的)迹象
     结果一个31位的数字。因此,图7是最大值
     我们可以使用这种类型的计算,而无需使用一个64位
     整数(这会减慢速度了很多!)。
    - 基本上,这是什么意思,如果我们使用7位小数
     在#的一部分,是我们可以只计算#S决议
     1/128〜0.007。所以,你可以认为这插值
     算法作为一个细分每个像素为128×128网格
     而插值使用有限部分的dx和dy
     (例如,1/128,128分之2,3/128)。
    - 这意味着,该算法是不是“真正的”双线性
     插值算法,但在大多数情况下它是非常接近的。
     最大绝对误差可以计算如下:


     考虑4个像素以下邻里:
                  00
              6553565535

     其中dx= DY=0.992187(略低于127/128)
     
     使用浮点运算,

     yInterpolated1=65535+(0-65535)*(0.992187)=512.025
     yInterpolated1=65535+(0-65535)*(0.992187)=512.025
     yInterpolated=512.025

     使用固定点,

     yInterpolated1=65535+(0-65535)*(126/128)=1023.984
     yInterpolated1=65535+(0-65535)*(126/128)=1023.984
     yInterpolated=1023.984

     对于这种极端的情况下,我们通过〜512,其小于
     像素值的总范围的1%。这是一个非常极端
     情况下 - 在大多数情况下,相邻的像素值是多
     靠得更近比这并导致一个更小的误差。

     亦认为,这样做插值的目的只是
     平滑的图像。与否的算法
     并计算*确切*几乎是无关紧要的。该
     插数据仅是一个近似值,并且在大多数
     情况下(也许除了在锋利的边缘边界)这
     近似是相当准确的。

     的误差也减小所存储的图像的位
     减小。例如,对于一个14位的图像时,错误将
     512/4 =128上面显示的极端情况。

 关于DICOM的符号表示附注:

 在DICOM中,负号表示为2的补码
 当符号位为高位,*不*最显著位。
 例如,在一个9位带符号的图像,-1将表示为
 0000000111111111*不*1111 1111 1111 1111。对于插值
 算术,这种表示是有问题的,所以我们
 DICOM的表示形式转换为标准表示由
 填充比特以上的高位为1的。在上面的例子中,
 这意味着,-1将由000000011111 1111变为
 1111 1111 1111 1111。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值