Как указывает справочная страница pnmscale , параметр pixels
указывает максимальное общее количество выходных пикселей.pnmscale масштабирует изображение до этого количества пикселей.Если входное изображение уже не превышает столько пикселей, pnmscale просто копирует его в качестве вывода;pnmscale не масштабируется с -pixels.
Другими словами, указав -pixels 100
, вы фактически уменьшаете изображение до максимального числа 100 пикселей.То, чего вы пытаетесь добиться, это уменьшить входное изображение до размера 100 x 50 pixels = 5000 pixels
.
Еще раз просмотрев справочную страницу в pnmscale , вы получите следующее:
pnmscale [{-xsize=cols | -width=cols | -xscale=factor}] [{-ysize=rows | -height=rows | -yscale=factor}] [pnmfile]
[...]
Если вы указали одно измерение в качестве размера пикселя, а другое не указали, pnmscale масштабирует неопределенное измерение, чтобы сохранить соотношение сторон.
В вашем случае использование
pnmscale -xsize 100 example.ppm > example.scaled
должно уменьшить входное изображение до ширины 100 пикселей.