формат jpg хорош для алгоритмов обработки изображений - PullRequest
0 голосов
/ 18 ноября 2011

большинство несерьезных камер (камеры на телефонах и веб-камерах) выдают JPEG-изображение с потерями в качестве вывода.

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

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

1 Ответ

4 голосов
/ 18 ноября 2011

JPG - это целое семейство реализаций, на самом деле существует 4 метода.Наиболее распространенным методом является «нормальный» метод, основанный на дискретном косинусном преобразовании.Это просто делит изображение на 8x8 блоков и вычисляет DCT этого.Это приводит к списку коэффициентов.Для эффективного хранения этих коэффициентов они умножаются на некоторую другую матрицу (матрицу квантования), так что более высокие частоты обычно округляются до нуля.Это единственный шаг с потерями в процессе.Это сделано для того, чтобы сохранить коэффициенты более эффективно, чем раньше.

Итак, на ваш вопрос не так легко ответить.Это также зависит от размера входных данных. Если у вас достаточно большое изображение (скажем, 3000x2000), сохраненное с относительно высокой точностью, у вас не возникнет проблем с артефактами.Маленькое изображение с высокой степенью сжатия может вызвать проблемы.

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

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

Помните, что такие операции, как вращение, масштабирование и повторное сохранение JPG, приводят к потере данных при каждой итерации..

...