Во-первых, я признаю, что это домашнее задание. Тем не менее, я, кажется, застрял. Мне нужно получить все квантованные коэффициенты из изображения в формате jpeg, используя Панель инструментов JPEG Фила Салли (ссылка указана в нижней части таблицы под заголовком «обновление») (я буду строить гистограмму, но эта часть Я справлюсь, как только получу нужные данные). У меня есть изображение JPEG размером около 5 МБ, и я получаю эти данные, когда запускаю его с помощью кода Sallee:
image_width: 3000
image_height: 4000
image_components: 3
image_color_space: 2
jpeg_components: 3
jpeg_color_space: 3
comments: {}
coef_arrays: {[4000x3000 double] [2000x3000 double] [2000x3000 double]}
quant_tables: {[8x8 double] [8x8 double]}
ac_huff_tables: [1x2 struct]
dc_huff_tables: [1x2 struct]
optimize_coding: 0
comp_info: [1x3 struct]
progressive_mode: 0
Как мне получить квантованные коэффициенты из этого изображения? Сначала я попробовал что-то вроде этого, чтобы просто выплюнуть коэффициенты, чтобы я мог видеть, с чем имею дело:
pic = jpeg_read(image)
img_coef = pic.quant_tables{pic.comp_info(1).quant_tbl_no}
img_coef = pic.quant_tables{pic.comp_info(2).quant_tbl_no}
img_coef
запускается дважды, потому что в точке данных quant_tables
выше есть два элемента. Однако это выглядит как очень небольшое количество коэффициентов для такого большого изображения. Может ли кто-то более знающий, чем я, указать мне правильное направление? Где / как я могу вытащить квантованные коэффициенты из изображения JPEG?