Komputerowe przetwarzanie obrazu Laboratorium 5



Podobne dokumenty
Diagnostyka obrazowa

Diagnostyka obrazowa

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Laboratorium Cyfrowego Przetwarzania Obrazów

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

9. OBRAZY i FILTRY BINARNE 9.1 Erozja, dylatacja, zamykanie, otwieranie

3. OPERACJE BEZKONTEKSTOWE

Komputerowe obrazowanie medyczne

Proste metody przetwarzania obrazu

Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych

Laboratorium Cyfrowego Przetwarzania Obrazów

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Analiza obrazu. wykład 3. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

ALGORYTMY PRZETWARZANIA OBRAZÓW Projekt. Aplikacja przetwarzająca obrazy z możliwością eksportu i importu do programu MS Excel.

1. Operacje logiczne A B A OR B

Operacje przetwarzania obrazów monochromatycznych

Zbigniew Sołtys - Komputerowa Analiza Obrazu Mikroskopowego 2016 część 7

Przekształcenia punktowe

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Arytmetyka komputerów

Przetwarzanie obrazów wykład 4

Przetwarzanie obrazów wykład 2

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Filtracja obrazu operacje kontekstowe

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Filtracja obrazu operacje kontekstowe

Obraz jako funkcja Przekształcenia geometryczne

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 3 AiR III

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Diagnostyka obrazowa

Operator rozciągania. Obliczyć obraz q i jego histogram dla p 1 =4, p 2 =8; Operator redukcji poziomów szarości

Wstęp do programowania

Raport. Bartosz Paprzycki UMK 2009/2010

Przetwarzanie obrazu

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Kod U2 Opracował: Andrzej Nowak

Gimp Grafika rastrowa (konwersatorium)

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Stan wysoki (H) i stan niski (L)

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

Diagnostyka obrazowa

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

PIPP

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

15. Macierze. Definicja Macierzy. Definicja Delty Kroneckera. Definicja Macierzy Kwadratowej. Definicja Macierzy Jednostkowej

Projektowanie Urządzeń Cyfrowych

SG-MICRO... SPRĘŻYNY GAZOWE P.103

Wykonawca: PIOTR DOMALEWSKI. Termin oddania sprawozdania: 30.08

WYKŁAD 3. Przykłady zmian w obrazie po zastosowaniu Uniwersalnego Operatora Punktowego

Rozwiązywanie problemów z użyciem Solvera programu Excel

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Autor: Joanna Karwowska

Komputerowa analiza obrazu Laboratorium 4

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Przetwarzanie obrazów wykład 7. Adam Wojciechowski

Podkłady pod stopy podpór i pojemniki na podkłady Stabilizer blocks and box for blocks storage

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Metody komputerowego przekształcania obrazów

Aplikacja sieciowa kalkulatora macierzowego zadanie za 10 punktów

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Ekoenergetyka Matematyka 1. Wykład 3.

Technologie Informacyjne Wykład 4

L6.1 Systemy liczenia stosowane w informatyce

Geoinformacja - Interpretacja danych teledetekcyjnych. Ćwiczenie I

Diagnostyka obrazowa

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Diagnostyka obrazowa

STAŁE TRASY LOTNICTWA WOJSKOWEGO (MRT) MILITARY ROUTES (MRT)

3. Macierze i Układy Równań Liniowych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Adam Korzeniewski p Katedra Systemów Multimedialnych

Układy kombinacyjne 1

AiSD zadanie trzecie

Diagnostyka obrazowa

Grafika komputerowa. Zajęcia IX

GIS w nauce. Poznań Analiza obiektowa (GEOBIA) obrazów teledetekcyjnych pod kątem detekcji przemian środowiska. mgr inż.

Wstęp do Programowania Lista 1

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

dr inż. Tomasz Krzeszowski

dr in. Artur Bernat, KMP, WM., PKos., wykład wstpny (rodowisko Matlab), strona: 1

Przetwarzanie sygnałów

Kiedy i czy konieczne?

Nazwa kwalifikacji: Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami Oznaczenie kwalifikacji: E.14 Numer zadania: 01

Systemy zapisu liczb.

Jacek Szlachciak. Urządzenia wirtualne systemu wieloparametrycznego

Antyaliasing w 1 milisekundę. Krzysztof Kluczek

Arytmetyka liczb binarnych

Mikrooperacje. Mikrooperacje arytmetyczne




Elementy analizy obrazu. W04

Wstęp do programowania

Transkrypt:

Komputerowe przetwarzanie obrazu Laboratorium 5 Przykład 1 Histogram obrazu a dobór progu binaryzacji. Na podstawie charakterystyki histogramu wybrano dwa różne progi binaryzacji (120 oraz 180). Proszę ocenić rezultaty wykonanych operacji. L1=imread('portret.jpg') imshow(l1) set(gcf,'color',([1 1 1])); grid; imhist(l1); ylabel('ilość pikseli', 'FontSize',15,'FontName','Arial CE') L2a=L1>120; imshow(l2a); L2b=L1>180; imshow(l2b) Przykład 2 Wyznaczenie progu za pomocą algorytmu Otsu. L1=imread('portret.jpg') imshow(l1) set(gcf,'color',([1 1 1])); grid; imhist(l1); ylabel('ilość pikseli', 'FontSize',15,'FontName','Arial CE') level = graythresh(l1); L2 = im2bw(l1,level); imshow(l2) GRAYTHRESH Compute global image threshold using Otsu's method. LEVEL = GRAYTHRESH(I) computes a global threshold (LEVEL) that can be used to convert an intensity image to a binary image with IM2BW. LEVEL is a normalized intensity value that lies in the range [0, 1]. GRAYTHRESH uses Otsu's method, which chooses the threshold to minimize the intraclass variance of the thresholded black and white pixels. Zadanie 1 Proszę wybrać dowolny obraz i na podstawie analizy histogramu spróbować dobrać optymalny próg binaryzacji. Czy dla każdego obrazu jest to możliwe? Następnie dobrać próg przy zastosowaniu algorytmu Otsu. Zadanie 2 Na podstawie analizy histogramu obrazu "cells1.bmp" proszę spróbować wybrać dwa progi (górny i dolny) tak, aby wyróżnić kontury komórek. Ćwiczenie należy wykonać metodą "prób i błędów". Przykład 3 Dodawanie dwóch obrazów monochromatycznych o takiej samej rozdzielczości [L1a,map1a] = imread('gory.bmp'); imshow(l1a,map1a); imshow(ind2gray(l1a,map1a)); L1a=double(ind2gray(L1a,map1a))/255;

imshow(l1b,map1b) imshow(ind2gray(l1b,map1b)); L1b=double(ind2gray(L1b,map1b))/255; L2a=L1a+L1b; imshow(mat2gray(l2a)) MAT2GRAY Convert matrix to intensity image. I = MAT2GRAY(A,[AMIN AMAX]) converts the matrix A to the intensity image I. The returned matrix I contains values in the range 0.0 (black) to 1.0 (full intensity or white). AMIN and AMAX are the values in A that correspond to 0.0 and 1.0 in I. Values less than AMIN become 0.0, and values greater than AMAX become 1.0. I = MAT2GRAY(A) sets the values of AMIN and AMAX to the minimum and maximum values in A. Przykład 4 Dodawanie dwóch obrazów o różnej rozdzielczości: L1a=L1a(201:650,101:700); %wycięcie odpowiedniego fragmentu obrazu imshow(l1b) L2a=L1a+L1b; imshow(mat2gray(l2a)) Uwaga: Jeżeli obrazy różnią się rozmiarami, należy z większego obrazu wyciąć odpowiedni fragment. Przykład 5 Mieszanie obrazów z różną wagą: L1a=L1a(201:650,101:700); imshow(l1b) L2a=imlincomb(0.3,L1a,0.7,L1b); % suma wag dodawanych obrazów musi być równa 1 imshow(l2a) Mieszanie dwóch obrazów z różną wagą (wagi zmieniają się co 1 sekundę: L1a=L1a(201:650,101:700); for i=0:0.05:1 L2=imlincomb(i,L1a,1-i,L1b);

imshow(l2); title(['l1a',mat2str(i*100),'%',' + L1b',mat2str((1- i)*100),'%']); pause(1) end Przykład 6 Funkcja "imadd" pozwala dodać stałą wartość do obrazu lub dodać dwa obrazy do siebie. Dodawanie wartości 80 do obrazu: L1 = imread('portret.jpg'); imshow(l1); L2 = imadd(l1,80); Zadanie 3 Proszę dodać dwa dowolne obrazy za pomocą funkcji "imadd", pamiętając o warunku zgodności wymiarów macierzy. Przykład 7 Odejmowanie dwóch obrazów monochromatycznych (obraz ukryty): L1a=L1a(201:650,101:700)>128; L1c=0.05*double(L1a)/255+0.95*double(L1b)/255; imshow(l1c); L2=mat2gray(L1c-0.95*double(L1b)/255); Zadanie 4 Proszę wykonać odejmowanie dwóch obrazów przy użyciu funkcji "imabsdiff". Następnie zmienić kolejność obrazów źródłowych i zaobserwować czy jest różnica w obrazie wynikowym. Zadanie 5 Proszę wypróbować odejmowanie dwóch obrazów przy użyciu funkcji "imsubtract". Czy zmiana kolejności obrazów źródłowych pociąga za sobą różnicę w obrazie wynikowym? Przykład 8 Mnożenie i dzielenie różnych obrazów ma niewielkie zastosowanie praktyczne. Operacje tego typu mogą być przydatne do odfiltrowywania zbędnej informacji (np: szumu). W fotografii krajobrazowej dalsze plany tracą wyrazistość ze względu na mgłę, która jest widoczna w kanale niebieskim. Mnożenie kanałów zielonego i czerwonego (za pomocą funkcji "immultiply") pozwoli na wyodrębnienie zieleni. L1r=double(L1(:,:,1))/255; imshow(l1r); L1g=double(L1(:,:,2))/255; imshow(l1g); L1b=double(L1(:,:,3))/255; L2=immultiply(L1g,L1r);

imshow(l2,[]); Zadanie 6 Proszę zastosować dzielenie kanału zielonego przez niebieski za pomocą funkcji "imdivide". Przykład 9 Wyznaczanie minimum i maksimum z dwóch obrazów dla każdego z pikseli w odpowiadającym sobie położeniu: L1r=double(L1(:,:,1))/255; imshow(l1r); L1g=double(L1(:,:,2))/255; imshow(l1g); L1b=double(L1(:,:,3))/255; L2a=max(L1g,L1b); L2b=min(L1g,L1b); imshow(l2a); imshow(l2b); Przykład 10 Operacja logiczna NOT dla obrazu binarnego oraz monochromatycznego: L1a=L1>0.5; L2a=~(L1a); imshow(l2a); imshow(bitcmp(uint8(l1*255),8)); Dopełnienie obrazu uzyskane przy zastosowaniu funkcji "imcomplement": imshow(l1); L2=imcomplement(L1); imshow(l2); Sposób 3 Identyczny obraz wynikowy uzyskany przez odwrócenie palety "Grayscale": ('Color', 'w'); imshow(l1); colormap(gray(256)); colorbar; ('Color', 'w'); imshow(l1); colormap(flipud(gray(256))); colorbar;

Przykład 11 Iloczyn logiczny obrazów binarnych: L1a=imread('wykr_10.tif'); imshow(l1a); L1b=imread('wykr_14.tif'); L2=L1a&L1b; L1a=imread('wykr_10.tif'); imshow(l1a); L1b=imread('wykr_14.tif'); L2=bitand(L1a,L1b); Zadanie 7 Bazując na powyższym przykładzie proszę wykonać operacje OR, XOR, SUB. Przykład 12 Iloczyn logiczny obrazów monochromatycznych: L1r=L1(:,:,1); imshow(l1r); L1g=L1(:,:,2); imshow(l1g); L1b=L1(:,:,3); L2=bitand(L1r,L1g);