Diplom_29-06 (1221240), страница 8
Текст из файла (страница 8)
Во второй главе рассматривалось проектирование приложения: его функционала, графического пользовательского интерфейса.
В третьей главе осуществлен переход к проектированию данного приложения и его реализации. Выбор технологий реализации. Описана реализация графического интерфейса, позволяющего пользователю сравнить исходное и преобразованное выбранным алгоритмом изображение, произведена работа с цветным изображением и применением к нему алгоритмов кодирования с применением библиотеки ОpenCV, вывод результатов экспериментальных исследований: вывод уровней интенсивности, гистограммы значений пикселей по каналам RGB, а также анализ изменений преобразованного изображения относительно исходного по заданным формулам.
В четвертой главе приведен расчет рыночной стоимости приложения. Был приведен сравнительный анализ с программами-аналогами, а также произведен расчет, указывающий на целесообразность использования программы.
В ходе выпускной квалификационной работы были выполнены сделующие задачи:
-
выполнен анализ предметной области;
-
изучены алгоритмы кодирования графических изображений и некоторые из них реализованы;
-
выполнен проект приложения визуализации результатов кодирования графической информации;
-
выполнен анализ результатов применения алгоритмов кодирования.
Список использованных источников
-
Богомякова Т.А. Вопросы оценки качества обслуживания в беспроводных мультимедиа сенсорных сетях [Текст]/Т.А. Богомякова, Ю.В. Пономарчук //Сборник материалов конференции. Научно-техническое и экономическое сотрудничество стран АТР вXXI веке. - Хабаровск: ДВГУПС.- 2015. – Т.1. – С. 207-214.
-
Шапошникова, Т. А., Передача видео файлов по беспроводным мультимедийным сверхширокополосным сенсорным сетям [Текст] / Т. А Шапошникова А. И. Чернышов //Журнал радиоэлектроники.- №11.-2012.- С. 1-20.
-
Бождай А.С. Особенности передачи мультимедийного трафика в беспроводных сенсорных сетях ZIGBEE [Текст]/Гудков А. А., Гудков П. А., Курилов Л. С., Кревский И. Г.//Современные проблемы науки и образования. - № 3.- 2012.- С. 143-150.
-
Akyildiz I.F A Survey on Wireless Multimedia Sensor Networks [Text]/Melodia N., Chowdhury K.R.//Computer Networks.- № 51.-2007.- Р. 921-960.
-
Koucheryavy Y. Traffic and QoS Management in Wireless Multimedia Networks [Text]/ Koucheryavy Y., Giovanni G., Dirk S.//Barcelo-Arroyo, Braun F.T., Siris V. Springer Science, Business Media.- LLC.- 2009.-308 p.
-
Кучерявый А. Е Интернет вещей [Текст]/А. Е. Кучерявый//Электросвязь .-№1.- 2013.- С. 21 – 24.
-
Яновский Г. Г. Качество обслуживания в сетях IP [Текст]/Г. Г Яновский //Вестник связи.- №1.- 2008.- С. 1 – 16
-
Трифонов С. В., Холодов Я. А. Исследование и оптимизация работы беспроводной сенсорной сети на основе протокола ZigBee [Текст]/С. В. Трифонов, Я. А. Холодов//Компьютерные исследования и моделирование .-2012.- Т. 4.- № 4.- С. 855−869.
-
Александр Скуснов, «Тестирование точек доступа: беспроводной Интернет в каждую квартиру», компьютерный еженедельник «Upgrade», № 44 (186), 2004 г.
-
http://www.jpeg.org/about.html [Электронный ресурс] - Режим доступа: http://www.jpeg.org/
-
Тропченко А.Ю., Тропченко А.А. Методы сжатия изображений, аудиосигналов и видео: Учебное пособие – СПб: СПбГУ ИТМО, 2009. – 108 с.
-
Лейпцигская коллекция статей по фрактальному сжатию изображений[Электронный ресурс] - Режим доступа: http://www.compression.ru/download/fractal.html
-
The open source, cross platform, free C, C++ and Fortran IDE. [Электронный ресурс] - Режим доступа: http://www.codeblocks.org/
-
OpenCV шаг за шагом [Электронныйресурс] – Режимдоступа: http://robocraft.ru/.
-
Информационные технологии./ Обработка цифровых сигналов, 2012. //
-
Mallat S. A theory for multiresolutional signal decomposition: the wavelet representation. IEEE Trans. Pattern Analysis and Machine Intelligence, N7, p.674-693, 1989.
-
Ватолин Д. С. Методы сжатия изображений / Москва: Интернет-Университет Информационных Технологий, 2007. - 289 с.
-
Воробьев В.И., Грибунин В.Г. Теория и практика вейвлет-преобразования. С.-Петербург, ВУС, 1999 г.
-
Гопкало, В.Н., Графский О.А. Выпускная квалификационная работа. Общие требования и правила оформления: метод. пособие. / В.Н. Гопкало, О.А. Графский – Хабаровск: изд-во ДВГУПС, 2014. – 70 с.
-
Правила оформления текстовых и графических документов: Методические указания / Т.С. Красовская. – Хабаровск: изд-во ДВГУПС, 2005. – 85 с.
-
Основы кодирования визуальной информации: практикум / учебное пособие / С.В. Сай, А.Г. Шоберг. – Хабаровск : Изд-во Тихоокеан. гос. ун-та, 2014. – 100 с.
-
Сэлмон Д. Сжатие данных, изображений и звука. М.: Техносфера, 2006. – 386 с.
-
Adrian Kaehler, Gary BradskI - Learning OpenCV. Computer Vision in C++ with the OpenCV Library.2013 – 575 c.
-
Технико-экономическое обоснование выполнения проекта: методическое пособие / С.Л. Миньков. – Томск: ТУСУР, 2014. – 30 с.
-
Misra, Reisslein, Xue - A survey of multimedia streaming in WSNs
Shakshuki, et al - Introduction to WMSNs
-
Skype [Электронный ресурс] – Режим доступа: http://www.skype.com/ru/
-
YouTube шагом [Электронный ресурс] – Режим доступа: http://www.youtube.com
-
Livingstone, Margaret (2002). "The First Stages of Processing Color and Luminance: Where and What". Vision and Art: The Biology of Seeing. New York: Harry N. Abrams. pp. 46–67. ISBN 0-8109-0406-3
-
Форсайт, Д. Компьютерное зрение. Современный подход / Д. Форсайт, Ж. Понс. – Вильямс, 2004. – 570 с.
-
http://gwyddion.net/documentation/user-guide-ru/wavelet-transform.html [Электронный ресурс] – Режим доступа: http://gwyddion.net
-
Страуструп, Б. Язык программирования C++ = The C++ ProgrammingLanguage / Пер. с англ. - Невский диалект – Бином, 1999. – 614 с.
-
Яцюк О. : Основы графического дизайна на базе компьютерных технологий БХВ-Петербург - БХВ-Петербург, 2004 - 240 с.
-
C. Douketis, Z. Wang, T. L. Haslett, M. Moskovits: Fractal character of cold-deposited silver films determined by low-temperature scanning tunneling microscopy. Physical Review B, Volume 51, Number 16, 15 April 1995, 51
-
Описание формата сжатия данных Deflate [Электронный ресурс] – Режим доступа:http://compression.ru/download/articles/lz/mihalchik_deflate_decoding. html
-
Алгоритмы архивации без потерь [Электронный ресурс] – Режим доступа: http://compression.ru/book/part2/part2__2.htm
Приложение А
(рекомендуемое)
Листинг программы
/***************************************************************
* Name: PRJ_ON_OCVMain.cpp
* Purpose: Code for Application Frame
* Author: ()
* Created: 2015-06-22
* Copyright: ()
* License:
**************************************************************/
#include "PRJ_ON_OCVMain.h"
#include <wx/msgdlg.h>
#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <math.h>
#include <vector>
//(*InternalHeaders(PRJ_ON_OCVFrame)
#include <wx/font.h>
#include <wx/intl.h>
#include <wx/string.h>
//*)
cv::Mat imageBase;
wxString path;
#define SIZE_IMAGE 200
//helper functions
enum wxbuildinfoformat {
short_f, long_f };
wxString wxbuildinfo(wxbuildinfoformat format)
{
wxString wxbuild(wxVERSION_STRING);
if (format == long_f )
{
#if defined(__WXMSW__)
wxbuild << _T("-Windows");
#elif defined(__UNIX__)
wxbuild << _T("-Linux");
#endif
#if wxUSE_UNICODE
wxbuild << _T("-Unicode build");
#else
wxbuild << _T("-ANSI build");
#endif // wxUSE_UNICODE
}
return wxbuild;
}
//(*IdInit(PRJ_ON_OCVFrame)
const long PRJ_ON_OCVFrame::ID_BUTTON1 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICBITMAP1 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICBITMAP2 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT1 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT2 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT3 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT4 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT5 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICBITMAP3 = wxNewId();
const long PRJ_ON_OCVFrame::ID_CHOICE1 = wxNewId();
const long PRJ_ON_OCVFrame::ID_BUTTON2 = wxNewId();
const long PRJ_ON_OCVFrame::ID_CHECKBOX1 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT6 = wxNewId();
const long PRJ_ON_OCVFrame::ID_BUTTON3 = wxNewId();
const long PRJ_ON_OCVFrame::ID_CHECKBOX2 = wxNewId();
const long PRJ_ON_OCVFrame::ID_RADIOBUTTON1 = wxNewId();
const long PRJ_ON_OCVFrame::ID_RADIOBUTTON2 = wxNewId();
const long PRJ_ON_OCVFrame::ID_RADIOBUTTON3 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT7 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT8 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT9 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT10 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT11 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT12 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT13 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT14 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT15 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT16 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT17 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT18 = wxNewId();
const long PRJ_ON_OCVFrame::ID_SPINCTRL1 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT19 = wxNewId();
const long PRJ_ON_OCVFrame::ID_SPINCTRL2 = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATICTEXT20 = wxNewId();
const long PRJ_ON_OCVFrame::ID_CHECKBOX3 = wxNewId();
const long PRJ_ON_OCVFrame::ID_PANEL1 = wxNewId();
const long PRJ_ON_OCVFrame::idMenuQuit = wxNewId();
const long PRJ_ON_OCVFrame::idMenuAbout = wxNewId();
const long PRJ_ON_OCVFrame::ID_STATUSBAR1 = wxNewId();
//*)
BEGIN_EVENT_TABLE(PRJ_ON_OCVFrame,wxFrame)
//(*EventTable(PRJ_ON_OCVFrame)
//*)
END_EVENT_TABLE()
PRJ_ON_OCVFrame::PRJ_ON_OCVFrame(wxWindow* parent,wxWindowID id)
{
//(*Initialize(PRJ_ON_OCVFrame)
wxMenuItem* MenuItem2;
wxMenuItem* MenuItem1;
wxMenu* Menu1;
wxMenuBar* MenuBar1;
wxMenu* Menu2;
Create(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("wxID_ANY"));
SetClientSize(wxSize(810,350));
Panel1 = new wxPanel(this, ID_PANEL1, wxPoint(264,120), wxSize(648,432), wxTAB_TRAVERSAL, _T("ID_PANEL1"));
Button1 = new wxButton(Panel1, ID_BUTTON1, _("Label"), wxPoint(8,320), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
StaticBitmap1 = new wxStaticBitmap(Panel1, ID_STATICBITMAP1, wxNullBitmap, wxPoint(8,32), wxSize(200,200), wxSIMPLE_BORDER, _T("ID_STATICBITMAP1"));
StaticBitmap2 = new wxStaticBitmap(Panel1, ID_STATICBITMAP2, wxNullBitmap, wxPoint(224,32), wxSize(200,200), wxSIMPLE_BORDER, _T("ID_STATICBITMAP2"));
StaticTextQuality = new wxStaticText(Panel1, ID_STATICTEXT1, wxEmptyString, wxPoint(736,80), wxDefaultSize, 0, _T("ID_STATICTEXT1"));
StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, wxEmptyString, wxPoint(736,96), wxDefaultSize, 0, _T("ID_STATICTEXT2"));
StaticText3 = new wxStaticText(Panel1, ID_STATICTEXT3, wxEmptyString, wxPoint(736,112), wxDefaultSize, 0, _T("ID_STATICTEXT3"));















