Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化

在去年的时候,偶然看到hqx算法。

一个高质量的插值放大算法。

与双线性插值等插值算法相比,这个算法放大后对人眼保护相对比较好。

没有双线性插值看起来模糊,固然,也抽空把算法简单优化了一下。

常规的图像填充采样放大

”经典“的图像填充采样放大,应用线性滤波器,或导出于分析插值理论、或导出于信号处理理论。使用滤波器的实例,比如“最近邻,Bicubic和Lancosz [ Wolberg 1990 ]。这些滤波器并不对原始数据做任何假定,唯一的条件就是带宽限制。结果,图片经这种处理之后,突变亮点和明显的边界都变得模糊。

最近十年,许多复杂的算法问世,并对原始输入图片做了强假定,比如,假定讨论自然图片统计[Fattal 2007]或者自相似性[Glasneret al.2009]。这些方法都超出了本文的论点。然而,在多数情形,这些(自然的)图片并不包含颜色量化的微型像素图片。因此,这些方法在这些图形输入处理上往往表现很差。

1、最临近点插值算法(Nearest Neighbor)

最邻近点插值算法是最简单也是速度最快的一种算法,其做法是將放大后未知的像素点P,將其位置换算到原始影像上,与原始的邻近的4周像素点A,B,C,D做比较,令P点的像素值等于最靠近的邻近点像素值即可。如上图中的P点,由于最接近D点,所以就直接取P=D。

这种方法会带来明显的失真。在A,B中点处的像素值会突然出现一个跳跃,这就是出现马赛克和锯齿等明显走样的原因。最临近插值法唯一的优点就是速度快。

2、双线性插值算法(Bilinear Interpolation)

其做法是將放大后未知的像素点P,將其位置换算到原始影像上,计算的四個像素点A,B,C,D对P点的影响(越靠近P点取值越大,表明影响也越大),其示意图如下。

双立方插值算法(Bicubic Interpolation)

双立方插值算法与双线性插值算法类似,对于放大后未知的像素点P,将对其影响的范围扩大到邻近的16个像素点,依据对P点的远近影响进行插值计算,因P点的像素值信息来自16个邻近点,所以可得到较细致的影像,不过速度比较慢。

4、 自适应样条插值极其增强技术( S-Spline  &  S-Spline  XL)

与上述经典的插值方法最大的区别在于, S-Spline 采用了一种自适应技术,那些传统的方法总是依据周围的像素点来求未知点的色彩值,也就是说需要求解的色彩值仅仅依靠该像素点在图像中的位置,而非实际的图像的像素信息,而自适应样条算法还会考虑实际图像的像素信息。 实验表明,经过 S-Spline 算法得到的图像效果要优于双立方插值算法。

现在 S-Spline 算法又出现了增强版 S-Spline  XL,新版本的 S-Spline XL 算法较 S-Spline 而言画面的锐度得到进一步增强,物体的轮廓更加清晰,边缘的锯齿现象大大减弱,图像感受更加自然。

对比以上各图并结合实验数据,我把效果参数列举如下表。

插值类型

主观感受

图像轮廓

总体评价

处理耗时

最临近点插值

N earrst_ N eighbour

马赛克现象严重

不清晰

最差

5秒

双线性插值

B ilinear

图像模糊,不锐利

边缘不清晰,有锯齿现象

6秒

双立方插值

B icubic

图像较模糊,较锐利

锯齿现象有所改善

折中

8秒

自适应样条插值

S-S pline

图像相对清晰,锐利

边缘变得清晰,锯齿现象消失

18秒

自适应样条增强

S-S pline_ XL

图像清晰,锐利

边缘锐利,清晰

最好

20秒

像素图的去像素化(Depixeling Pixel Art) - lonelyrains的专栏 - 博客频道 - CSDN.NET.html

像素图的去像素化(Depixeling Pixel Art) - lonelyrains的专栏 - 博客频道 - CSDN.NET.html

图像放大方法概述 - 阳光日志 - 博客频道 - CSDN.NET.html

图像缩放--插值法__chease_新浪博客.html

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon Al Rapanui

埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门  阿尔 拉帕努伊

常用名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源:attilax的专栏   http://blog.csdn.net/attilax

--Atiend

Atitit  图像处理Depixelizing Pixel Art像素风格画的矢量化相关推荐

  1. 支持动图、一键生成,基于 React 的开源像素绘画应用 —— Pixel Art to CSS

    目录 ​编辑 前言简介--何为React? 基于React的 Pixel Art to CSS 绘画编辑器 示例 效果演示 生成代码 具体操作 其他功能 下载地址 前言简介--何为React? 基于R ...

  2. 论文与应用简介:用深度学习设计新的Pokémon角色?(像素风格)

    版权声明:禁止转载.(首发时间:2021-05-17,更新时间:2021-07-24) |  个人笔记,仅供参考.所列出的论文大多尚处于研究阶段. 目录 1. 案例:如何设计出全新的Pokémon角色 ...

  3. java水彩画效果滤镜_Atitit Atitit 图像处理之  Oilpaint油画滤镜 水彩画 源码实现...

    AtititAtitit图像处理之Oilpaint油画滤镜 水彩画 源码实现 1.1.具体原理参考 Atitit图像处理之仿油画效果Oilpaint油画滤镜 水彩画漫画滤镜v2 2.水彩画滤镜算法如下 ...

  4. 【原创】生成文件MD5图像,类似于GitHub的像素风格头像

    前言 我想通过文件的md5生成关于这个md5的图像,类似于GitHub的随机像素头像,用处是让这个md5更加直观,也能用于生成各种用户头像,跟GitHub一样. 网上搜了一下,没有现成的方法,只能有一 ...

  5. Atitit 图像处理类库安装与安装模式的前世今生与未来大趋势attilax总结.docx

    Atitit 图像处理类库安装与安装模式的前世今生与未来大趋势attilax总结.docx 1. 安装的原理,主要是解压,复制,设置三大步1 2. 目前我们常见的三大种安装模式,二进制模式与源码安装模 ...

  6. React + Canvas 像素风格取色器

    前言 有时候我们需要通过图片去获得具体像素的颜色.而强大的 Canvas 为我们提供了现成的接口. 这个功能其实并不难,只不过我们需要正确的理解 Canvas 并学会利用它的 API . 如果你急于看 ...

  7. Atitit 图像处理的心得与疑惑 attilax总结

    Atitit 图像处理的心得与疑惑 attilax总结 1.1. 使用类库好不好??还是自己实现算法1 1.2. 但是,如果遇到类库体积太大,后者没有合适的算法,那就只能自己开发算法了1 1.3. 如 ...

  8. Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉...

    Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉 1.1. 按照当前流行的分类方法,可以分为以下三部分:三部分 图像处理 图像分析 计算机视觉1 1.2. 图像处理需要 ...

  9. python使用openCV图像加载(转化为灰度图像)、平滑图像处理就是将每个像素的值变换为其相邻元素的平均值、可视化平滑处理之后的图像(Blurring Images)

    python使用openCV图像加载(转化为灰度图像).平滑图像处理就是将每个像素的值变换为其相邻元素的平均值.可视化平滑处理之后的图像(Blurring Images) 目录

  10. 用cocos creator实现像素风格的微信跳一跳小游戏。

    用cocos creator实现像素风格的微信跳一跳小游戏. 微信扫描下方小程序码免费获取 另外需要其他游戏源码的加博主微信,博主给你找,加了微信拉你进专业游戏开发交流群

最新文章

  1. Ubuntu 12.04安装Sun JDK 6
  2. 9.Matlab中的repmat,clock,rand以及seed,state,twister参数
  3. python3 decode encode 字符串 字节 互转
  4. pps+linux版+x64,64位Ubuntu 11.04安装PPS的办法
  5. Win10:tensorflow学习笔记(4)
  6. redis基本操作和在springboot中的使用
  7. java 铁三车强度如何_工欲善其事,必先利其器--GIANT TRINITY铁三车
  8. 如何让Windows任务栏显示多个不同时区的时钟
  9. 为什么我不信任通配符,以及为什么我们仍然需要通配符
  10. Spring MVC搭建REST风格网站
  11. webdriver 的三种等待方式
  12. 计算机工程与科学北京,计算机工程与科学
  13. c基础学汇编语言,王爽《汇编语言》学习笔记、习题(第一章 基础知识)
  14. Linux下的wc命令
  15. 华为m6升级鸿蒙,华为鸿蒙系统再传喜讯!14款华为旧旗舰喜提新系统:大幅度换血...
  16. python开发自动化创建一个任务下发到手机_django2 +requests+ddt+unittest+HTMLestRunner接口自动化测试平台...
  17. 一步到位,直播系统源代码搭建直播推流服务器
  18. 关于N卡录制双音轨问题以及PR2020 注册机
  19. 基于html5的城市公交查询系统,本科毕业论文 城市公交查询系统
  20. 09组团队项目-Beta冲刺-3/5

热门文章

  1. java awt jar_【Java学习笔记】操作JAR文件
  2. php转为json格式,如何将PHP数据转换为json格式?
  3. 搭建HDFS和HBase集群
  4. iOS 处理图片的一些小 Tip
  5. React学习笔记—JSX
  6. 体验Windows server 2012上安装SQL 2012
  7. 使用javamail的一些问题总结
  8. C#资源文件的使用方法
  9. gcc对C语言的扩展:标签变量(Labels as Values)
  10. 向日葵,teamviewer