DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Дослідження методів обробки зображень в MatLab

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системи запису та відтворення інформації
Група:
ЗІ-32
Коротко про документ

Про що ця робота

Звіт до лабораторної роботи присвячено дослідженню методів обробки та стиснення зображень у середовищі MatLab. У ході роботи розроблено кодер для стиснення зображень та оцінено його ефективність і якість декомпресії.

У роботі розглядаються

  • Обробка зображень
  • Стиснення даних
  • Дискретне косинусне перетворення
  • Квантування
  • Zig-zag сканування
  • MatLab
  • Алгоритми стиснення

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Лістинг програми
  4. Таблиця квантування
  5. Покрокові результати стиснення блоку 8x8
  6. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Совин Я. Р.

Ключові поняття

зображеннястисненнядекомпресіяДКПквантуванняматрицяблокалгоритмефективність

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №4 з навчальної дисципліни: «Системи запису та відтворення інформації» на тему: «Дослідження методів обробки зображень в MatLab» Львів – 2011 Мета роботи: набути вміння розробляти власні методи стиснення зображень та оцінювати їх ефективність. Завдання Ознайомитись з теоретичним матеріалом. Завантажити файл зображення вказаний в завданні відповідно до свого варіанту. Вивести основну інформацію про файл: кількість пікселів по горизонталі і вертикалі, тип зображення — кольорове/монохромне, кількість біт на піксел, загальний розмір зображення в бітах. Написати JPEG-подібний кодер, згідно етапів розглянутих в теоретичній частині, який би стискав зображення з заданим степенем стиску G. Вивести на екран оригінальне та декомпресоване зображення для порівняння їх якості. Розрахувати реальну степінь стиснення зображення. Навести покрокові результати всіх етапів стиснення та відтворення довільного блоку 8x8 пікселів Вашого зображення. Варіант – 1, назва файлу belmont.tiff. Лістинг програми clear all; info = imfinfo('E:\belmont2.tiff') Y=imread('E:\belmont2.tiff'); [N,M]= size(Y); N_Block=fix(N/8); M_Block=fix(M/8); if(N-N_Block*8)~=0; Dod=8-((N-N_Block*8)); Y=[Y; zeros(Dod,M)]; N_Block=N_Block+1; end; if(M-M_Block*8)~=0; Dod=8-((M-M_Block*8)); Y=[Y zeros(N_Block*8,Dod)]; M_Block=M_Block+1; end; Y1=double(Y)-128; Y_DCT=blkproc(Y1, [8,8], 'dct2'); G=10; for ii = 1:8 for jj = 1:8 Q_Table(ii,jj)=1+(ii+jj-1)*G; end; end; for ii=1:N_Block for jj=1:M_Block Y_Q((8*ii-7):(8*ii), (8*jj-7) : (8*jj)) = round (Y_DCT((8*ii-7):(8*ii), (8*jj-7) : (8*jj)) ./ Q_Table ); end; end; Y_Scan=zeros(N_Block*M_Block, 64); count=1; for j=1:N_Block for i=1:M_Block x=Y_Q(8*j-7:8*j, 8*i-7:8*i); ZigZag= [x(1,1) x(1,2) x(2,1) x(3,1) x(2,2) x(1,3) x(1,4) x(2,3) x(3,2) x(4,1) x(5,1) x(4,2) x(3,3) x(2,4) x(1,5) x(1,6) x(2,5) x(3,4) x(4,3) x(5,2) x(6,1) x(7,1) x(6,2) x(5,3) x(4,4) x(3,5) x(2,6) x(1,7) x(1,8) x(2,7) x(3,6) x(4,5) x(5,4) x(6,3) x(7,2) x(8,1) x(8,2) x(7,3) x(6,4) x(5,5) x(4,6) x(3,7) x(2,8) x(3,8) x(4,7) x(5,6) x(6,5) x(7,4) x(8,3) x(8,4) x(7,5) x(6,6) x(5,7) x(4,8) x(5,8) x(6,7) x(7,6) x(8,5) x(8,6) x(7,7) x(6,8) x(7,8) x(8,7) x(8,8) ]; Y_Scan(count , :)=ZigZag; count=count+1; end; end; delta = 0; midle =[ ]; for ii=1:N_Block*M_Block vect = Y_Scan(ii,2:64); n=0; res=[]; for jj=1:63 if vect(jj)==0 n=n+1; else res = [res n vect(jj)]; n=0; end; end; res= [res 0 0 ]; Y_C=[midle (Y_Scan(ii,1)-delta) res]; delta=Y_Scan(ii,1); midle=Y_C; end; Bit_Count = 0; for ii=1:length(Y_C) elem=Y_C(ii); switch elem case 0, kod=1; case 1, kod=4; case -1, kod=4; case 2, kod=4; case -2, kod=4; case 3, kod=5; case -3, kod=5; case 4, kod=5; case -4, kod=5; case 5, kod=7; case -5, kod=7; case 6, kod=7; case -6, kod=7; case 7, kod=7; case -7, kod=7; case 8, kod=7; case -8, kod=7; otherwise kod=13; end; Bit_Count =Bit_Count+kod; end; m=N*M*8; Compression_Ratio = m/(Bit_Count) for ii =1:N_Block for jj =1:M_Block Y_R(8*ii-7:8*ii, 8*jj-7:8*jj)=Y_Q(8*ii-7:8*ii, 8*jj-7:8*jj) .*Q_Table; end; end; Rec=uint8(blkproc(Y_R, [8,8], 'idct2')+128); z=sprintf('Compression Ratio = %f', Compression_Ratio); subplot(1,2,1); imshow(Y(1:N, 1:M)); title('Original', 'FontSize',14); subplot(1,2,2); imshow(Rec(1:N, 1:M)); title(z,'FontSize',14); Оригінальне та декомпресоване зображення  Розрахована степінь стиску – 6.1766 Таблиця квантування 11 21 31 41 51 61 71 81 21 31 41 51 61 71 81 91 31 41 51 61 71 81 91 101 41 51 61 71 81 91 101 111 51 61 71 81 91 101 111 121 61 71 81 91 101 111 121 131 71 81 91 101 111 121 131 141 81 91 101 111 121 131 141 151 Покрокові результати стиснення блоку 8x8 Вихідний блок 8x8 57 48 48 48 48 48 48 48 57 57 48 48 48 48 48 48 57 48 48 57 48 48 48 48 48 48 48 48 48 48 36 40 36 36 36 48 48 48 36 48 40 31 36 40 48 40 36 36 36 40 31 36 36 36 36 36 40 40 36 36 31 31 40 36 Блок після зсуву рівня -71 -80 -80 -80 -80 -80 -80 -80 -71 -71 -80 -80 -80 -80 -80 -80 -71 -80 -80 -71 -80 -80 -80 -80 -80 -80 -80 -80 -80 -80 -92 -88 -92 -92 -92 -80 -80 -80 -92 -80 -88 -97 -92 -88 -80 -88 -92 -92 -92 -88 -97 -92 -92 -92 -92 -92 -88 -88 -92 -92 -97 -97 -88 -92 Блок після ДКП -676.3750 6.9500 -0.9519 6.0516 9.1250 -0.0929 -0.0116 -4.2872 45.0571 7.3549 2.7070 1.9444 1.1226 1.5038 3.2184 -0.6785 -4.1294 4.9380 14.2238 -1.1943 -6.3270 4.6263 -6.1543 3.4208 -8.0477 - 9.1457 -5.5158 4.5304 4.4297 -3.9114 3.0288 2.9180 -1.8750 -1.3316 -1.1897 -2.7884 -0.8750 -1.3134 3.3341 -1.2407 -2.4310 4.5444 -1.2529 1.2779 -1.5930 0.3838 0.9603 0.2308 2.1164 -0.7398 -2.1543 0.9398 4.6502 7.5726 2.0262 4.2938 1.3667 -7.9891 0.7168 -2.3803 3.5732 1.9821 -1.0417 -5.2692 Квантування -61 0 0 0 0 0 0 0 2 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 Zig-Zag -сканування -61 0 2 0 0 0 0 0 -62 2 3 0 1 -1 0 0 -67 1 1 0 1 0 0 0 -71 -1 2 -1 1 0 0 0 -63 -2 -3 1 2 -1 1 0 -62 -5 -1 0 2 1 -1 -1 -36 -2 -3 -3 -5 1 -1 0 -38 4 6 1 2 0 0 0 Висновок На даній лабораторній роботі я набув вміння розробляти власні методи стиснення зображень та оцінювати їх ефективність. Отримане декомпресоване зображення є розмитішим порівняно з оригінальним, оскільки при стисненні відбулися втрати.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!