Существуют ли алгоритмы увеличения разрешения изображения? - PullRequest
5 голосов
/ 12 декабря 2008

Существуют ли какие-либо алгоритмы или инструменты, которые могут увеличить разрешение изображения - кроме простого увеличения, которое делает каждый отдельный пиксель изображения немного больше?

Я понимаю, что такой алгоритм должен был бы изобрести пиксели, которые на самом деле не существуют в исходном изображении, но я подумал, что мог бы быть какой-то алгоритм, который мог бы разумно определить, какие пиксели добавить к изображению для увеличения его разрешения.

Ответы [ 10 ]

4 голосов
/ 12 декабря 2008
3 голосов
/ 12 декабря 2008

Добавление к предыдущим ответам: обратите внимание, что ответ на ваш вопрос в значительной степени зависит от того, что именно вы подразумеваете под разрешением - устройства отображения, устройства захвата или устройства просмотра (то есть человеческого глаза). Я предполагаю, что вы говорите о растровых изображениях (проблема не существует для векторных изображений.)

Вы должны принять, что снимок, сделанный с более высоким разрешением, будет содержать больше информации об изображении (то есть деталей), чем снимок той же сцены, снятый с более низким разрешением. невозможно добавить эту информацию из воздуха. Алгоритмы масштабирования синтезируют некоторую информацию на основе предположения о непрерывности между элементами дискретного растрового изображения. Эта «новая» информация на самом деле не новая, а полученная из ранее существующей информации об изображении, следовательно, нельзя считать, что она имеет 100% -ную вероятность совпадения с исходной сценой. Лучшие алгоритмы могут дать лучшие вероятности, но их результаты всегда будут иметь вероятность совпадения меньше 1.

3 голосов
/ 12 декабря 2008

Для реальных алгоритмов проверьте интерполяция изображения .

Простой ответ на ваш вопрос: «Да, есть алгоритмы, но ни один из них не очень хорош». Как вы упомянули в вопросе, ограничивающим фактором является необходимость изобретать пиксели, чтобы увеличить разрешение за небольшую величину. (Вот почему вы не можете действительно прочитать номер автомобильного номера по отражению в чьих-то очках на фотографии, снятой с камеры видеонаблюдения, как в CSI: Майами.)

Если все, что вы хотите сделать, это создать увеличенное изображение (для настенного экрана или чего-то подобного), тогда вы можете использовать плагин для Photoshop , который сгладит переходы между пикселями с использованием существующей информации. Он не может создавать новые пиксели, но может избавиться от этого квадратного пиксельного вида.

2 голосов
/ 28 декабря 2012

Один из способов увеличить разрешение - это сделать несколько экспозиций, увеличить их до 4х площадных (2х линейных в обоих направлениях) и использовать программное обеспечение для объединения изображений. Окончательное изображение будет лучше, чем любой из оригиналов.

2 голосов
/ 12 декабря 2008

Увеличение изображений рискованно. Помимо определенного момента, увеличение изображений - это глупое дело; вы не можете волшебным образом синтезировать бесконечное количество новых пикселей из воздуха. И интерполированные пиксели никогда не так хороши, как реальные пиксели. Вот почему более чем искусственно увеличивать изображение Лены 512x512 на 500%. Было бы разумнее найти более высокое разрешение сканирования или изображение того, что вам нужно *, чем это было бы, чтобы увеличить его в программном обеспечении.

От Джеффа Этвуда

1 голос
/ 14 января 2012

Алгоритмы суперразрешения могут помочь в некоторых случаях. Я не знаю всего, что с этим связано (необходимо программное обеспечение, оборудование и исходные изображения), но если вам интересно, вот несколько ссылок:

http://almalence.com/doc/superresolution-comparison/ (Похоже, что у PhotoAcute от Almalence лучшие из протестированных в этой статье - 30 или 150 долларов). Они находятся по адресу: www. фотоакустическая точка ком

Markov Random Fields for SR - бесплатный программный пакет (проект MIT & Microsoft) http://people.csail.mit.edu/billf/project%20pages/sresCode/Markov%20Random%20Fields%20for%20Super-Resolution.html

1 голос
/ 12 декабря 2008

Вы можете попробовать векторизовать изображение с помощью таких инструментов, как autotrace или potrace, и использовать его в любом разрешении. Но в вычислительном отношении это очень дорого, так что в итоге вы получите изображение с небольшим количеством цветов / функций и еще меньше, если вам нужно быстро поработать над ним в целом.

0 голосов
/ 12 декабря 2008

Имеется документ SIGGRAPH 2007 о масштабировании изображений с учетом содержания. Вы можете увидеть демо на youtube . Это зависит от приложения, но, скорее всего, это будет излишним.

0 голосов
/ 12 декабря 2008

Если вам нужно сделать это алгоритмически, проверьте ссылку Image Scaling , предложенную Draemon. На какой платформе вы будете делать эти интерполяции? В большинстве графических библиотек реализовано множество подходов, позволяющих сбалансировать скорость и качество.

Если вам просто нужно изменить размер некоторых изображений, я рекомендую GIMP . Он может изменять размеры изображений различными способами, по крайней мере один из которых должен давать отличные результаты в любой ситуации.

Как отмечают другие, вы не можете ожидать, что метод масштабирования изобретет информацию, которой нет в исходном изображении. Поэтому нельзя ожидать, что это будет похоже на моменты в CSI, когда они «увеличивают и увеличивают», чтобы увидеть номер на номерном знаке, который был безнадежно размыт на исходном изображении.

0 голосов
/ 12 декабря 2008

Большинство приличных редакторов изображений имеют сглаживающие / интерполирующие фильтры для выполнения такого рода изменения размера / повторной выборки, например, IrfanView , который предоставляет несколько вариантов фильтров интерполяции. См. Lanczos resampling . Программа конвертации ImageMagick позволяет вам сделать это также, указав filter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...