下采样文本的最佳过滤器是什么?

时间:2012-11-05 17:12:56

标签: image text imagemagick resampling downsampling

我正在使用ImageMagick对文本进行缩减采样。我意识到对于每种情况都没有最佳过滤器这样的东西,但我认为在具体地下采样文本时我必须有一个普遍接受的标准(我可能是错的)。以下是ImageMagick中可用的过滤器列表:

  • 巴特利特
  • 布莱克曼
  • Bohman
  • Catrom
  • 立方
  • 高斯
  • 汉明
  • 汉宁
  • 埃尔米特
  • Jinc
  • 凯瑟
  • 拉格朗日
  • 的Lanczos
  • LanczosSharp
  • Lanczos2
  • Lanczos2Sharp
  • 米切尔
  • 的Parzen
  • 二次
  • Robidoux表示
  • 的Sinc
  • SincFast
  • 三角
  • 威尔士

2 个答案:

答案 0 :(得分:15)

没有普遍接受的下采样滤波器;仅仅因为,文本没有普遍接受的类型面。您需要确定使用的字体,并为所述任务应用最匹配的过滤器。

  • 处理2005年的电子邮件? Tahoma font => Hermite过滤器
  • 扫描的传真?混合高对比度=>点过滤器

每个过滤器的stangth&的视觉比较弱点可以找到here& here

我想通过生成视觉备忘单来提醒自己哪个过滤器可以完成任务。

Downsampling example

这是一个预览“DejaVu Sans Condensed”的快速bash脚本

#!/bin/bash

# Adjust this to type-face you'd like to preview
FONT_TO_PREVIEW="DejaVu-Sans-Condensed-Bold"

# Create a temp directory to work with
mkdir filter_tmp
cd filter_tmp

while read filter
do
    # Generate base file
    convert \
        -gravity center -font $FONT_TO_PREVIEW -background white -size 126x \
        -fill black -pointsize 12 label:$filter $filter.org.png
    # Resample
    convert $filter.org.png -filter $filter -resize 400% $filter.filter.png
    # Crop center
    mogrify -gravity center -crop 126x+0+0 +repage $filter.filter.png
    # Tile filtered image below original
    montage $filter.org.png $filter.filter.png -tile 1x2 -geometry +1+1 +label +set label $filter.png
    # Clean house
    rm $filter.filter.png $filter.org.png
# Generate list of all installed filters
done < <(identify -list filter)
montage -geometry +4+4 -tile 4x *.png ../filter_preview.png

# Clean house & display generated filter preview
cd ..
rm -rf filter_tmp
display -display :0 filter_preview.png

答案 1 :(得分:2)

您的备忘单未按照建议使用某些过滤器:其中一些设计用于“-distort Resize”而不是“-resize”(see here)。

附加建议:色彩空间的选择可以真正改善(或恶化)结果。 ImageMagick论坛发布了“放大sRGB,RGB,LAB,LUV,XYZ,sigmoidal ......?” (我不能在这里链接,因为作为一个新用户,我每个答案只能放两个链接)说明了这一点。对于文本,我建议使用具有高对比度值(大于11)的“sigmoidization”。 See here