Tekstuurisüntees rastergraafikaredaktorile GIMP

Date

2013

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Töö eesmärk oli realiseerida tekstuurisünteesi algoritm rastergraafikaredaktorile GIMP. Tekstuur on muster, mis kantakse 3D graafikas detailide lisamiseks mingi objekti pinnale. Nende loomine nõuab kunstnikult oskusi ja palju aega. Tekstuurisüntees võimaldab kasutaja poolt etteantud pildi põhjal genereerida suvaliste mõõtmetega tekstuure. Tekstuurisünteesi on võimalik kasutada ka mitmede muude ülesannete täitmiseks, näiteks pildilt objektide automaatselt eemaldamiseks või objektide liigutamiseks. GIMP on rastergraafikaredaktor, mida kasutatakse fotode töötlemiseks, digitaalmaalimiseks, kasutajaliideste graafiliste elementide disainimiseks jms jaoks. Töö alguses on toodud ülevaade tekstuurisünteesi teaduskirjanduse harudest. Seejärel on kirjeldatud töö käigus loodud lahenduses kasutatud algoritme. Lähtuti tekstuuri optimeerimise algoritmist, mis loob tekstuuri esialgse lähendi ja muudab seda iteratiivselt lähtepildile sarnasemaks. Kuna tekstuuri optimeerimine on aeglane kasutati veel mitut algoritmi jõudluse parandamiseks. Pärast kasutatud algoritme on kirjeldatud loodud realisatsiooni ja võrreldud seda olemasolevate GIMPi tekstuurisünteesi pistikprogrammidega. Kuigi lahenduse väljund on hea kvaliteediga, jääb see kiiruses varasematele pistikprogrammidele alla. Erinevalt olemasolevatest pistikprogrammidest saavad töös loodud lahendust kasutada teised programmid, see töötab ka järgmiste GIMPi versioonidega ning see kasutab suurema bitisügavusega värviruumi, mis võimaldab defektideta pilte töödelda. Töö lõpus on välja toodud mitmeid võimalusi lahenduse kvaliteedi ja jõudluse parandamiseks.
The goal of this thesis was to implement a texture synthesis algorithm for the raster graphics editor GIMP. In 3D graphics, textures are patterns that are mapped onto surfaces of objects to add detail. Creating textures requires skill and time. Texture synthesis algorithms can generate textures of arbitrary size from user supplied exemplars. Texture synthesis can be used outside of 3D graphics for many tasks like moving objects in images or covering unwanted objects. GIMP is a raster graphics editor that's used for photo manipulation, digital painting, designing graphical elements for user interfaces and more. The thesis starts with an overview of texture synthesis research. After that the algorithms used in the implementation are described. The main algoritm used is texture optimization which starts with an initial estimation of the texture and then iteratively updates it to make it similar to the user supplied input. Because it is very slow multiple other algorithms were used to improve performance. A description of the implementation and comparison to existing GIMP texture synthesis plug-ins follows. The quality of the the generated textures is good but it's a lot slower than existing plug-ins. Unlike existing plug-ins it will work with future versions of GIMP, it can be used in other programs and it uses a high bit-depth colour space which doesn't create defects when processing images. In the end of the thesis, ways to improve quality and performance are suggested.

Description

Keywords

Citation