Я немного тороплюсь и не проверял это, но вы можете сохранить изображение в MPR - Magick Persistant Register , который является именованным кусочком памяти, и вспомнить его так:
magick start.png -write MPR:orig -delete 0 -format "%[fx:standard_deviation]\n" \
\( MPR:orig -crop x1\!+0+0 -write info: -delete 0 \) \
\( MPR:orig -crop x1\!+0+%[fx:h-1] -write info: -delete 0 \) \
\( MPR:orig -crop 1\!x+0+0 -write info: -delete 0 \) \
\( MPR:orig -crop 1\!x+%[fx:w-1]+0 -write info: -delete 0 \) null:
Это может также привести к вычислению среднего значения:
magick start.png -write MPR:orig -delete 0 \
\( MPR:orig -crop x1\!+0+0 -format "%[fx:standard_deviation], " -write info: -resize 1x1\! -format "%[mean]\n" -write info: -delete 0 \) \
\( MPR:orig -crop x1\!+0+%[fx:h-1] -format "%[fx:standard_deviation], " -write info: -resize 1x1\! -format "%[mean]\n" -write info: -delete 0 \) \
\( MPR:orig -crop 1\!x+0+0 -format "%[fx:standard_deviation], " -write info: -resize 1x1\! -format "%[mean]\n" -write info: -delete 0 \) \
\( MPR:orig -crop 1\!x+%[fx:w-1]+0 -format "%[fx:standard_deviation], " -write info: -resize 1x1\! -format "%[mean]\n" -write info: -delete 0 \) null:
Пример вывода
0, 65535
0, 0
0.290373, 32767.5
0.290373, 32767.5
Или, окончательный ответ:
magick start.png -write MPR:orig -delete 0 \
\( MPR:orig -crop x1\!+0+0 -format "%[fx:standard_deviation], %[fx:mean.r], %[fx:mean.g],%[fx:mean.b]\n" -write info: -delete 0 \) \
\( MPR:orig -crop x1\!+0+%[fx:h-1] -format "%[fx:standard_deviation], %[fx:mean.r], %[fx:mean.g],%[fx:mean.b]\n" -write info: -delete 0 \) \
\( MPR:orig -crop 1\!x+0+0 -format "%[fx:standard_deviation], %[fx:mean.r], %[fx:mean.g],%[fx:mean.b]\n" -write info: -delete 0 \) \
\( MPR:orig -crop 1\!x+%[fx:w-1]+0 -format "%[fx:standard_deviation], %[fx:mean.r], %[fx:mean.g],%[fx:mean.b]\n" -write info: -delete 0 \) null:
Пример вывода
0, 1, 0,0
0, 0, 0,0
0.290373, 0.5, 0,0
0.290373, 0.5, 0,0