forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Алгоритмика (http://forum.boolean.name/forumdisplay.php?f=21)
-   -   Сжатие grayscale с потерями (http://forum.boolean.name/showthread.php?t=18923)

den 08.02.2014 16:09

Сжатие grayscale с потерями
 
Подскажите алгоритм сжатия grayscale изображений с потерями. С возможностью выборы качества (то есть степень сжатия, и количество потерь, как в жипеге).
Необходимо что бы алгоритм был заточен именно на ч/б картинки.

jimon 08.02.2014 16:51

Ответ: Сжатие grayscale с потерями
 
возьми самое простое - jpeg, сам алгоритм jpeg как раз сжимает чб картинки (каждый канал цвета он жмет отдельно), просто цветной jpeg переводит картинку из RGB в YCbCr, и последние два канала уменьшает ибо они не так сильно влияют на качество картинки

можно взять сжатие на вейвлетах : http://iquilezles.org/www/articles/wavelet/wavelet.htm

суть всех алгоритмов :
1) каким-то способом получить АЧХ чтобы выделить информацию к которой глаз наиболее чувствительный (дискретнокосинусное преобразование у jpeg и вейвлеты у jpeg2000)
2) получаем набор целых чисел
3) берем делим их на сколько-то, переводим их в инт и умножает на столько же - таким образом уменьшаем точность, ЭТО ЕДИНСТВЕННОЕ ЧТО ВЛИЯЕТ НА СТЕПЕНЬ СЖАТИЯ И КАЧЕСТВО ИЗОБРАЖЕНИЯ, ибо все остальные операции полностью обратимы и являются losless
4) сжимаем полученные цифры как поток битов, в jpeg для этого используют код хаффмана, в jpeg2000 используют арифметическое кодирование

вот и вся магия

ps. у меня диплом jpeg2000 на cuda, спрашивайте свои ответы

Черный крыс 16.02.2014 02:37

Ответ: Сжатие grayscale с потерями
 
Цитата:

Сообщение от jimon (Сообщение 273932)
спрашивайте свои ответы

Debug enabled? :crazy:

jimon 16.02.2014 02:59

Ответ: Сжатие grayscale с потерями
 
а то


Часовой пояс GMT +4, время: 07:18.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot