Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

Сжатие JPEG с примером в DIP и его реализация в MATLAB || Сжатие с потерями ||

Автор: Study with Dr. Dafda

Загружено: 2022-10-09

Просмотров: 8702

Описание:

Серия видеолекций по цифровой обработке изображений, лекция: 46,
Сжатие JPEG на примере DIP и его реализация в MATLAB
Каковы этапы сжатия JPEG?
Как осуществляется выбор преобразования?
Что такое базисные функции в обработке изображений?
Как выглядит блок-схема кодера и декодера JPEG?
Почему DCT используется для сжатия изображений JPEG?
Ссылка для скачивания презентаций/конспектов лекций:
https://drive.google.com/drive/folder...
Коды MATLAB, использованные в видео, приведены ниже.
#DIP
#DIPwithMATLAB
#DigitalImageProcessingUsingMATLAB
#DigitalImageProcessing
#StudywithDrDafda

Код MATLAB, использованный в видео:

% Программа MATLAB для сжатия изображений в оттенках серого в формате JPEG
clc;
закрыть всё;
сбросить всё;
I = imread('cameraman.tif');
I1=I;
[row coln]= size(I);
I= double(I);
I = I - (128*ones(256));

% Высокое качество здесь означает низкое сжатие
quality = input('Какое качество сжатия вам требуется - ');
Q50 = [ 16 11 10 16 24 40 51 61;
12 12 14 19 26 58 60 55;
14 13 16 24 40 57 69 56;
14 17 22 29 51 87 80 62;
18 22 37 56 68 109 103 77;
24 35 55 64 81 104 113 92;
49 64 78 87 103 121 120 101;
72 92 95 98 112 100 103 99];

если качество {больше} 50
QX = round(Q50.*(ones(8)*((100-качество)/50)));
QX = uint8(QX);
elseif качество {меньше} 50
QX = round(Q50.*(ones(8)*(50/качество)));
QX = uint8(QX);
elseif качество == 50
QX = Q50;
end
DCT_matrix8 = dct(eye(8));
iDCT_matrix8 = DCT_matrix8'; %inv(DCT_matrix8);
dct_restored = zeros(row,coln);
QX = double(QX);

for i1=[1:8:row]
for i2=[1:8:coln]
zBLOCK=I(i1:i1+7,i2:i2+7);
win1=DCT_matrix8*zBLOCK*iDCT_matrix8;
dct_domain(i1:i1+7,i2:i2+7)=win1;
end
end
for i1=[1:8:row]
for i2=[1:8:coln]
win1 = dct_domain(i1:i1+7,i2:i2+7);
win2=round(win1./QX);
dct_quantized(i1:i1+7,i2:i2+7)=win2;
end
end
for i1=[1:8:row]
for i2=[1:8:coln]
win2 = dct_quantized(i1:i1+7,i2:i2+7);
win3 = win2.*QX;
dct_dequantized(i1:i1+7,i2:i2+7) = win3;
конец
конец
для i1=[1:8:строка]
для i2=[1:8:столбец]
win3 = dct_dequantized(i1:i1+7,i2:i2+7);
win4=iDCT_matrix8*win3*DCT_matrix8;
dct_restored(i1:i1+7,i2:i2+7)=win4;
конец
конец
I2=dct_restored;

K=mat2gray(I2);
subplot(1,2,1);
imshow(I1);title('исходное изображение');
subplot(1,2,2);
imshow(K);title('восстановленное изображение из dct');

% Программа MATLAB для сжатия цветного изображения в формате JPEG
% Для простоты используется только одна таблица/матрица квантования
clc;
очистить всё;
закрыть все;

Q = [16 11 10 16 24 40 51 61 ;
12 12 14 19 26 28 60 55 ;
14 13 16 24 40 57 69 56 ;
14 17 22 29 51 87 80 62 ;
18 22 37 56 68 109 103 77 ;
24 35 55 64 81 104 113 92 ;
49 64 78 87 103 121 120 101;
72 92 95 98 112 100 103 99];
I = imread('peppers.png');
%I = imread('saturn.png');
%I = imread('Maulik.png');
ImageSize = 8*prod(size(I));
Y_d = rgb2ycbcr(I );
% Понижение частоты дискретизации:
Y_d(:,:,2) = 2*round(Y_d(:,:,2)/2);
Y_d(:,:,3) = 2*round(Y_d(:,:,3)/2);
% Сжатие DCT:
A = zeros(size(Y_d));
B = A;
для канала = 1:3
для j = 1:8:size(Y_d,1)-7
для k = 1:8:size(Y_d,2)-7
II = Y_d(j:j+7,k:k+7,channel);
freq = dct2(II);
freq = Q.*round(freq./Q);
A(j:j+7,k:k+7,channel) = freq;

% одновременно выполнить обратное действие:

B(j:j+7,k:k+7,channel) = idct2(freq);
end
end
end
b = A(:);
b = b(:);
b(b==0)=[]; % удалить нули.
b = floor(255*(b-min(b))/(max(b)-min(b)));
symbols = unique(b);
prob = histcounts(b,length(symbols))/length(b);
dict = huffmandict(symbols, prob);
enco = huffmanenco(b, dict);
FinalCompressedImage = length(enco);
disp('достигнутое сжатие:');
ImageSize/FinalCompressedImage
subplot(1,2,1)
imshow(I)
title('Исходное изображение')
subplot(1,2,2)
imshow(ycbcr2rgb(uint8(B)));
title('Сжатое изображение')

Сжатие JPEG с примером в DIP и его реализация в MATLAB || Сжатие с потерями ||

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

JPEG 2000(Wavelet Based Compression)& implementation in MATLAB| Differences between JPEG & JPEG 2000

JPEG 2000(Wavelet Based Compression)& implementation in MATLAB| Differences between JPEG & JPEG 2000

Как сжимаются изображения? [46 МБ ↘↘ 4,07 МБ] JPEG в деталях

Как сжимаются изображения? [46 МБ ↘↘ 4,07 МБ] JPEG в деталях

Thresholding : Global and Adaptive(local) in DIP and its implementation in MATLAB

Thresholding : Global and Adaptive(local) in DIP and its implementation in MATLAB

PART-10 // AI Engineering Masterclass 2026 🚀 | From Zero to AI Hero with Real-World Projects

PART-10 // AI Engineering Masterclass 2026 🚀 | From Zero to AI Hero with Real-World Projects

Digital Image Processing

Digital Image Processing

Image compression models || digital image processing || explain in Telugu

Image compression models || digital image processing || explain in Telugu

The Unreasonable Effectiveness of JPEG: A Signal Processing Approach

The Unreasonable Effectiveness of JPEG: A Signal Processing Approach

Чем ОПАСЕН МАХ? Разбор приложения специалистом по кибер безопасности

Чем ОПАСЕН МАХ? Разбор приложения специалистом по кибер безопасности

Полигональные аппроксимации с использованием полигонов с минимальным периметром (MPP) в представл...

Полигональные аппроксимации с использованием полигонов с минимальным периметром (MPP) в представл...

⚡️ У Путина экстренно просят помощи || Сын Кадырова разбился в ДТП?

⚡️ У Путина экстренно просят помощи || Сын Кадырова разбился в ДТП?

JPEG - Joint Photographic Expert Group (Basics, Content, Algorithm, Example, Pros & Cons) Explained

JPEG - Joint Photographic Expert Group (Basics, Content, Algorithm, Example, Pros & Cons) Explained

Why I Left Quantum Computing Research

Why I Left Quantum Computing Research

LZW-кодирование | Цифровая обработка изображений

LZW-кодирование | Цифровая обработка изображений

Простые технические изобретения, решающие реальные проблемы

Простые технические изобретения, решающие реальные проблемы

Huffman Coding in Digital Image Processing with example & its Implementation in MATLAB ||Compression

Huffman Coding in Digital Image Processing with example & its Implementation in MATLAB ||Compression

Image Compression Model - Image Compression - Image Processing

Image Compression Model - Image Compression - Image Processing

Обнаружение точек, линий и краёв в DIP и его реализация в MATLAB || Сегментация изображений|| #DIP

Обнаружение точек, линий и краёв в DIP и его реализация в MATLAB || Сегментация изображений|| #DIP

Typst: Современная замена Word и LaTeX, которую ждали 40 лет

Typst: Современная замена Word и LaTeX, которую ждали 40 лет

Image Compression Models | Digital Image Processing

Image Compression Models | Digital Image Processing

L37 | Compression Measures || Digital Image Processing (AKTU)

L37 | Compression Measures || Digital Image Processing (AKTU)

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: infodtube@gmail.com