Instrukcje Laboratoryjne Metody cyfrowego przetwarzania informacji multimedialnej 23/4
Laboratorium Treści programowe: Wprowadzenie w problematykę laboratorium, przedstawienie celów, treści programowych i wykazu literatury. Sprecyzowanie form zaliczenia. Wprowadzenie do programowania. Zapoznanie z podstawowymi funkcjami programu, i środowiskiem programowania. A=zeros(3,5) % zdefiniowanie macierzy o elementach zerowych B=rand(5,5) %macierz o losowych wyrazach (rozkład jednostajny) B' %transponowanie macierzy Inv(B) %odwracanie macierzy sum(b) % suma kolumn sum(b') %suma wierszy Wprowadź do Matlaba następujące macierze: a) kwadrat magiczny o wymiarach 5 na 5. b) macierz jednostkową o wymiarach 5 na 5. c) macierz 2 na 3 o wyrazach losowych d) macierz 3 na 2 złoŝoną z zer e) a=[2 2 4 5] f) tabliczkę mnoŝenia 2 na 2. %To jest program liczący iloczyn dwóch macierzy A=input('Wprowadz macierz A: ') % Pobranie wartosci macierzy A postać [ 2 3; 2 3;] B=input('Wprowadz macierz B: ') % Pobranie wartosci macierzy B itp. [i,j]=size(a) % rozmiar macierzy A przedstawiony w postaci kolumn i wierszy [j2,k]=size(b) % rozmiar macierzy B przedstawiony w postaci kolumn i wierszy if j==j2 % sprawdzanie jesli liczba kolumn macierzy A taka sama jak liczba wierszy macierzy B C=zeros(i,k) % macierz zer w celu utworzenia tablicy for x=:i % dzialanie wzdluz kolumny for z=:k % dzialanie wzdluz wiersza for y=:j C(x,z)=C(x,z)+A(x,y)*B(y,z) end end end disp(c) else disp('nie moge obliczyc iloczynu!') % jesli nie będzie spełniony warunek to wyświetli sie komunikat end
Oczekiwane efekty po realizacji ćwiczenia Sprawozdanie Pytania, zadania Studenci po realizacji ćwiczenia laboratoryjnego potrafią wykonać proste obliczenia macierzowe.. Opis kolejności wykonywanych czynności wraz z zastosowanymi przykładami. 2. Opis własnoręcznie wykonanego programu. 3. Wnioski końcowe.. Wykonać co najmniej 4 z wymienionych zadań. 2. Wymienić co najmniej 4 i opisać róŝne typy macierzy (np. symetryczna, jednostkowa itp.) 3. Wymienić co najmniej 4 i opisać róŝne operacje na macierzach.
Laboratorium 2 Treści programowe: Grafika 2D i 3D hierarchia obiektów graficznych w Matlabie. Tworzenie prostych dwuwymiarowych wykresów funkcji. Zapoznanie z podstawowymi funkcjami przydatnymi podczas tworzenia wykresów dwuwymiarowych. axis([xmin, xmax, ymin, ymax]) - umoŝliwia zmianę zakresów osi grid - dodaje siatkę współrzędnych do wykresu clf - czyszczenie okna graficznego close - zamyka bieŝące okno graficzne figure - utworzenie nowego okna graficznego hold(on/off) - umoŝliwia dodanie kolejnych krzywych do wykresu bez kasowania poprzednich linspace(pocz,koniec,ile) - tworzy wektor o 'ile' elementach, którego pierwszy element to 'pocz', ostatni to 'koniec', a pozostałe są rozłoŝone równomiernie. Narysować za pomocą Matlaba róŝne funkcje z uwzględnieniem ich opisu i zachowaniem róŝnych stylów linii np.: k =, a = 3.5 -.5 exp(-x/k) exp(-x/k).*sin(a*x) -exp(-x/k) - 5 5 2 25 3 %To jest program do rysowania funkcji y=sin(x) x = -pi:.2: pi; plot(x,sin(x),'b-'); %nieb. ciągła bez markera hold on; plot(x,sin(x-pi/6),'rs'); %czerwona same markery "square", nie będą połączone plot(x,sin(x-2*pi/6),'ko:'); %czarna, markery "kółko", linia kropkowana legend('styl: b-','styl: rs','styl: ko.',4); hold off;.8.6.4.2 -.2 -.4 -.6 -.8 styl: b- styl: rs styl: ko. - -4-3 -2-2 3 4
Laboratorium 3 Treści programowe: Pozyskiwanie danych, operacje na plikach z danymi. Zapoznanie z podstawowymi funkcjami słuŝącymi do pozyskiwania danych oraz wykonywanie operacji na plikach z danymi. num = xlsread('c:\dane\eur.xls'); %wczytywanie z pominięciem pierwszego wiersza kolumna=num(:,4); %wczytanie kolumny; num = xlsread('eur.xls', 'C2:C'); %zakresu danych M = csvread('wig2.txt',,); %odczyt pliku CSV zaczynając od kol. I wiersza; data=m(:,); datestr(data()) %rozwiązywanie problemu z datą save dane.txt A ascii %zapis macierzy A do pliku dane.txt w trybie tekstowym save dane.dta A % zapis w trybie binarnym save dane A %zapis macierzy A jako plik dane.mat % moŝliwość odczytu przez program save dane %zapis wszystkich danych z przestrzeni roboczej do pliku dane.mat load dane.txt %analogicznie odczyt Zapisać i odczytać za pomocą Matlaba róŝne dane z plików *.xls, *.csv,*.txt,*.mat,*.dat.: %To jest program do zapisu danych data=input('podaj dowolna liczbe calkowita z przedzialu [-]: '); datastr=num2str(data); save('datastr.txt', 'datastr','-ascii') load datastr.txt disp('odczytano dane txt: '); datastr savefile = 'pqfile.mat'; p = rand(, data); q = ones(data); save(savefile, 'p', 'q') save('pqfile.txt', 'p', 'q', '-ASCII') load pqfile.txt disp('odczytano dane txt: '); pqfile load pqfile.mat disp('odczytano dane mat: '); pqfile figure () plot(p(:data)); saveas(figure(),'wykres','jpg');
Laboratorium 4 Treści programowe: Specjalne funkcje do tworzenia wykresów dwuwymiarowych. Zapoznanie z podstawowymi funkcjami przydatnymi podczas tworzenia wykresów dwuwymiarowych. loglog - wtedy obie osie są skalowane logarytmicznie semilogx - tylko oś x jest skalowana logarytmicznie semilogy - tylko oś y jest skalowana logarytmicznie comet - sekwencyjne rysowanie wykresu - animacja bar - wykres słupkowy stairs - wykres schodkowy hist - utworzenie histogramu rose - histogram kołowy fill - kreślenie krzywej z wypełnieniem pod nią subplot(a,b,c) - okno graficzne będzie traktowane jako tablica składająca się z "a" wierszy i "b" kolumn oraz aktywnym polem "c" Narysować za pomocą Matlaba róŝne funkcje z uwzględnieniem ich opisu i zachowaniem róŝnych stylów wykresów np.: 5-5 5-5 exp(-x/25)*sin(4*x)*cos(x) - 2 4 6 8 2-5 - 5-5 %To jest program do rysowania funkcji i ilustracja działania funkcji subplot x = input('podaj liczbę wierszy i kolumn w postaci wektora ([n m])np.[2 2]: '); clf; for k = : prod(x); subplot(x(),x(2),k); if rem(k,2)== ezplot('exp(-x/2)'); end; title(strcat('wykres nr ',num2str(k))); end; Wykres nr.4 Wykres nr2.2.5.8.5 Wykres nr3-5 5 x Wykres nr4.4.2.5.8.5-5 5 x
Laboratorium 5 Treści programowe: Tworzenie wykresów trójwymiarowych. Zapoznanie z podstawowymi funkcjami przydatnymi podczas tworzenia wykresów trójmiarowych. x = linspace(-pi,pi,7)%równomierne rozłoŝenie 7 punktów w zadanym przedziale<-pi,pi> fplot(fun,[x x2])%przygotowuje wektory x i y do narysowania wykresu funkcji opisanej przez fun; fun jest łańcuchem znaków zawierającym nazwę funkcji, zaś x i x2 to granice przedziału argumentów funkcji loglog(x,y,s); semilogx(x,y,s); semilogx(x,y,s)%skale logarytmiczne plot3(x,y,z,s)%wykresy 3D; mesh(x,y,z,c) %rysuje powierzchnię w postaci kolorowej siatki o polach wypełnionych kolorem tła, elementy macierzy c określają kolory linii poszczególnych pól; surf(x,y,z,c) rysuje róŝnokolorową powierzchnię gray - mapa odcieni szarości, hot - kolory ciepłe (od czarnego przez czerwony, pomarańczowy, Ŝółty do białego), cool - kolory zimne (od turkusowego do karmazynowego), autumn - kolory od czerwonego przez pomarańczowy do Ŝółtego, summer - odcienie Ŝółtego i zielonego Wykorzystując funkcje wykresów 3D Matlaba wykazać róŝnice w wykorzystaniu pochodnych funkcji mesh, surf i plot3d z uwzględnieniem róŝnych stylów wykresów np.: %To jest program do rysowania wykresow [x,y] = fplot('/sqrt(+2e-7*x^2)',[,e6]); figure() semilogx(x,y) grid on title(['f(x)=/(+2*','e^(-\7*x^2))^.5']); figure(2) x = [-:.:]; y = cos(x); z = sin(3*x).*cos(y); plot3(x,y,z) grid on saveas(figure(2),'wykres3d','jpg'); figure(3) colormap('default') [x,y] = meshgrid(-3:.2:3,-3:.2:3); z = sinh(x).*cosh(x/2).*log(abs(y)+.75); surf(x,y,z); colorbar saveas(figure(3),'wykres','jpg');
figure(4) colormap('summer') [x,y] = meshgrid(-3:.2:3,-3:.2:3); z = sinh(x)*2.*cosh(x/6).*log(abs(y)+.75); mesh(x,y,z); colorbar saveas(figure(4),'wykres2','jpg'); 3 3 4 2 4 2 2 2-2 - -2 - -4 4 2-2 -4-4 -2 2 4-2 -3-4 4 2-2 -4-4 -2 2 4-2 -3
Laboratorium 6 Treści programowe: Wczytywanie i wyświetlanie obrazów. Zapoznanie z podstawowymi funkcjami słuŝącymi do odczytu, wyświetlania i zapisu obrazu. obr = imread('papryczki.png ); % odczyt obrazka imshow(rgb) %wyświetlenie obrazka imwrite(rgb,'mypapr.tif') %zapis obrazka rozmiar_obrazka=numel(rgb)% rozmiar obrazka info = imfinfo(obr); rozmiar_pliku= info.filesize Wczytać, odtworzyć, wykonać proste operacje matematyczne ma pliku.png i zapisać stworzony materiał na dysku w postaci plik.jpg. Porównać kompresje. %To jest program do odczytu i porównywania kompresji rgb_plot_png = imread('storczyk.png'); %odczyt wybranego pliku rgb_plot_jpg = imread('storczyk.jpg'); %odczyt wybranego pliku info_png = imfinfo('storczyk.png'); info_jpg = imfinfo('storczyk.jpg'); imshow('storczyk.png'); figure(2) imshow('storczyk.jpg'); bytes_on_disk_png = info_png.filesize bytes_in_memory_plot_png = numel(rgb_plot_png) compression_ratio = bytes_in_memory_plot_png / bytes_on_disk_png bytes_on_disk_jpg = info_jpg.filesize bytes_in_memory_plot_jpg = numel(rgb_plot_jpg) compression_ratio = bytes_in_memory_plot_jpg / bytes_on_disk_jpg figure(3) subplot(,2,); imshow('storczyk.png'); limits = [232 276 25 248]; axis(limits); title('original'); subplot(,2,2); imshow('storczyk.jpg'); axis(limits); title('jpeg compressed'); saveas(figure(3),'plot_screen_shot.jpg'); imwrite(rgb_plot_png,'storczyk.tif');
Original JPEG compressed Laboratorium 7 Treści programowe: pomocne funkcje: Przykład programu: Binaryzacja obrazów. Przeprowadzenie pewnego rodzaju segmentacji wykonywanej na podstawie jasności pikseli obrazów szarych Inne rodzaje segmentacji mogą wyróŝniać obiekty na przykład na podstawie: konturów barwy typu tekstury (faktury) powierzchni itp. im2uint8,im2uint6,im2int6,im2single,im2double %funkcje do przeskalowania obrazów gray2ind,ind2gray,ind2rgb,rgb2gray,rgb2ind %funkcje do przetwarzania obrazów im2bw %zamiana obrazka szaro odcieniowego na obraz binarny Wczytać, odtworzyć, wykonać proste operacje na obrazie z uwzględnieniem przykładowych funkcji oferowanych przez pakiet. %To jest program do operacji binarnych na pliku graficznym %konwersja do kolorów szarości I = imread('storczyk.tif'); J = rgb2gray(i); figure, imshow(i), figure, imshow(j); %konwersja odwrotna [X,map] = imread('trees.tif'); gmap = rgb2gray(map); figure, imshow(x,map), figure, imshow(x,gmap); %konwersja binarna BW = im2bw(x,map,.4); imshow(x,map), figure() imshow(bw) BW = im2bw(x,map,.9); figure() imshow(bw)
Laboratorium 8 Treści programowe: Przetwarzanie i analiza obrazów: operacje punktowe. Przeprowadzenie róŝnego rodzaju transformacji poprzez operacje matematyczne na pikselach. im2uint8,im2uint6,im2int6,im2single,im2double,im2bw %funkcje do przeskalowania obrazów gray2ind,ind2gray,ind2rgb,rgb2gray,rgb2ind %funkcje do przetwarzania obrazów imhist %histogram obrazu improfile %przekrój przez wiersz lub kolumn obrazu impixel %kolor lub wartość piksela bwarea %liczenie powierzchni obiektu (obraz czarnobiały) imrotate %obrót obrazu o dowolny kąt imresize %zmiana rozmiaru obrazka im2bw %zamiana obrazka szaroodcieniowego na obraz binarny Wykonać proste transformacje obrazu poprzez dodanie, przesuniecie pikseli, wykonać obrócenie i skalowanie obrazu. %To jest program do pokazania prostych operacji matematycznych na pliku graficznym %operacje punktowe na obrazie I = imread('storczyk.tif'); im = rgb2gray(i); figure imhist(im); [count, cells]=imhist(im); figure stem(cells,count) figure [count, cells]=imhist(im, ); stem(cells,count) figure [X, map] = imread('trees.tif'); figure imshow(x, map) figure [Y, newmap] = imresize(x, map,.5); imshow(y, newmap) figure B = imrotate(x,45) imshow(b,map) figure B = imrotate(x,45) imshow(b)
x 4 2.8.6.4.2.8.6.4.2 5 5 2 25 Laboratorium 9 Treści programowe: Przetwarzanie i analiza obrazów: filtracja. Przeprowadzenie róŝnego rodzaju transformacji poprzez operacje matematyczne na obrazach. medfilt2% filtracja medianowa; histeq% wyrównanie histogramu Wykonać proste transformacje obrazu poprzez filtracje składowych koloru, dodanie szumu itp.. clc; %To jest program do pokazania prostych operacji matematycznych na pliku graficznym %operacje na Im takie jak skladowe obrazu,filtracja [Im map]=imread('storczyk.tif'); disp('wymiary Imu:'); [Lw, Lk, N] = size(im) figure; subplot(2,2,); imshow(im,map); title('im'); D(Lw,Lk,3)=uint8(); D(:,:,)=Im(:,:,); subplot(2,2,2); imshow(d); title('składowa RED'); D(Lw,Lk,3)=uint8(); D(:,:,2)= Im(:,:,2); subplot(2,2,3); imshow(d); title('składowa GREEN'); D(Lw,Lk,3)=uint8(); D(:,:,3)=Im(:,:,3); subplot(2,2,4); imshow(d); title('składowa BLUE'); figure Img=imread('eight.tif'); [Lw,Lk]=size(Img) subplot(2,2,); Img= imnoise(img,'salt & pepper',.2); imshow(img); title('(a) oryginalny z szumem'); ha=line([,],[,lw]); set(ha,'color','red'); Dob=double(Img); % Do przetwarzania konwertujemy na double: L=medfilt2(Dob,[5 5]); % Filtracja medianowa składową niskoczęstotliwościowa L: B=Dob-L+2;% Dla "wyrównania cienia" odejmujemy L od obrazu a dodajemy 2: subplot(2,2,2);
imshow(uint8(b)); ha=line([,],[,lw]); set(ha,'color','green'); title('(b) po wyrównaniu cienia'); C=histeq(uint8(B));%"wyrównanie histogramu": subplot(2,2,3); imshow(c); ha=line([,],[,lw]); set(ha,'color','blue'); title('(c) po wyrównaniu histogramu'); pr = improfile(img,[,],[,lw]);% Wyznaczamy profile: () dla oryginału: pr2 = improfile(b,[,],[,lw]);% (2) po wyrównaniu cienia: pr3 = improfile(c,[,],[,lw]);% (3) dla obrazu wynikowego: size(pr2) size(pr3) k=:lw; subplot(2,2,4); plot(k,pr,'r',k,pr2,'g',k,pr3,'b'); title('d) Profile obrazów (a), (b), (c)'); Im Składowa RED (a) oryginalny z szumem (b) po wyrównaniu cienia Składowa GREEN Składowa BLUE (c) po wyrównaniu histogramu 4 d) Profile obrazów (a), (b), (c) 2-2 2 3
Laboratorium Treści programowe: Przetwarzanie i analiza obrazów: transformacja. Przeprowadzenie róŝnego rodzaju transformacji poprzez operacje matematyczne i funkcje Matlaba na obrazach. imabsdiff %róŝnica między dwoma obrazami imadd %suma 2 obrazów, plus stała imdivide %średnia arytmetyczna z 2 obrazów (piksel po pikselu) imlincomb %kombinacja liniowa między serią obrazów immultiply %iloczyn 2 obrazów imsubtract %odejmowanie dwóch obrazów, minus stała imadjust %poprawienie kontrastu obrazka fspecial %róŝnego rodzaju filtry poprawiające obraz imfill %wypełnianie dziur w obrazie histeq %poprawienie kontrastu obrazu na podstawie histogramu Wykonać proste transformacje obrazu z wykorzystaniem funkcji Matlaba clc; %To jest program do pokazania prostych operacji matematycznych na pliku graficznym %operacje na Im takie jak skladowe obrazu,filtracja [Im map]=imread('tire.tif'); disp('wymiary Imu:'); [Lw, Lk, N] = size(im); figure; subplot(2,2,); imshow(im,map); title('im'); subplot(2,2,2); J = uint8(filter2(fspecial('gaussian'), Im)); K = imabsdiff(im,j);%róŝnica między dwoma obrazami imshow(k,[]) % [] = skalowanie automatyczne title('róŝnica'); subplot(2,2,3); H = imfill(im,'holes');%wypełnianie dziur w obrazie imshow(h,[]) title('wypełnianie dziur'); subplot(2,2,4); %S = fspecial('unsharp'); %sharpened = imfilter(im,s,'replicate') S = fspecial('disk',5); blurred = imfilter(im,s,'replicate'); imshow(s,[]) title('ostrosc');
Im RóŜnica Wypełnianie dziur Ostrosc Laboratorium Treści programowe: Przetwarzanie i analiza obrazów: zagadnienia praktyczne: (kontury obiektu, dopasowanie wzorca). Przeprowadzenie róŝnego rodzaju transformacji poprzez operacje matematyczne i funkcje Matlaba na obrazach. imcontour %znajdowanie konturów obiektów w obrazie edge %znajdowanie krawędzi w obrazie imfilter %splot obrazu z filtrem deconv* %szereg funkcji przeprowadzających dekonvolucję imregionalmax %szukanie lokalnych maksimów w obrazie imnoise %dodanie szumu do obrazu Wykonać proste transformacje obrazu z wykorzystaniem funkcji Matlaba clc; %To jest program do pokazania prostych operacji matematycznych na pliku graficznym %operacje na Im takie jak skladowe obrazu,filtracja [Im map]=imread('tire.tif'); disp('wymiary Imu:'); [Lw, Lk, N] = size(im); figure; subplot(2,2,); imshow(im,map); title('im'); subplot(2,2,2); imcontour(im,3);%kontur title('kontur'); subplot(2,2,3); [C,h] = contour(im); clabel(c,h); title('kontur ze skala'); subplot(2,2,4); S=edge(Im,'canny') imshow(s,[]) title('krawedzie');
5 5 Projekt współfinansowany Europejskiego Funduszu Społecznego w ramach Programu Operacyjnego Kapitał Ludzki Im Kontur 5 5 2 5 5 2 2 5 5 5 2 5 5 5 5 5 5 2 Kontur ze skala 5 5 5 5 5 5 55 22 5 25 2 25 5 5 5 5 5 5 5 5 5 5 5 Krawedzie 5 5 2
Laboratorium 2 Treści programowe: Wczytywanie i wyświetlanie filmów, animacji. Przeprowadzenie róŝnego rodzaju transformacji poprzez operacje matematyczne i funkcje Matlaba na obrazach oraz tworzenie animacji. aviread% wczytanie pliku filmowego typu avi movie %odtworzenie zmiennej typu avi avifile %stworzenie nowego obiektu typu avi getframe %pobranie wnętrza okna graficznego jako klatki filmu addframe% dodanie ramki/obrazka do zmiennej typu avi Wykonać proste transformacje obrazu z wykorzystaniem funkcji Matlaba, stworzyć animacje clc; %To jest program do pokazania prostych operacji matematycznych do tworzenia animacji figure() x=:; % o- X for j=:, plot(x,j*x,'r'), % w petli rysuje kolejne obrazki axis([ ]); % ograniczenie zmiennosci wyswietlania osi wykresu F(j)=getframe; % pobieranie kolejnych klatek end movie(f,) % krotne wy-wietlenie animacji figure(2) numframes=6; A=moviein(numframes); % tworzenie macierzy set(gca,'nextplot','replacechildren') axis equal % for i=:numframes plot(fft(eye(i+6))); A(:,i)=getframe; end movie(a,,3) % odtwarzanie filmu save movie.mat A % zapis filmu mpgwrite(a,jet,'movie.mpg'); % Ckonwersja do mpeg unix('mpeg_play movie.mpg') % odtwarzanie mpeg.8.6.4.2 -.2 -.4 -.6 -.8 - - -.5.5
Laboratorium 3 Treści programowe: Wczytywanie i obróbka plików dźwiękowych. Zapoznanie z podstawowymi funkcjami słuŝącymi do pozyskiwania danych dźwiękowych np. z karty dźwiękowej oraz wykonywanie operacji na tych plikach. y=wavread( plik.wav ); % wczytanie pliku dźwiękowego [y,fs,bits] = wavread( plik.wav ); % zwraca plik dźwiękowy y, częstotliwość próbkowania Fs i liczba bitów próbkowania wavplay(y); % odtworzenie pliku dźwiękowego y y = wavrecord(5*fs,fs,'int6'); % Nagranie 5 sekund z częstotliwość próbkowania Fs np.: 25 Hz i próbkowaniem 6 bitowym wavwrite(y,25, muzyka.wav ); % zapisanie zmiennej y z próbkowaniem 25 Hz w pliku muzyka.wav sawtooth %przebieg trójk>tny (periodyczny) square %przebieg prostok>tny (periodyczny) gauspuls %przebieg sinusoidalny modyfikowany Gaussem (nieperiodyczny) chirp %Przebieg cosinusoidalny o zmiennym okresie specgram(y,52,2); % wyświetla analizę częstotliwościową sygnału zmiennego w czasie. Wynikiem działania funkcji jest obraz, na którego osi poziomej mamy informacje o czasie a na osi pionowej informacje o częstotliwościach. Wczytać, odtworzyć, wykonać proste operacje matematyczne ma pliku.wav i zapisać stworzony materiał na dysku. %To jest program do tworzenia własnych kombinacji dźwięków d = rand(,2); Fs = 25; wavplay(d); % odtworzenie wektora losowego t = (:.:)'; y = sin(2*pi*5*t) + 2*sin(2*pi*2*t); %sygnal o 2 skladowych o czestotliwosciach 5 i 2 Hz wavplay(y) % odtworzenie dzwieku y specgram(y,52,2); % wywietla spectogram y = wavrecord(5*fs,fs,'int6'); % Nagranie 5 sekund z czestotliwosci 25 Hz i próbkowaniem 6 bitowym
.9.8.7 Frequency.6.5.4.3.2. 5 2 25 3 Time
Laboratorium 4 Treści programowe: Tworzenie graficznego interfejsu uŝytkownika. Zapoznanie z metodami tworzenia i wykorzystania interfejsu graficznego oraz z sposobami dostępu do wszystkich elementów okna graficznego. reset %przywraca domyślne parametry obiektu delete %usuwa obiekt drawnow %wykonuje zaległe operacje graficzne findobj %szuka obiektu o zadanych parametrach copyobj %tworzy kopię obiektu push button - rzycisk działający po naciśnięciu go myszką slider - suwak radio button - wybór opcji z kilku moŝliwych checkbox - pole wyboru. moŝliwy wybór kilku opcji jednocześnie edit text - pole edycji static text - tekst bez moŝliwości jego edycji popup menu - menu podręczne button group - obszar do ustawiania grupy przycisków tego samego typu Wykonać prosty interfejs graficzny i zaprezentować działanie kilku funkcji function Przycisk_Callback(hObject, eventdata, handles) % hobject handle to Przycisk (see GCBO) persistent ile % definicja zmiennej w której trzymamy liczbe nacisniec przycisku if isempty(ile) % jezli nie ma zadnej wartosci to przypisuje wartosc ile=; end ile = ile + ; % reakcja na nacisniecie. Zwiekszam licznik o str=['liczba nacisniec: ', Int2Str(ile)]; % tekst do wyswietlenia set(handles.tekst,'string',str); % przypisanie wartosci do pola String obiektowi tekst