51347

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

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

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

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

Русский

2014-02-09

150.5 KB

27 чел.

Лабораторная работа 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 рамке.


 

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

3970. Схемотехніка логічних елементів та їх реалізація на мікропроцесорі 365.86 KB
  Специфіка програмування мікроконтролера PIC16F628. Рішення задач. Створення проекту в MPLAB. Створення проекту в PROTEUS. Схемотехніка логічних елементів та їх реалізація на базі мікропроцесорів. Прості висловлення – логічний елемент (змінна) – входить до складу складного висловлення логічної функції, яка залежить від істинності чи помилковості аргументів.
3971. ІНФОРМАЦІЙНА БЕЗПЕКА WEB 2.0 359.9 KB
  ІНФОРМАЦІЙНА БЕЗПЕКА WEB 2.0. Що таке Web 2.0 WEB 2.0 – це методика проектування систем, котрі шляхом врахування мережевих взаємодій стають тим краще, чим більше ними користуються. Web 2.0 - не технологія і не особливий ...
3972. АЭРОНАВИГАЦИЯ Методические указания по изучению дисциплины и выполнению контрольных работ 355.61 KB
  Дисциплина «Аэронавигация» является профилирующей, которая определяет уровень профессиональной подготовки студентов специализации «Летная эксплуатация гражданских воздушных судов». Она является основой для изучения других дисциплин, формирующих профессиональную подготовку.
3973. Знайомство з пакетом Swing 350.08 KB
  Лабораторна робота №7 (Знайомство з пакетом Swing) Тема роботи: Знайомство з пакетом Swing Мета роботи: Дослідити пакет Swing. План роботи. Ознайомлення з компонентами бібліотеки Swing. Навчитися добавляти компоненти до контейнерів Озн...
3974. ОСОБЕННОСТИ УЧЕТА ОСНОВНЫХ СРЕДСТВ СУБЪЕКТАМИ МАЛОГО И СРЕДНЕГО БИЗНЕСА 336.63 KB
  Развитие малого предпринимательства является одним из условий перехода России к полноценным рыночным отношениям, устойчивому развитию экономики, а также обеспечению стабильности в социальной сфере. Особая роль отводится бизнесу в развитие сферы услуг, которая является своего рода индикатором оценки уровня развития экономики любой страны....
3975. Системы линейных неравенств 331.41 KB
  Лекция Системы линейных неравенств Основные понятия Системы линейных неравенств применяются для решения различных математических задач. Системой линейных неравенств из m с n неизвестными x1 ,x2 ,...
3976. Створення простого текстового редактора 331.12 KB
  Лабораторна робота №9 (Створення простого текстового редактора.) Мета роботи: Створення простого текстового редактора. Мета: Написати програму на Java простого текстового редактора на Java План роботи. Вивчення додаткових компонентів для створе...
3977. Java. Типи даних 329.05 KB
  Лабораторна робота №5 (Java. Типи даних.) Тема роботи: Java. Типи даних. Мета роботи: Навчитися писати прості програми на Java 2SE. План роботи. Ознайомитися з структурою JDK. Ознайомитися з інтерфейсом програми IDEA. Написати просту...
3978. Система спутникового телевизионного вещания 326.67 KB
  Системы спутникового телевизионного вещания начали интенсивно развиваться с начала девяностых годов. Передаваемые ретранслятором геостационарного спутника телевизионные сигналы предназначены для непосредственного приема на сравнительно простые и недорогие установки (тюнеры)...