Program do konwersji obrazu na cig zero-jedynkowy



Podobne dokumenty
Kompresja obrazu z wykorzystaniem transformaty Karhunena-Loeve

Formaty obrazów rastrowych biblioteki PBM

ZPKSoft. Kreator dokumentów. Wstp. Przeznaczenie. Definicje

Planowanie adresacji IP dla przedsibiorstwa.

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Zadania do wykonaj przed przyst!pieniem do pracy:

Algorytmy kodowania predykcyjnego

SUPLEMENT SM-BOSS WERSJA 6.15

Podstawy Informatyki Wykład V

Instrukcja obsługi dodatku InsERT GT Smart Documents

Instrukcja obsługi programu MechKonstruktor

Język programowania PASCAL

Przedmiotowy system oceniania

Proces tworzenia programu:

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Instrukcja obsługi programu DIALux 2.6

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

dr inż. Piotr Odya dr inż. Piotr Suchomski

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

CYKL ZAJ POZNAJEMY POWER POINT

INSTYTUT TECHNIKI Zakad Elektrotechniki i Informatyki mdymek@univ.rzeszow.pl COREL PHOTO-PAINT

Program SMS4 Monitor

Projektowanie algorytmów rekurencyjnych

Programowanie i struktury danych

Windows w szeciu krokach - plan wykładu. 3. Podstawowe aplikacje i typowe działania. 3. Podstawowe aplikacje i typowe działania.

Daniel Kierepka. Kompresja obrazów za pomoc sztucznych sieci neuronowych

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Reprezentacje danych multimedialnych - grafika. 1. Terminologia 2. Obrazy czarno-białe 3. Obrazy kolorowe 4. Paleta 5.

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

Opera Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera wersja 1.1 UNIZETO TECHNOLOGIES SA

Standardy danych w tagu EPC

Laboratorium Ergonomii Politechniki Wrocławskiej (

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

TRYB PREZENTOWANIA INFORMACJI O ODJAZDACH

Informatyka 1. Przetwarzanie tekstów

Wykład 2 Składnia języka C# (cz. 1)

INSTRUKCJA OBSŁUGI PROGRAMU C-STATION

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.

LABORATORIUM TELEMONITORINGU OBIEKTÓW I AGLOMERACJI. Temat: Metody anonimizacji obrazu

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

EDYCJA TEKSTU MS WORDPAD

Bazy danych Podstawy teoretyczne

Programowanie Obiektowe

Kreator automatycznego uaktualniania firmware'u

Autor: dr inż. Katarzyna Rudnik

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji

Grafika komputerowa. Dla DSI II

Podstawy grafiki komputerowej

Przedmiotowy system oceniania

Rozdział 1. Zastosowanie komputera w życiu codziennym Rozdział 2. Elementy zestawu komputerowego...11

Podstawowe obiekty AutoCAD-a

Metody Informatyczne w Budownictwie Metoda Elementów Skoczonych ZADANIE NR 1

Program Sprzeda 2012

Przetwarzanie sygnaªów

WIZUALIZACJA DANYCH ZE STRZELA RAKIETOWYCH Z WYKORZYSTANIEM SYSTEMÓW CAx

Obsługa programu Paint. mgr Katarzyna Paliwoda

Systemy operacyjne laboratorium 3 Paweł Gmys strona 1

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

stopie szaro ci piksela ( x, y)

Autorzy opracowania (* oznacza współautorstwo):

Aby załoy nowy projekt wybieramy klikamy na napisie, nastpnie wybieramy Opcje Nowy projekt. Podajemy nazw projektu i zatwierdzamy klawiszem OK.

Rys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B)

FV Ando. Nie usuwasz danych Produkty, których ju nie sprzedajesz, nieaktywni kliencie oraz faktury mog by po prostu przeniesione do archiwum.

geometry a w przypadku istnienia notki na marginesie: 1 z 5

INFORMATYKA KLASA IV

Statyczna próba skrcania

Scenariusz lekcji. Scenariusz lekcji. opisać działanie narzędzi przybornika. korzystać z Edytora postaci programu Logomocja;

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

FORTECA DF - terminal kasowy

Mozilla Firefox PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox PL. wersja 1.1

Tworzenie aplikacji w języku Java

1. WSTP. 2. Koncepcja platformy bezpieczestwa publicznego

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

Stawiajc krzyyk w odpowiedniej wartoci mona zapisa dowolnego binarnego reprezentanta liczby dziesitnej x x x x x

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents

Autorzy: Kraków, stycze 2007 Łukasz Dziewanowski Filip Haftek (studenci AGH III roku kierunku Automatyka i Robotyka)

Mozilla Thunderbird PL

POBÓR MOCY MASZYN I URZDZE ODLEWNICZYCH

Technologie Informacyjne

Wolne oprogramowanie w zakresie tworzenia i publikacji metadanych

Z nowym bitem Zajęcia komputerowe dla szkoły podstawowej. Wymagania na poszczególne oceny szkolne dla klasy IV

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

SUPLEMENT SM-BOSS WERSJA 6.15

Instrukcja obsługi regulatora i wizualizacji pieca pokrocznego na Walcowni Drobnej P46 Strona 1 z 26

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Programowanie obiektowe

TECHNIKI MULTIMEDIALNE LABORATORIUM GIMP: Projektowanie tła

Inynieria oprogramowania Lecture XXX. Java TM cz IV: IO. Bartosz Walter

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa IV

Etap I V Gminnego Konkursu Informatycznego.

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Wstp. Warto przepływu to

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Transkrypt:

Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy, e akceptowaln wielkoci obszaru na którym mona wyrysowa wikszo znaków to ok. 10x10 pikseli. Mniejsze obrazy powoduj czasami znaczne ich zniekształcenie, co ilustruj ponisze rysunki. Rys.1. Matryce znakowe Na Rys.1. przedstawione s obrazy o wielkoci 6 x 6 px, 8 x 8 px, 10 x 10 px, 12 x 12 px w powikszeniu 1000%. Jak wida dopiero na bitmapie o wymiarze 10 x 10 px (trzecia od lewej) przedstawiony jest rozpoznawalny. Format pliku SNN Statistica Neural Networks ma moliwo wczytania danych z pliku w formacie Excel i kliku rodzajów plików tekstowych, niemoliwe jest wic korzystanie bezporednio z plików graficznych jako ródła danych. W pewnym zakresie moe posłuy nam program Excel, jeli odpowiednio

zaprojektujemy arkusz, to jest moliwe tworzenie prostych zbiorów danych. Naley jednak zaznaczy, e jeli chcemy uczy sie neuronow rozpoznawania, czy kompresji obrazu o wielkoci 10 x 10 px to pojedynczy wektor wejciowy bdzie posiadał 100 współrzdnych. Poniej, na Rys.2. po prawej przedstawiona jest litera a, natomiast po lewej przedstawiona jest ta sama litera ale w swej reprezentacji zerojedynkowej. Taki przestrzenny układ zer i jedynek musi zosta przekształcony na cig zerojedynkowy. 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 Rys.2. Sposób kodowania znaków Reprezentacja litery a po przekształceniu stanowi cig: 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 Rys.3. Reprezentacja binarna litery a Jak mona sobie wyobrazi, stworzenie takiego cigu zer i jedynek jak na Rys.2. po lewej, moe by do czasochłonne. Stworzenie typowego zbioru uczcego, o liczebnoci 70-300 elementów, stanowi moe powane ograniczenie w badaniach. Aby ułatwi przekształcanie znaków (liter) na zbiór, który mona wczyta do programu SNN, został napisany niej zaprezentowany program. Program został napisany w jzyku Delphi 7. Moliwoci programu Program przekształca obraz bitowy w cig zerojedynkowy. Mona nim równie konwertowa nie tylko bitmapy zawierajce litery, ale take proste piktogramy. Ograniczeniem jest rozpoznawalno znaku dla okrelonej matrycy. Na Rys.4. zaprezentowany jest interfejs uytkownika. Umoliwia on narysowanie znaku na matrycy o ustalonych wymiarach. Moliwe jest ustawienie kroju, pogrubienia i pochylenia czcionki. Mona te przesun obraz w pionie lub poziomie. Program pozwala take na prost edycj obrazu

klikajc na powikszonym obrazie stawiamy czarny piksel, natomiast uywajc prawego klawisza myszy wycieramy czarne piksele. Rys.4. Interfejs uytkownika W drugim oknie programu (Rys.5.) moemy edytowa zbiór wzorców. Program umoliwia zarówno zapis jak i wczytanie pliku tekstowego. Zapisany plik moe posłuy jako zbiór wzorców uczcych do programu SNN. Rys.5. Okno edycji wzorca

Kodowanie bitmapy Konwersja obrazu na cig zero-jedynkowy odbywa si poprzez sprawdzenie z wykorzystaniem instrukcji warunkowej if wszystkich pikseli, z których składa si obraz. Dla białego koloru program przyjmuje warto zero, a dla koloru czarnego warto jeden. Ponisza procedura odpowiedzialna jest za konwersj obrazu: procedure Tform1.koduj; var line: string; separator:string; x,y:integer; separator:= chr($09); line:=''; for y:=0 to wy-1 do for x:=0 to wx-1 do line:=line+konwersja_pixela(bmp_source.canvas.pixels[x,y])+separator; dane.add(line); index:=dane.count-1; Dekodowanie Drug wan procedur w programie jest ponowna konwersja, ale ju z cigu tekstowego na obraz. Tym razem jest ona przeprowadzana znak po znaku: procedure Tform2.dekoduj; var line, s, separator:: string; x,y,i,j:integer; pobierz_wartosci; separator:= chr($09); line:=''; i:=1; x:=1; y:=1; if dane.count>0 then memo1.clear; memo1.lines.add(dane[index]); s:=dane[index]; while i<= length(s) do if s[i] <> chr($09) then if s[i] = '1' then image1.canvas.pixels[x,y] := clblack else image1.canvas.pixels[x,y] := clwhite; inc(x); if x > form2wx then x:=1; inc(y);

inc(i); Podsumowanie Kierunek rozwoju programu na pewno jest zwizany z badaniami nad rozpoznawaniem znaków czy ich kompresj. W obecnym kształcie program pracuje na obrazach dwukolorowych czarno-białych. Naturalnym kierunkiem rozwoju programu, moe by modyfikacja istniejcych procedur, tak aby moliwa była praca nad kolorowymi obrazami. Aktualnie program kodujc dwa kolory uywa dwóch wartoci do ich reprezentacji: zera dla koloru białego i jedynki dla koloru czarnego. Sieci neuronowe mog uczy si równie na wartociach z przedziału od zera do jeden, te wartoci mona wykorzysta to zakodowania odcieni szaroci, bd barwy (Hue). Innym niezwykle ciekawym kierunkiem rozwoju moe by rozszerzenie programu o kodowanie obrazów w przestrzeni wielowymiarowej. Literatura 1. Tomasz Bajorek, Zbigniew Omiotek, Borland Delphi. Podstawy programowania obiektowego. wiczenia laboratoryjne, Wyd. Wysza Szkoła Zarzdzania i Administracji, Zamo 2002 2. Adam Boduch, Delphi 7, Kompendium programisty 2003 Helion 3. Ray Lischner, Delphi. Almanach, 2002 4. Jan Biernat, Delphi 7 t.1, MIKOM, Rok wydania: 200 5. Krzysztof Walczak, Anna Strudziska-Walczak, Nauka programowania w systemie Delphi W&W, 2002