Розробка програми для масштабувания зображення

Автор: Пользователь скрыл имя, 26 Февраля 2013 в 20:51, дипломная работа

Описание работы

Комп’ютерна графіка — це двовимірні зображення, які створюються, перетворюються, оцифровуються, обробляються і відображаються засобами обчислювальної техніки, включаючи апаратні і програмні засоби. Рухома комп'ютерна графіка називається комп’ютерним відео або комп’ютерною анімацією.

Содержание

ВСТУП……………………………………………………………...……………5
РОЗДІЛ 1 ТЕОРЕТИЧНА ЧАСТИНА ………………………………………...6
1.1 Комп'ютерна графіка……………………………………….….6
1.2 Растрова графіка……………………………………………….7
1.3 Векторна графіка………………………………….………….13
1.4 Формати графічних файлів …………………………………17
1.5 Алгоритми масштабування………………………………….18
1.5.1 EPX/Scale2x/AdvMAME2x…………………...……..21
1.5.2 Eagle Eagle………………………….……………..….22
1.5.3 2xSaI…………………………….………………….…23
1.5.4 Сімейство hqnx………………………………………23
1.5.5 Алгоритм в Паскалі………………………………….24
1.5.6 Алгоритм Копф-Ліщинський……………………….24
1.5.7 Застосування в емуляторах ігрових приставок……24
РОЗДІЛ 2 ПРАКТИЧНА ЧАСТИНА…………………………………………26
2.1 Програма в роботі………………………………………….…26
ВИСНОВКИ........................................................................................................33
ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ………………………………...……34
ДОДАТОК…………………………

Работа содержит 1 файл

Ministerstvo_obrazovania_Ukrainy000.doc

— 1.82 Мб (Скачать)

Масштабування растрових зображень - при збільшенні растрового зображення, можна спостерігати пікселізацію, тобто при масштабуванні збільшується розмір точок і стають помітними елементи растра.

Для усунення цього, потрібно заздалегідь оцифрувати оригінал із роздільністю, достатньої для якісного відтворення при масштабуванні. Або, при масштабуванні застосовують метод інтерполяції, коли при збільшенні зображення, додається необхідне число проміжкових точок.

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

Найпопулярнішими прикладними програмами є продукти фірм:

Adobe — PhotoShop

Corel — PhotoPaint

Macromedia — FireWorks

Fractal Design — Painter

стандартний додаток  у Windows — PaintBrush.

Програми растрової  графіки можуть використовувати:

  • художники-ілюстратори;
  • художники-мультиплікатори;
  • художники-дизайнери;
  • фотографи та ретушери;
  • поліграфісти;
  • web-дизайнери;
  • будь-яка людина — вільний художник, із масою творчих ідей та потенціалу.

 

Переваги растрової  графіки:

  • простота автоматизованого вводу (оцифрування) зображень, фотографій, слайдів, рисунків за допомогою сканерів, відеокамер, цифрових фотоапаратів;
  • фотореалістичність. Можна отримувати різні ефекти, такі як туман, розмитість, тонко регулювати кольори, створювати глибину предметів.

 

Недоліки растрової  графіки:

  • складність управління окремими фрагментами зображення. Потрібно самостійно виділяти ділянку, що є складним процесом;
  • растрове зображення має певну роздільність і глибину представлення кольорів. Ці параметри можна змінювати лише у визначених межах і, як правило, із втратою якості;
  • розмір файлу є пропорційним до площі зображення, роздільності і типу зображення, і, переважно, при хорошій якості є великим.

Растровий графічний редактор — спеціалізована програма для створення і обробки растрових зображень. Ці програмні продукти знайшли широке застосування в роботі художників-ілюстраторів, при підготовці зображень до друку або на фотопапері, публікації в інтернеті.

Растрові графічні редактори  дозволяють користувачеві створювати і редагувати зображення на екрані комп'ютера (серед звичних інструментів — декілька типів ліній, стирання, копіювання об'єктів, додавання тексту, заповнення кольору фону…), а також зберігати їх в різних растрових форматах.

Формати збереження зображень  поділяються на такі, що дозволяють зберігати растрову графіку з незначним зниженням якості за рахунок використання алгоритмів стиснення з втратами (JPEG, PNG, GIF і TIFF), та такі , що також підтримують стиснення (RLE), але загалом є «попіксельним» описом зображення (BMP). На противагу векторним редакторам, растрові використовують для утворення зображень матрицю крапок (bitmap). При цьому, більшість сучасних растрових редакторів містять векторні інструменти редагування як допоміжні.

 

 

 

Найвідоміші растрові редактори:

  • Adobe Photoshop — найпопулярніший комерційний редактор
  • Adobe Fireworks
  • Corel Photo-Paint
  • Corel Painter
  • GIMP — найпопулярніший вільний редактор
  • Microsoft Paint
  • Microsoft Photo Editor
  • Krita
  • Tux Paint — орієнтований на дітей від 3-х років
  • Paint.NET

 

    1.  Векторна графіка

 

Векторна графіка - це створення зображення з сукупності геометричних примітивів (точок, ліній, кривих, плям), тобто об’єктів, які можна описати математичним рівнянням. На відміну від растрової графіки, яка подає зображення як набір пікселів (точок). Людське око працює як растрова картинка: воно захоплює зображення хаотичних фотонів нервовими рецепторами, як растрове зображення. Але мозок  — зберігає його як векторне зображення. Це пояснює чому люди можуть розпізнавати прості малюнки. Це також використовується як пояснення того факту що логотипи та знаки(символи) з простими та геометричними формами більш легко запам'ятовуються та впізнаються.

Основний елемент зображення — лінія.

Лінія - елементарний об'єкт  векторної графіки. Будь-який складний об'єкт можна розкласти на лінії, прямі або криві. Тому часто векторну графіку називають об'єктно-орієнтованою.

 

Властивості лінії :

  • Форма
  • Товщина
  • Колір
  • Стиль (пунктир, суцільна)

Замкнуті лінії мають  властивість заповнення - кольором, текстурою, візерунком і т.п. Кожна незамкнута лінія має 2 вершини, звані вузлами. За допомогою вузлів можна з'єднувати лінії між собою.

На початку комп'ютерної епохи  в 1950 році а також в 1980, використовувались  різні типи відображення векторної графічної системи. В цих системах електронне ядро КПТ монітора направлялась прямо щоб намітити необхідну форму, лінійний сегмент як лінійний сегмент, залишок екрану при цьому відображається чорним.

Цей процес повторювався багато разів  на секунду щоб уникнути блимання картинки. Ця система дозволяє відображати лінійне зображення з дуже високою роздільною здатністю, і переміщати зображення, які є показані без (на цей часу) немислимо величезної кількості пам'яті, яка була б потрібна системі растрово-еквівалентного рішення. Ці засновані на векторі монітори були також відомі як X-Y displays.

 

 

Рис. 1 – Оригінальна фотографія, JPEG растрового зображення

 

 

Рис. 2 – Steam Locomotive 7646 як векторне зображення, спочатку Windows Metafile

 

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

До них відносяться графічні пристрої, а також деякі типи лазерних проекторів. Термін векторна графіка використовується в основному в контексті двомірної комп'ютерної графіки.

Переваги векторної графіки над растровою графікою:

  • Мінімальна кількість інформації передається набагато меншому розміру файлу (розмір не залежить від величини об'єкта).
  • Відповідно, можна нескінченно збільшити, наприклад, дугу кола, і вона залишиться гладкою. З іншого боку, полігон, що представляє криву, покаже, що вона насправді не крива.
  • При збільшенні або зменшенні об'єктів товщина ліній може бути постійною.Параметри об'єктів зберігаються і можуть бути змінені. Це означає, що переміщення, масштабування, обертання, заповнення і так далі не погіршать якості малюнка.

Фундаментальні недоліки векторної графіки:

  • Не кожен об'єкт може бути легко зображений у векторному вигляді - для подібного оригінальному зображенню може знадобитися дуже велика кількість об'єктів і їх складності, що негативно впливає на кількість пам'яті, займаної зображенням, і на час для його відображення (відтворення).

  • Переклад векторної графіки в растр досить простий. Але дороги назад, як правило, немає - трасування растра, при тому що вимагає значних обчислювальних потужностей і часу, не завжди забезпечує високу якість векторного малюнка.

  • Перевага векторної картинки - масштабованість - пропадає, коли починаємо мати справу з особливо малими дозволами графіки (наприклад, іконки 32 × 32 або 16 × 16). Щоб не було «бруду», картинку під такі дозволи доводиться підганяти вручну.

Типові примітивні об'єкти:

  • Лінії і ламані лінії.
  • Багатокутники.
  • кола та еліпси.
  • криві Безьє.
  • Безігони.
  • Текст (у комп'ютерних шрифтах, таких як Truetype, кожна буква створюється з кривих Безьє).

Векторна графіка ідеальна для простих або складених  малюнків, які мають бути апаратно-незалежними або не потребують фото-реалізму.

Наприклад, Postscript і PDF використовують модель векторної графіки.

Програми векторної графіки:

  • Adobe Illustrator.
  • Corel Draw.

Англійська компанія Xara Limited відкрила вихідні тексти своєї комерційної програми Xara Xtreame організувавши проект Xara LX який має за мету перенести свою програму на інші апаратні та операційні платформи.

Програми з відкритим програмним кодом:

  • Xara Xtreame.
  • Inkscape.
  • Sodipodi.

 

    1.  Формати графічних файлів

 

Графічні формати файлів і даних призначені для зберігання зображень. Графічні формати поділяться на векторні і растрові. Способи форматування задають структуру даних і відрізняються один від одного.

Для того, щоб комп'ютери  і програми могли читати і обробляти  дані, структури файлів повинні відповідати певним правилам. Поширені формати на етапі додрукарської обробки видання: TIFF, EPS і PDF.

 

            Растрові формати:

  • APNG
  • BMP
  • ECW
  • DRG
  • GIF
  • JPEG 2000
  • MNG
  • PCX

 

           Векторні формати:

  • Scalable Vector Graphics (SVG і 5SVGZ)
  • Encapsulated PostScript (EPS)
  • Метафайли Windows: WMF, EMF
  • Файли CorelDraw: CDR, CMX

1.5 Алгоритми масштабування

 

Існують два  стандартних алгоритму масштабування зображень, білінейна і бікубічеська інтерполяція. Оскільки колірні значення пікселів зазвичай обчислюються шляхом інтерполяції чотирьох сусідніх, зображення на виході виходить розмитим. Хоча це прийнятно для повнокольорових зображень, застосування інтерполяції веде до зниження контрастності (різкості на кордонах), і тому даний метод дає погані результати на зображеннях з індексованої палітрою.

Метод найближчого  сусіда зберігає різкі кордону, але  привносить в зображення ступінчастість (зокрема, діагональні лінії нагадують  «драбинку» з квадратів). Таким чином, ідеальний алгоритм для збільшення піксельної графіки повинен інтерполювати області безперервного тону, зберігати чіткість для горизонтальних і вертикальних ліній і згладжувати (із застосуванням антиалиасинга) діагональні лінії і криві. Було зроблено кілька спроб вирішення цього завдання.

Ефективність:

Оскільки основна область застосування даних алгоритмів - це емулятори старих консольних і DOS'овскій ігор, багато хто з них розраховані на висновок динамічно змінюється зображення в реальному часі (при досить малому дозволі картинки на вході).

Багато алгоритми працюють тільки при збільшенні в ціле число разів: 2x, 3x і 4x.

Масштабування є однією з задач комп’ютерної графіки. Воно може використовуватися в системах прийняття рішень як попередній етап виділення контурів. За рахунок масштабування можливе досягнення згладжування контурів для полегшення їх знаходження.

Найбільш простий, а разом з тим і найбільш наочний з них полягає в  наступному: до вихідного зображення застосовується алгоритм масштабування (зазвичай - зменшення), а потім застосовується зворотне масштабування, що повертає його в початковий розмір (відповідно - збільшення). Потім порівнюються вихідне зображення і модифіковане, і проводиться порівняння за декількома характеристиками.

Информация о работе Розробка програми для масштабувания зображення