调整线条艺术图像的大小

信息处理 图像处理
2021-12-22 20:51:16

我想在 A3 上打印一些线条图,但它们不是很大——大约 600x800 像素。

我在 Gimp 中尝试了明显的功能,例如调整大小然后使用小波锐化器或不锐化蒙版进行增强,在其之前使用选择性高斯模糊,但打印效果并不好。

它们也不容易矢量化,但也许调整一些跟踪工具可以给我更好的结果,然后调整位图的大小。在我开始探索这个选项之前,我想征求意见:

任何人都可以通过使用编程算法(numpy/scipy 或 matlab)或使用 Gimp 或 Photoshop 中可用的工具来分享一个配方来完成画线的质量调整吗?

4个回答

看看像素艺术缩放算法,尤其是hqx 算法它们通常仅限于整数比例因子(即 2x、3x、4x),因此它们不是完全通用的,但它们在线条图上应该做得很好。

我不确定这是否是您情况的最佳方法,但我在高斯和中值滤波器的组合方面取得了成功。

这是我完全在 Paint.NET 中制作的示例。原图:

在此处输入图像描述

调整为 400%(最近邻):

在此处输入图像描述

高斯模糊(半径:6.0 px):

在此处输入图像描述

中值滤镜(半径:4 px,百分位数:50%):

在此处输入图像描述

增强对比度的级别:

在此处输入图像描述

用于切断模糊阴影的曲线(阈值会更好,但默认情况下在 Paint.NET 中不可用):

在此处输入图像描述

请注意,没有锯齿的薄图需要加强。您可以通过在中值过滤器之前应用级别来实现此目的。

我使用的过滤器参数纯粹是实验性的 - 使用这些可能会带来更好的结果。也许以这种方式进行阶梯式缩放也可以改善它。

这不是我的想法,但是假设您正在处理可以被视为二进制的图像(一个像素是否属于绘图的一条线),您可以尝试放大您的图像(随之而来的模糊)然后阈值化以对放大的图像进行二值化,然后执行形态细化。

在 MATLAB 中,您会看到函数imresizeim2bwbwmorph

希望这可以帮助...

您是否尝试过将图像转换为类似的矢量化版本,我知道 Flash 和 Inkscape 有这些:

http://inkscape.org/doc/tracing/tutorial-tracing.html

https://www.google.com/search?q=flash+image+to+vector