plik


ÿþRS-C Przetwarzanie obrazów Operacje na histogramach Darkmaster 2011-05-09 Poni|szy artykuB wprowadza podstawy MatLaba, oraz operacje na histogramach, przy wykorzystaniu tego [rodowiska. Wstp Histogram Histogram obrazu w odcieniach szaro[ci wyznaczany jest jako suma wszystkich pikseli o danej warto[ci. Algorytm wyznaczania histogramu: ·ð Ustalenie zakresu jasno[ci lub przyjcie domy[lnego dla danej liczby bitów na piksel; ·ð Okre[lenie liczby przedziaBów; ·ð Wyznaczenie szeroko[ci przedziaBów poprzez podzielnie zakresu przez ich liczb; ·ð Obliczenie liczby pikseli o warto[ciach jasno[ci nale|cych do poszczególnych przedziaBów. Operacje na histogramie: Rozciganie Rozcignicie histogramu, zmienia rozkBad jasno[ci pikseli. PrzekBada to si na zmian szeroko[ci przedziaBów. Wyrównywanie Wyrównanie histogramu ma na celu doprowadzenie do równomiernego rozBo|enia warto[ci jasno[ci w jego przedziaBach. MATLAB Program komputerowy bdcy interaktywnym [rodowiskiem do wykonywania obliczeo naukowych i in|ynierskich, oraz do tworzenia symulacji komputerowych. Operatory, funkcje i instrukcje niezbdne do wykonania wiczeD Poni|ej, opisanych zostanie kilka podstawowych elementów jzyka potrzebnych do wykonania zamieszczonych dwiczeo. Zmienne Zmienne w mat labie tworzone s wraz z pierwszym u|yciem danej nazwy, nie wymagaj podawania typów, np.: X = 10; % utworzy zmienn X i nada jej warto[ 10 Y = 1:1:20 % utworzy zmienn Y i przypisze jej wektor warto[ci od 1 do 20 z krokiem 1 Z = [1:1:3; 1:2:6] % utworzy macierz Z zawierajca 2 wiersze |1 2 3| |1 3 5| Z2 = [1 2 3; 3 4 5] % macierz 3x2 |1 2 3| |3 4 5| !!! Aby odwoBad si, do konkretnego elementu macierzy, wektora nale|y u|yd () np. Z(1, 2), nale|y tak|e pamitad ze struktury te w mat labie s numerowane od 1. Ptla for Ptla for w mat labie skBada si ze sBówka for, nastpnie nazwa zmiennej i zbiór warto[ci jakie ma przyjmowad ptle kooczy sBówko end. for i = 1:1:20 instrukcje; end If, elseif, else Instrukcja if skBada si z sBówka kluczowego a nastpnie warunku, oraz kooczy si sBówkiem end, w podanym przykBadzie, sprawdzone zostanie czy zmienna a ma warto[d wiksz od 5 je[li tak kod zostanie wykonany je[li nie pominie go. if(a > 5) instrukcje end SBówko elseif, pozwala na budowanie kaskady instrukcji, a else umo|liwia wybranie instrukcji majcych si wykonad, gdy pozostaBe warunki s nie prawidBowe. if (a > 5) instrukcje; elseif(a < 2) instrukcje; else instrukcje; end Funkcje Funkcje w mat albie skBadaj si ze sBówka function, zwracanych parametrów w nawiasach kwadratowych,  = , nazwy funkcji, oraz parametrów w nawiasach (). function [x, y] = foo (a, b c) instrukcje; end Operatory * - mno|enie macierzowe .* - mno|enie odpowiadajcych sobie elementów macierzy + - dodawanie odpowiadajcych sobie elementów macierzy - - odejmowanie odpowiadajcych sobie elementów macierzy ^ - potgowanie macierzowe (Z ^2 == Z *Z) .^ - potgowanie (Z .^2 == Z.*Z ) Funckje wbudowane, niezbdne do wykonania wiczeD [x, y] = size(macierz)  zwraca rozmiar wektora, macierzy X = imread([cie|ka)- zapisuje bitmapa w formie macierzy figure() - otwiera nowe okno bar(vec_x,vec_y)  rysuje wykres sBupkowy x = min(vec)  zwraca najmniejsz liczb w wektorze x = min(mac)  zwraca wektor najmniejszych liczb dla ka|dego wiersza macierzy, w celu zwrócenia najmniejszej liczby nale|y wywoBa 2 krotnie funkcje(x = min(min(mac)) ) x = max(vec)  zwraca najwiksz liczb w wektorze x = max(mac)  zwraca wektor najwikszych liczb dla ka|dego wiersza macierzy m = zeros(x, y)  tworzy macierz o rozmiarach x * y i wypeBnia zerami. [wiersz, kolumna] = find(warunek)  zwraca indeksy podanej macierzy, zgodne z zadanym warunkiem, np. find(X == 5) zwróci indeksy liczb równych 5 w macierzy X. x = round(w)  zaokrgla liczbe. wiczenia Plik gBówny: skrypt.m clc %czyszczenie konsoli clear %czyszczenie zmiennych close all %zamknicie wszystkich okien x = imread('02.png'); x = x(:,:,1); %wycicie kanaBu niebieskiego i %zielonego x = double(x); %funckje do napisania histogram(x, 256, 1); x1 = rozciagniecie(x); histogram(x1, 256, 1); x2 = wyrownaj(x); histogram(x2, 256, 1); wiczenie 1 Wykonanie funkcji obliczania histogramu w odcieniach szaro[ci z dowoln liczb przedziaBów (zadawan jako parametr). %przewidywana posta funkcji %zwracane parametry ilo[ przedziaBów, wektor warto[i %przyjmowane dane obraz, ilo[ przedziaBów, czy rysowa wykres function [prz, oy] = histogram(X, prz, rys) %wyznaczenie ilo[ci przedziaBów zakr = ???; %stworzenie wektora na warto[ci histogramu oy = zeros(1, prz); %pobranie rozmiaru macierzy X, do ptli for ??? %zliczenie warto[ci pikseli, mieszczcych si w danym przedziale for i = 1:prz ??? end if(rys == 1) figure(); bar(0:prz - 1, oy); end end

Wyszukiwarka

Podobne podstrony:
34 Pliki Operacje na plikach w Pascalu
operacje na plikach tekstowych
wycena operacji na rachunku
operacje na ramkach danych solucja
670 Przekwalifikowanie leasingu operacyjnego na finansowy
operacje na plikach
Kurs CorelDRAW 12 Część 4 Zaawansowane operacje na obiektach
operacje na rekordach zadania
Matlab operacje na macierzach, skrypty
operacje na rekordach
Asembler Operacje na Plikach
Operacje na plikach multimedialnych
4 Operacje na tablicach (prezentacja)
Lab Operacje na plikach
zbiory i operacje na zbiorach
Lab Operacje na plikach
operacje na plikach tekstowych zadania

więcej podobnych podstron