51347

Основы сжатия. 2D Дискретное косинусное преобразование

Лабораторная работа

Информатика, кибернетика и программирование

Цель работы: Написать программу осуществляющую прямое и обратное двумерное ДКП Дискретное Косинусное преобразование над выбранным изображением. Общий вид программы следующий: Здесь мы видим следующие элементы управления: Загрузить изображение загружает изображение и выводит в Imge Прямое 2DДКП преобразование Делает прямое преобразование и сохраняет в фаил Обратное 2DДКП преобразование Делает обратное преобразование из файла полученного ранее Код программы:...

Русский

2014-02-09

150.5 KB

26 чел.

Лабораторная работа 5.

Основы сжатия. 2D Дискретное косинусное преобразование


Выполнил: Шуклецов М.А.

 ФРТ, гр. 2106

Цель работы: Написать программу, осуществляющую прямое и обратное двумерное ДКП (Дискретное Косинусное преобразование) над выбранным изображением. Промежуточный массив данных сохранить во временный файл dct2d.data. После обратного преобразования результат вывести на экран.

Общий вид программы следующий:

Здесь мы видим следующие элементы управления:

«Загрузить изображение» - загружает изображение и выводит в Image

«Прямое 2D-ДКП преобразование» - Делает прямое преобразование и сохраняет в фаил

«Обратное 2D-ДКП преобразование» - Делает обратное преобразование из файла, полученного ранее

Код программы:

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include "cos_functions.h"    //Подключение внешних функций

#include "dct.h"

#include "extern.h"

#include "matrix_and_images.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

//---------------------------------------------------------------------------

double CosMatrix[8][8];     //Объявление матрицы 8х8 для прямого ДКП

double CosMatrix_T[8][8];    //Объявление матрицы 8х8 для обратного ДКП

int dct_size = 8;      //Объявление размера для ДКП

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if (OpenPictureDialog1->Execute())

       {

          try{

          Image_2D_Source->Picture->LoadFromFile(OpenPictureDialog1->FileName);

             }

           catch (EInvalidGraphic &Ex){

        ShowMessage("Ошибка загрузки изображения");

          }

       }

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

DCT_2D_Full("sourse", Image_2D_Source->Picture->Bitmap->Handle, dct_size);  

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

IDCT_2D_Full("sourse", Image_2D_Dest);

}

//---------------------------------------------------------------------------

Вывод: Мы использовали заимствованную функцию, которая совершает ДКП при этом при прямом проходе создает временный фаил ”source” с размерами получаемыми через ярлык Image_2D_Source->Picture->Bitmap->Handle и размерами шага рамки в 8 пикселей. При обратном проходе берется вышеописанный фаил и изображение выводиться во 2 рамке.


 

А также другие работы, которые могут Вас заинтересовать

31749. ФІНАНСОВІ ПОСЛУГИ НА ВАЛЮТНОМУ РИНКУ 137.5 KB
  Конверсійні операції це угоди агентів валютного ринку щодо обміну обумовлених сум грошової одиниці однієї країни на валюту іншої країни за узгодженим курсом на певну дату. Споткурс курс спот ціна валюти однієї країни виражена у валюті іншої країни. spot готівкова є угодою купівліпродажу валюти за курсом зафіксованим в угоді відповідно до якої обмін валют між банкамиконтрагентами проводиться як правило протягом 2х робочих днів не враховуючи дня укладення угоди. Валютний курс і котировки Поточним конверсійним операціям...
31750. ФІНАНСОВІ ПОСЛУГИ НА РИНКУ ПОЗИК 113.5 KB
  Пряма чи опосередкована участь банку у капіталі будьякого підприємства установи не повинна перевищувати 15 відсотків капіталу банку. Сукупні інвестиції банку не повинні перевищувати 60 відсотків розміру капіталу банку. Це обмеження не застосовується у разі якщо: 1 акції та інші цінні папери придбані банком у зв'язку з реалізацією права заставодержателя і банк не утримує їх більше одного року; 2 банком з метою створення фінансової холдингової групи придбані акції емітентом яких є інший банк; 3 цінні папери знаходяться у власності...
31751. ФІНАНСОВІ ПОСЛУГИ НА ФОНДОВОМУ РИНКУ 66 KB
  Саморегулівна організація професійних учасників фондового ринку неприбуткове обєднання учасників фондового ринку що провадять професійну діяльність на фондовому ринку з торгівлі цінними паперами управління активами інституційних інвесторів депозитарну діяльність діяльність реєстраторів та зберігачів утворене відповідно до критеріїв та вимог установлених Державною комісією з цінних паперів та фондового ринку. Професійна діяльність на фондовому ринку діяльність юридичних осіб з надання фінансових та інших послуг у сфері розміщення та...
31752. ФІНАНСОВІ ПОСЛУГИ З перейняття РИЗИКУ 119.5 KB
  ФІНАНСОВІ ПОСЛУГИ З перейняття РИЗИКУ 1. Ймовірніснопсихологічні аспекти проблеми ризику в економіці 2. Місце валютних ризиків в системі комерційних ризиків. Підходи до вибору стратегії захисту від валютних ризиків 3.
31753. ІНФРАСТРУКТУРА РИНКУ ФІНАНСОВИХ ПОСЛУГ 108.5 KB
  ІНФРАСТРУКТУРА РИНКУ ФІНАНСОВИХ ПОСЛУГ 1. Поняття та елементи ринкової інфраструктури ринку фінансових послуг 2. Розміщення інфраструктури фінансового ринку: аналітичний аспект 3. Сегментний аналіз розвитку ринку фінансових послуг 4.
31754. ДЕРЖАВНЕ РЕГУЛЮВАННЯ ОСНОВНИХ СЕГМЕНТІВ 107 KB
  ДЕРЖАВНЕ РЕГУЛЮВАННЯ ОСНОВНИХ СЕГМЕНТІВ РИНКУ ФІНАНСОВИХ ПОСЛУГ 1. Необхідність державного регулювання ринку фінансових послуг на етапі становлення його функціональної системи 2. Національний банк як орган державного регулювання ринку фінансових послуг 3. Методи регулювання банківської діяльності 4.
31757. ПОНЯТТЯ І КЛАСИФІКАЦІЯ ФІНАНСОВОГО ПОСЕРЕДНИЦТВА 108.5 KB
  Загальні правові засади у сфері надання фінансових послуг здійснення регулятивних та наглядових функцій за діяльністю з надання фінансових послуг встановлює Закон України Про фінансові послуги та державне регулювання ринків фінансових послуг та інші закони України з питань регулювання ринків фінансових послуг а також прийняті згідно з цими законами нормативноправові акти. При укладенні договору юридична або фізична особа мають право вимагати у суб'єкта підприємницької діяльності надання балансу або довідки про фінансове становище...