找回密码
 立即注册
查看: 2731|回复: 7

各种缩放算法是怎么实现的

1

主题

28

回帖

0

VC币

注册会员

Rank: 2

积分
1912
snylonue 发表于 2022-5-4 14:24:49 | 显示全部楼层 |阅读模式
在写一个图片查看器,目前缩放是靠调整 vertex 的位置实现的。
感觉这样缩放出来的质量不太好,想用一些高质量的算法,但是不会实现,看 mpv 之类的源码又看不懂


回复

使用道具 举报

5

主题

412

回帖

30

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
165221
blackmickey 发表于 2022-5-4 19:44:01 | 显示全部楼层
常見的算法公式在wiki都有。
要用的話,看看vapoursynth或avisynth的原始碼。
回复

使用道具 举报

47

主题

2781

回帖

2020

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
432683

崭露头角活跃达人CD!BD!坚持不懈灌水之王日积月累

孤雨独火 发表于 2022-5-4 20:21:55 | 显示全部楼层
懂背后原理的可能不多,大多数工具都是通过挂载现有的着色器/修改已有的着色器来快速实现的,be团队最近实现jinc就是改现有的着色器直接用的(之前因为没有现成的例子所以一直缺席该算法)
回复

使用道具 举报

5

主题

12

回帖

0

VC币

新手上路

Rank: 1

积分
374
Trans404 发表于 2022-5-5 16:17:52 | 显示全部楼层
最简单的质量不错的算法就是Lanczos了吧,CSDN,知乎之类的都有很多相关文章。其他的要么不好找要么不开源要么是深度学习算法实时跑不动
回复

使用道具 举报

4

主题

177

回帖

80

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
418712
xfdz 发表于 2022-5-5 20:16:50 | 显示全部楼层
Trans404 发表于 2022-5-5 16:17
最简单的质量不错的算法就是Lanczos了吧,CSDN,知乎之类的都有很多相关文章。其他的要么不好找要么不开源 ...

我现在用Anime4K_Upscale_L感觉效能比很高,只需要[color=var(--color-prettylights-syntax-string)][backcolor=var(--color-canvas-subtle)]Lanczos[color=var(--color-prettylights-syntax-string)][backcolor=var(--color-canvas-subtle)]不到2倍的时间
回复

使用道具 举报

3

主题

199

回帖

0

VC币

荣誉会员

Rank: 14Rank: 14Rank: 14Rank: 14

积分
87112
Starlight 发表于 2022-5-5 20:50:22 | 显示全部楼层
回复

使用道具 举报

1

主题

71

回帖

0

VC币

中级会员

Rank: 3Rank: 3

积分
2445
Jan 发表于 2022-5-5 22:31:43 | 显示全部楼层
想从头写的话可以看这个
http://avisynth.nl/index.php/Resampling
水平、垂直方向分别重采样,相互不会受影响
回复

使用道具 举报

45

主题

523

回帖

126

VC币

至尊会员

Rank: 16Rank: 16Rank: 16Rank: 16

积分
164838
dtlnor 发表于 2022-5-5 22:52:23 | 显示全部楼层
Jan 发表于 2022-5-5 22:31
想从头写的话可以看这个
http://avisynth.nl/index.php/Resampling
水平、垂直方向分别重采样,相互不会受 ...

又見Nyquist–Shannon (頭疼起來啦)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表