Как геометрически преобразовать изображение с помощью матрицы

1146
Mark Said Camilleri

Как я могу преобразовать изображение, используя пользовательскую математическую матрицу 2x2? Чтобы было ясно, математика не является проблемой; У меня уже есть матрица, которую я хочу. Я просто хочу знать, как я могу использовать программное обеспечение для применения преобразования к изображению.

Я искал в Google плагины GIMP (поскольку я знаю, что он использует матрицу 3x3 для перспективы, хотя он не позволит мне ввести матрицу 3x3). Был один под названием «Mathmap», однако он не будет работать для меня, потому что он поддерживает более старую версию GIMP. Я также искал программы, способные сделать это, но ни одна не пришла.

Преобразование - это геометрическое преобразование, а не преобразование фильтра.

Если кто-нибудь может мне помочь, я очень ценю это.

1
Скорее всего, вы могли бы сделать это в Octave (зависит от формата изображения) https://www.gnu.org/software/octave/doc/interpreter/Loading-and-Saving-Images.html wmz 9 лет назад 0
http://www.imagemagick.org/ - для конвертации изображений, как правило. Hannu 9 лет назад 0

3 ответа на вопрос

1
jsbueno

There is a GIMP Procedure call, intended to be used from scripts and plug-ins, which can be called directly from the interactive prompts.

Here is an example Python session that retrieves a reference the last image open in GIMP, and applies a [2, 0, 0, 0, 2, 0, 0, 0, 1] transform to it.

You can get to the Python console in GIMP in filters->python-fu->console

GIMP 2.8.14 Python Console Python 2.7.5 (default, Jun 25 2014, 10:19:55) [GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] >>> img = gimp.image_list()[0] >>> img <gimp.Image '[Untitled]'> >>> matrix = [2,0,0, 0,2,0, 0,0,1] >>> more_parms = [True, TRANSFORM_RESIZE_ADJUST] >>> drawable = pdb.gimp_drawable_transform_matrix_default(img.layers[0], *(matrix + more_parms)) 

I could find the `gimp_drawable_transform_matrix_default procedure by clicking on the "browse" button at the bottom of the dialog with the Python session, searching for "matrix", and when I found a suitable call, clicking on "apply": that paste the function call on the Python session with mock parameters, I cared to replace.

I then took advantage of Python's "syntax sugar" to pass in sequence elements as individual parameters to a function call - that is what the "*" is for. For it to work, I had to append the 2 extra parameters (interpolation, and clip mode) to the matrix coefficients.

This is in effect the same call as

pdb.gimp_drawable_transform_matrix_default(img.layers[0], matrix[0], matrix[1], matrix[2], ...., matrix[9], True, TRANSFORM_SIZE_ADJUST) would be.

0
Hannu

Для чего это стоит, я использую GEGL v2.9 с GIMP, установленным и обновленным через    Ubuntu

sudo add-apt-repository ppa: отто-кессельгулаш / gimp-edge sudo apt-get update sudo apt-get установить gimp gimp-resynthesizer 

Интересно, если нет:
Menu: Filters > Generic > Convolution Matrix
... может быть, что вы ищете?

Я считаю, что матрица свертки используется для применения фильтров. Я хочу геометрическое преобразование. Mark Said Camilleri 9 лет назад 0
О, и я не знаю об этом в Ubuntu, мой плохой для не пометки окон Mark Said Camilleri 9 лет назад 0
Он присутствует среди фильтров, но может быть таким же или похожим на то, что вы хотите - ну, я просто догадываюсь здесь. Hannu 9 лет назад 0
Тогда я посмотрю глубже. Спасибо Mark Said Camilleri 9 лет назад 0
http://en.wikipedia.org/wiki/Convolution Hannu 9 лет назад 0
0
George

Если вы не возражаете против рекламы, есть хорошее приложение, которое я использую для всех видов задач обработки изображений: Batch Image Resizer (хотя это гораздо больше, чем resizer)

Он имеет специальное действие именно для задачи, которую вы описали:

enter image description here

Вы можете запустить его из командной строки, в виде графического интерфейса пользователя, по расписанию или постоянно в фоновом режиме, поэтому он достаточно гибкий.

Похоже, по какой-то причине они не предлагают скачивание на своей главной странице, но мне удалось спасти ссылку на бесплатную версию из другого места на их сайте, надеюсь, это будет работать: BIR Download