昨天的文章中,写了在4K/8K电视中的超分辨率算法究竟是什么,它的应用场景有哪些以及现在常用的超分辨率算法有哪几大类,如有不清楚的,可以翻看昨天的文章,今天书接上文,具体来聊一聊三类超分辨率算法中的第一种,基于插值的超分辨率算法

什么是插值?

图像的插值,也称之为图像的缩放,即使用连续的插值核函数对离散的图像进行采样,通过图像待插值点已知部分邻域的像素信息来计算出待插值点的像素信息。

在数字图像处理过程中,因为要得到的目标图像和源图像之间,往往分辨率大小不同,就需要通过插值来实现图像的缩放。所要得到的目标图像的好坏,直接取决于所采用的插值方法的优劣。

基本的插值方法有哪些?

  • 最邻近插值

插值过程中只是利用了邻域内一个像素点,如下图所示:

图中P为待插值点, A点和B点为待插值点P领域内的源图像点。如上图所示,假设A和B两点之间的距离经过归一化处理为1,因为d2 < d1,所以将B的像素值赋给待插值点 。

  • 双线性插值

双线性插值的主要思想是在横向和纵向分别进行线性插值,在每一单个方向上有2个像素点参与插值。仍以上图为例,P点的像素值可以由下式计算得到:

在一维线性插值算法中,待插值点可以由邻域内两个源图像点通过加权求和得到。其中加权系数和和待插值点与两个源图像点之间的偏移量绝对值成反比关系。

  • 双三次插值

双三次插值是在待插值点的横向和纵向分别进行插值,且在每个方向上利用的源图像点为四个,如下图的情况所示。

一维三次插值函数对应的卷积公式为:

式中:

P——待插值点;

A 、B 、C 、D —— 领域内的源图像像素点;

ha 、hb 、hc 、hd ——为根据下面公式偏离量计算出的三次多项式。

此类算法利用了待插值点周围领域的16个,进行4次纵向插值和一次横向插值或者4次横向插值和一次纵向插值计算出待插值点信息。

上面三种插值算法的插值结果如何?

最邻近插值算法的优点为原理简单,能够满足实时性要求,但是因为整个插值过程中只是利用了最邻近的一个像素点信息,致使经过插值得到的图像连续性差,在边缘区域,锯齿现象十分明显。

双线性插值算法使用了待插值点邻域内的四个像素点,在一定程度上解决了最邻近插值中容易出现锯齿的问题,但是缺点是计算量变大,实时性比最邻近插值要差

双三次插值算法利用了待插值点周围领域的16个,进行4次纵向插值和一次横向插值或者4次横向插值和一次纵向插值计算出待插值点信息。所以它的插值效果较好,但是,它的计算复杂度也相应增加,不过一般情况下,还是能够满足实时性要求

三种插值算法的共同问题:因为基于插值核的缩放算法,由于没有对图像的内容特性进行考虑,所以在图像的高频区域处理效果不理想。表现到空域,就是图像在边缘区域和纹理部分一般效果较差。

如何解决图像边缘区域和纹理区域插值效果不佳的问题?

为了解决这个问题,有人提出了基于图像局部区域内容特性的插值算法

这类算法提出的前提是:对高分辨率图像进行下采样的一个集合就是低分辨率图像,并且在采样过程中,把位于局部区域的相关特性也一起采样得到。所以根据这些采样得到的相关特性,可以对低分辨率进行插值运算,获得高分辨率图像。

这类算法一般一般先进行边缘检测,对边缘部分和非边缘部分进行不同的处理。

因为这类算法是基于了图像内的协变特性,所以对边缘区域的处理效果较好,但是因为在具体实现过程中,有大量的矩阵运算,非常不利于硬件实现,所以我没有深入研究,就不再赘述。

基于插值的算法总结

基于插值的算法,因为运算过程简单,算法运行效率较高,能够满足实时性要求,且硬件实现相对简单。但是,因为插值算法,没有考虑去模糊过程,只能对图像进行放大操作,不能提升图像分辨率,所以对图像的视觉质量提升十分有限,已经不能满足实际的需要。

参考资料:

[1] Meijering E. A chronology of interpolation: from ancient astronomy to modern signal and image processing[J]. Proceedings of the IEEE, 2002.

双三次插值图像旋转_4K/8K电视中的超分辨率技术到底是啥?让我来告诉你(二-插值篇)...相关推荐

  1. OpenCV中的超分辨率

    文章目录 介绍 OpenCV中的超分辨率 EDSR ESPCN FSRCNN LapSRN 结果 结论 介绍 超分辨率是指放大或改善图像细节的过程.请关注此博客,以了解OpenCV中"超分辨 ...

  2. 图像几何变换时为何要用到插值算法?_图像超分辨率技术-简介

    这篇是我之前的课程报告,格式传上来乱了,有时间我会调整,我先把pdf版本放在最前面,建议直接看pdf. 一. 定义与分类 超分辨率复原技术的基本思想是釆用信号处理的方法,在改善图像质量的同时,重建成像 ...

  3. 一键提升多媒体内容质量:漫谈图像超分辨率技术

    编者按:作为将模糊的图像变清晰的神奇技术,图像超分辨率技术在游戏.电影.相机.医疗影像等多个领域都有广泛的应用.在这篇文章中,微软亚洲研究院的研究员们为你总结了图像超分辨率问题中的主流方法.现存问题与 ...

  4. 漫谈图像超分辨率技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 作为将模糊的图像变清晰的神奇技术,图像超分辨率技术在游戏.电影.相 ...

  5. 微信团队分享:视频图像的超分辨率技术原理和应用场景

    为什么80%的码农都做不了架构师?>>>    本文来自微信多媒体团队高欣玮的技术分享. 1.前言 图像和视频通常包含着大量的视觉信息,且视觉信息本身具有直观高效的描述能力,所以随着 ...

  6. 微信扫码背后的图像超分辨率技术

    微信扫码引擎功能强大,但同时也面临着越来越多的挑战.在长按识别场景中,许多码图像经过截图.朋友圈和聊天多次压缩转发,质量严重受损,分辨率下降,边缘变得模糊不清,这给识别带来了很大的困难.具体来说,这主 ...

  7. 图像超分辨率技术简述(转载)

    转载:https://blog.csdn.net/carson2005/article/details/8393952 图像超分辨率(Super Resolution, SR)就是将低分辨率(Low  ...

  8. ABR中使用超分辨率的一些知识

    超分辨率算法: NAS:2018OSDI,针对非移动场景的超分辨率ABR,普遍的对比对象 NEMO:针对移动场景的超分辨率ABR dcSR:2022CoNext,以节省带宽和计算消耗为目标 Basic ...

  9. ffmpeg 分辨率 压缩_用GPU加速FFmpeg中的超分辨率功能

    1. 简要回顾 首先简单复述一下FFmpeg中对深度学习的支持情况,如上图所示,FFmpeg在libavfilter中支持基于深度学习的filter,目前已经支持sr, derain和dnn_proc ...

最新文章

  1. Wdatepicker日期控件的使用指南
  2. 为什么Python是数据科学领域最受欢迎的语言
  3. SQLite Update 语句(http://www.w3cschool.cc/sqlite/sqlite-update.html)
  4. openssl c++实现bouncycastle中AES加解密
  5. 加密生成指定长度_3分钟短文 | PHP伪随机Token生成器,实地测试,效果感人!
  6. 蓝桥杯(java)阶乘计算,输入一个正整数n,输出n!的值。(高精度计算,用到数组)
  7. 传统socket的编程实现
  8. struts2中的session使用
  9. Lan Xiang's Square nyoj 1099(已经四边形四点坐标 如何判断正方形)
  10. Windows10桌面美化合集(壁纸+任务栏+资源管理器)
  11. AT89C2051烧写器的制做与调试
  12. 80386汇编_进入32位保护模式
  13. c语言编程大体思路,C语言:程序的设计思路跟特点
  14. Windows XP中手动安装驱动程序的方法
  15. 详解OSI七层模型和TCP/IP模型
  16. 最全的数据结构归纳总结
  17. python项目开发案例精粹-Python金融实战案例精粹
  18. Android应用开发高效工具集1---ant构建简单Android项目
  19. 超强大的dnsmasq及hosts全自动脚本扶墙去广告详细教程
  20. Discuz注册推广与访问推广

热门文章

  1. 『转』死去度百飞鸽传书
  2. 如何将多个文件捆绑成一个可执行文件
  3. QQ尾巴病毒的Visual C++实现探讨
  4. 第三节:ES7 新增的幂运算符
  5. 薪酬最高十职位:工程师最吃香
  6. java线程池 synchronized_java多线程学习(二) 之 synchronized
  7. oracle统计学生成绩c,Oracle11g学生成绩管理系统.docx
  8. Nat Mach Intell | 江瑞课题组提出首个针对单细胞染色质开放性数据的细胞类型辨识神经网络模型EpiAnno...
  9. 一套完整的基于随机森林的机器学习流程(特征选择、交叉验证、模型评估))...
  10. 科研分享|一个论文关系网络可视化网站