我有一些扫描不佳的图像(约0.25M)我需要自动调整。外边缘(大约20%的区域)正在抛出自动水平命令。
有没有办法在整个区域执行自动调整时从图像数据的子集计算图像直方图?
例如:
convert **-samplearea [box]** -autolevels infile.png
答案 0 :(得分:2)
Imagemagick的-autolevels
命令将计算图像的最小值/最大值,并将其传递给-level命令。计算图像区域的自动级别值只是-crop,-format和info:
。
convert source.png -crop $geometry -format "%[min],%[max]" info:
其中$geometry
为defined。
因此,如果我想对图像左上角的区域进行应用级别修正,我的命令将为:
# 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