Java: получение гистограммы коэффициентов JPEG DCT

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

Любые идеи? Спасибо!


person Steven    schedule 11.11.2010    source источник


Ответы (2)


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

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

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

person Muk Bo    schedule 02.12.2011

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

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

person Markos Zampoglou    schedule 12.02.2016