0 / 0 / 0
Регистрация: 05.12.2019
Сообщений: 43

ДКП и квантование

07.12.2020, 15:35. Показов 1775. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
У меня есть матрица значений пикселя, когда я уже перевел из rgb в YCbCr(в матрице значения Cb):
Python
1
2
3
4
5
6
7
8
q =[[125 125 125 125 125 125 125 125]
 [125 125 125 125 125 125 125 125]
 [125 125 125 125 125 125 125 125]
 [125 125 125 125 125 125 125 125]
 [125 125 125 125 125 125 125 125]
 [125 125 125 125 125 125 125 125]
 [125 125 125 125 125 125 125 125]
 [125 125 125 125 125 125 125 125]]
После дискретного косинусного преобразования этой матрицы получается это:
Python
1
2
3
4
5
6
7
8
w = [[32000.     0.     0.     0.     0.     0.     0.     0.]
 [    0.     0.     0.     0.     0.     0.     0.     0.]
 [    0.     0.     0.     0.     0.     0.     0.     0.]
 [    0.     0.     0.     0.     0.     0.     0.     0.]
 [    0.     0.     0.     0.     0.     0.     0.     0.]
 [    0.     0.     0.     0.     0.     0.     0.     0.]
 [    0.     0.     0.     0.     0.     0.     0.     0.]
 [    0.     0.     0.     0.     0.     0.     0.     0.]]
Вот моя матрица квантования для цвета:
Python
1
2
3
4
5
6
7
8
9
10
color = np.array([
[17, 18, 24, 47, 99, 99, 99, 99],
[18, 21, 26, 66, 99, 99, 99, 99],
[24, 26, 56, 99, 99, 99, 99, 99],
[47, 66, 99, 99, 99, 99, 99, 99],
[99, 99, 99, 99, 99, 99, 99, 99],
[99, 99, 99, 99, 99, 99, 99, 99],
[99, 99, 99, 99, 99, 99, 99, 99],
[99, 99, 99, 99, 99, 99, 99, 99]
])
Я делал ДКП с помощью модуля "from scipy.fft import dct", командой "dct(dct(e).T).T" Так как это 2D массив. (думаю где-то тут уже ошибка)
Я прочитал на хабре, что после квантования(то есть деления матрицы ДКП на матрицу квантования) пиксели должны быть в диапазоне 0-255, у меня с моей матрицей так не получается (там 32000).
В когда я своё jpeg изображения пытаюсь сжать (Перевод из RGB в YCbCr - субдескритезация - ДКП - Квантование) у меня выводит зеленое изображение с мелкими очертаниями моей исходной картинки.
Во всех шагах до ДКП я уверен, все работает.
Вопрос звучит так:
1. Правильно ли я сделал ДКП? Если нет, то как для двумерного массива лучше поступить?
2. Правильная ли у меня матрица квантования? И где мне взять нормальную, если это не так
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2020, 15:35
Ответы с готовыми решениями:

ДКП преобразование стеганография
Нужно написать программу, которая будет внедрять стегосообщение в jpeg с помощью ДКП преобразования. Не могу найти решений и библиотек для...

ДКП к изображению
всем доброго времени суток! возник ступор, и я не могу далее двигаться. Я очень хочу понять, что же такое ДКП. В арсенале книги...

JPEG-компрессия: ДКП
Алгоритм работы дискретного косинусного преобразования мне ясен, его программную реализацию я себе тоже представляю. Но одно мне непонятно:...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2020, 15:35
Помогаю со студенческими работами здесь

Алгоритм ДКП для изображения
Разбираюсь в алгоритме ДКП для изображений и может подскажете откуда берутся эти постоянные для Матрицы C? Может статься есть в которой...

Квантование сигнала
Такая задача - Задается непрерывный сигнал в виде sin(Pi*t). Необходимо произвести квантование этого сигнала по уровню и по времени, ну...

Квантование изображений
Здравствуйте! На примере ниже отмечены две переменные. Подскажите, пожалуйса,это константы или же вычисления? Не могу понять окуда...

Квантование чисел
Квантованию с большим числом уровней (например, 256), подвергаются два гармонических сигнала с частотами ω1 = π/6 ≈ 0,5236...

квантование изображения
такая проблема, мне нужно уменьшить число цветов в изображении (было 512 должно стать 256), но я никак не могу разобраться с библиотекой, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru