Java: Получение гистограммы коэффициентов DCT JPEG - PullRequest
2 голосов
/ 11 ноября 2010

Мне нужна библиотека Java, фрагмент кода, ... чтобы получить распределение частот по 64 коэффициентам DCT файла JPEG.

Есть идеи?Thx!

Ответы [ 2 ]

0 голосов
/ 12 февраля 2016

Кажется, что нет простого ответа на прямое получение коэффициентов DCT из файла JPEG.Разуплотнение изображения и повторное применение преобразования DCT является разумным приближением, но оно, как правило, приводит к ошибкам округления.

Единственное решение, которое я нашел для получения коэффициентов JPEG непосредственно из файла, было использование JNA для подключенияв родную библиотеку JPEG.Вы просили библиотеку или фрагмент кода.Я написал библиотеку Java, которая должна отвечать вашим потребностям.Мой код очень грубый, но может быть легко расширен.Здесь: https://github.com/markzampoglou/dct-extraction

0 голосов
/ 02 декабря 2011

Если вы заинтересованы в распространении определенного файла, вы можете попробовать преобразовать его в bmp и использовать мой код, указанный в моем вопросе:

Декомпрессия останавливается между ними и выходной файл заполняется нулями (ЧЕРНЫЕ ПИКСЕЛЫ)?

Возможно, вам придется ослабить его для работы с Java. Идея состоит в том, чтобы хранить все 64 коэффициента в массиве для каждого блока 8 * 8. Затем посчитайте частоту каждого значения для каждого коэффициента no, например, 0,0 (DC) или 0,1 или 8,8 (самая высокая частота), и нанесите частоту по оси Y и значение по оси X. вы получите 64 участка, по одному на каждый коэффициент.

...