Первым успешным методом, который я нашел, было использование ImageMagick, но с другим оператором, отличным от ранее предложенного - separate/-swap.
Различным оператором является либо -recolor, либо -color-matrix, в зависимости от версии ImageMagick.
В частности, поскольку я знал “основной цвет” исходного изображения (зеленый, в вашем случае и в моем) и я знал “основной цвет” нужного изображения результата (синий, в вашем случае, оранжевый, в моем), я дал ImageMagick’ -recolor/color-matrix опцию - матрицу преобразования со значениями, которые отражали различия в каждом из каналов RGB.
Например, в моём случае полностью зелёный цвет был R:141 G:198 B:63, и я хотел, чтобы он был изменён на R:231 G:159 B:70. Остальные цвета хотели быть изменены эквивалентно.
Таким образом, я хотел, чтобы значение R новых пикселов составляло 231/141-ю долю от текущего значения красного. Зеленый цвет должен быть 159/198-ой от текущих значений. А синее - 63/70th от текущих значений.
So:
convert input.png -recolor "1.638297872 0 0 0 0.803030303 0 0 0 1.111111111" output.png
или
или
Это, казалось, работало в мгновение ока после того, как я безрезультатно провел много времени, борясь с Gimp/plugins и paint.net/plugins.