51347

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

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

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

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

Русский

2014-02-09

150.5 KB

22 чел.

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


 

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

5750. Физиологические особенности лошади 134.5 KB
  На протяжении тысячелетий лошадь остаётся верным спутником и помощником человека. Трудно назвать другое животное, чьё значение для нас было бы столь велико. Уже более четырех десятилетий общая численность лошадей в мире остаётся стабильной...
5751. История фирмы Сименс 81.5 KB
  Биография основателя компании Сименс. 13 декабря 1816 г. в городе Ленте близ Ганновера родился Вернер Сименс - будущий инженер, изобретатель, ученый, промышленник, общественный деятель. Окончив с отличием гимназию в Любеке, затем артиллерийское инже...
5752. Цинкодефициты и значение цинка в жизни человека 71.5 KB
  О цинкодефицитах и не только. Все больше людей сейчас приходят к осознанию что прежде чем требовать от своего организма стабильно - эффективных результатов работы - необходимо обеспечить ему для этого максимально благоприятные условий...
5753. Монолитное перекрытие выполняемое по балочной схеме 74 KB
  На сегодняшний день из существующих технологий возведения зданий и сооружений наиболее перспективным является монолитное строительство. Это - возведение конструктивных элементов из бетоносодержащей смеси с использованием специальных...
5754. Конвейер ленточный крутонаклонлонный (угол наклона 600) 5.64 MB
  Высокопроизводительная работа современного предприятия невозможна без правильно организованных и надежно работающих средств промышленного транспорта. Например, на машиностроительном заводе получают и распределяют по цехам сотни тонн металла...
5757. Построение осесимметричного меридиального потенциального потока 246 KB
  Исходные данные к курсовой работе Большой радиус канала R= 0,35 м Малый радиус канала r=0,045 м Высота канала на входе b0=0,3 м Угол наклона конической части за малым радиусом ...
5758. Глобальные проблемы мировой цивилизации 123.5 KB
  Введение Глобальные проблемы нашей эпохи - закономерное следствие всей современной глобальной ситуации, сложившейся на земном шаре в последней трети XX века. Для правильного понимания происхождения, сущности и возможности их решения необходимо ...