仅对较小区域进行采样,对整个图像进行自动调整

时间:2014-08-22 21:48:40

标签: imagemagick

我有一些扫描不佳的图像(约0.25M)我需要自动调整。外边缘(大约20%的区域)正在抛出自动水平命令。

有没有办法在整个区域执行自动调整时从图像数据的子集计算图像直方图?

例如: convert **-samplearea [box]** -autolevels infile.png

1 个答案:

答案 0 :(得分:2)

Imagemagick的-autolevels命令将计算图像的最小值/最大值,并将其传递给-level命令。计算图像区域的自动级别值只是-crop-formatinfo:

convert source.png -crop $geometry -format "%[min],%[max]" info:

其中$geometrydefined

因此,如果我想对图像左上角的区域进行应用级别修正,我的命令将为:

# Grab the area to analyze (top-left, but not on edge)
geometry="50x50+5+5"
# Grab values
levels=$(convert source.jpeg -crop $geometry -format "%[min],%[max]" info:)
# Apply to whole image
convert source.jpeg -level $levels out.jpeg