inne clc, close all, clear all; % zad 2 ścienianie readImage = imread('fingerprint.bmp'); imageDouble = double(readImage); thinedImage = bwmorph(imageDouble,'thin',1); thinedImage2 = bwmorph(imageDouble,'thin',2); thinedImageInf = bwmorph(imageDouble,'thin',Inf); figure('name', 'Ścienianie fingerprint.bmp') subplot(2,2,1), imshow(readImage), title('Orginał') subplot(2,2,2), imshow(thinedImage), title('Po ścienianiu 1x') subplot(2,2,3), imshow(thinedImage2), title('Po ścienianiu 2x') subplot(2,2,4), imshow(thinedImageInf), title('Po ścienianiu do skutku') % zad 3 szkieletyzajca readImage = imread('kosc.bmp'); imageDouble = double(readImage); skeletedImageInf = bwmorph(imageDouble,'skel',Inf); figure('name', 'Erozja ertka.bmp') subplot(2,1,1), imshow(readImage), title('Orginał') subplot(2,1,2), imshow(skeletedImageInf), title('Po szkieletyzaji Inf') % zad 4 rekonstrukcja readImage = imread('text.png'); imageDouble = double(readImage); se = ones(51,1); morphedImage = imopen(imageDouble,se); erodedImage = imerode(imageDouble,se); reconstructedImage = imreconstruct(erodedImage,imageDouble); figure('name', 'Rekonstrukcja text.png') subplot(2,2,1), imshow(readImage), title('Orginał') subplot(2,2,2), imshow(morphedImage), title('Po otwarciu') subplot(2,2,3), imshow(reconstructedImage), title('Po rekontrukcji') % zad 8 wypełnianie dziur readImage = imread('text.png'); imageDouble = double(readImage); morphedImage = imfill(imageDouble,'holes'); figure('name', 'Wypełnianie dziur text.png') subplot(2,1,1), imshow(readImage), title('Orginał') subplot(2,1,2), imshow(morphedImage), title('Po wypełnianiu dziur') % zad 8 czyszcznie brzegów readImage = imread('text.png'); imageDouble = double(readImage); morphedImage = imclearborder(imageDouble); figure('name', 'Czyszczenie brzegów text.png') subplot(2,1,1), imshow(readImage), title('Orginał') subplot(2,1,2), imshow(morphedImage), title('Po czyszczeniu brzegów') //czecie clc, close all, clear all; % zad 2 readImage = imread('ferrari.bmp'); se = strel('square',3); erodedImage = imerode(readImage,se); dilatedImage = imdilate(readImage,se); figure('name', 'Operacje morfologiczne w skali szarośći ferrari.bmp') subplot(2,2,1), imshow(readImage), title('Orginał') subplot(2,2,2), imshow(erodedImage), title('Po erozji') subplot(2,2,3), imshow(dilatedImage), title('Po dylatacji') % zad 3 openedImage = imopen(readImage,se); closedImage = imclose(readImage,se); figure('name', 'Operacje morfologiczne w skali szarośći ferrari.bmp') subplot(2,2,1), imshow(readImage), title('Orginał') subplot(2,2,2), imshow(openedImage), title('Po otwarciu') subplot(2,2,3), imshow(closedImage), title('Po zamknięciu') % zad 4 afterTopHatImage = imtophat (readImage,se); afterBottomHatImage = imbothat(readImage,se); figure('name', 'Operacje morfologiczne w skali szarośći ferrari.bmp') subplot(2,2,1), imshow(readImage), title('Orginał') subplot(2,2,2), imshow(afterTopHatImage), title('Po top-hat') subplot(2,2,3), imshow(afterBottomHatImage), title('Po bottom-hat') % zad 4 readImage = imread('rice.png'); se = strel('disk',10); afterTopHatImage = imtophat (readImage,se); figure('name', 'Operacje morfologiczne w skali szarośći rice.png') subplot(2,2,1), imshow(readImage), title('Orginał') subplot(2,2,2), imshow(afterTopHatImage), title('Po top-hat') ///pierwsze clc, close all, clear all; readImage = imread('ertka.bmp'); imageDouble = double(readImage); %zad4 erozja ertka.bmp se = strel('square',3); erodedImage = imerode(imageDouble,se); erodedImage2 = imerode(erodedImage,se); erodedImage3 = imerode(erodedImage2,se); figure('name', 'Erozja ertka.bmp') subplot(2,2,1), imshow(readImage), title('Orginał') subplot(2,2,2), imshow(erodedImage), title('Po erozji 1x') subplot(2,2,3), imshow(erodedImage2), title('Po erozji 2x') subplot(2,2,4), imshow(erodedImage3), title('Po erozji 3x') % zad 9 erozja buska.bmp readImage = imread('buska.bmp'); imageDouble = double(readImage); se = strel('square',2); erodedImage = imerode(imageDouble,se); erodedImage2 = imerode(erodedImage,se); erodedImage3 = imerode(erodedImage2,se); figure('name', 'Erozja buska.bmp') subplot(2,1,1), imshow(readImage), title('Orginał') subplot(2,1,2), imshow(erodedImage), title('Po erozji') % zad 10 ertka.bmp readImage = imread('buska.bmp'); imageDouble = double(readImage); se = strel('square',3); erodedImage = imerode(imageDouble,se); dilatedImage = imdilate(imageDouble,se); openedImage = imopen(imageDouble,se); closedImage = imclose(imageDouble,se); figure('name', 'zad 10 ertka.bmp') subplot(2,2,1), imshow(erodedImage), title('Po erozji') subplot(2,2,2), imshow(dilatedImage), title('Po dylatacji') subplot(2,2,3), imshow(openedImage), title('Po otwarciu') subplot(2,2,4), imshow(closedImage), title('Po zamknięciu') % zad 12 dylatacja wyspa.bmp readImage = imread('wyspa.bmp'); imageDouble = double(readImage); se = strel('square',3); erodedImage = imerode(imageDouble,se); dilatedImage = imdilate(imageDouble,se); openedImage = imopen(imageDouble,se); closedImage = imclose(imageDouble,se); figure('name', 'zad 12 wyspa.bmp') subplot(2,2,1), imshow(erodedImage), title('Po erozji') subplot(2,2,2), imshow(dilatedImage), title('Po dylatacji') subplot(2,2,3), imshow(openedImage), title('Po otwarciu') subplot(2,2,4), imshow(closedImage), title('Po zamknięciu') % zad 12 dylatacja kolka.bmp readImage = imread('kolka.bmp'); imageDouble = double(readImage); se = strel('square',3); erodedImage = imerode(imageDouble,se); dilatedImage = imdilate(imageDouble,se); openedImage = imopen(imageDouble,se); closedImage = imclose(imageDouble,se); figure('name', 'zad 12 kolka.bmp') subplot(2,2,1), imshow(erodedImage), title('Po erozji') subplot(2,2,2), imshow(dilatedImage), title('Po dylatacji') subplot(2,2,3), imshow(openedImage), title('Po otwarciu') subplot(2,2,4), imshow(closedImage), title('Po zamknięciu') % zad 13 ertka.bmp readImage = imread('ertka.bmp'); imageDouble = double(readImage); se = strel('square',3); openedImage = imopen(imageDouble,se); closedImage = imclose(openedImage,se); figure('name', 'zad 13 ertka.bmp') subplot(2,1,1), imshow(readImage), title('Orginał') subplot(2,1,2), imshow(closedImage), title('Po przekszatłceniu') % zad 14 hom.bmp readImage = imread('hom.bmp'); imageDouble = double(readImage); se1=[0 1 0; 1 1 1; 0 1 0]; se2=[1 0 1; 0 0 0; 1 0 1]; afterHitMissImage = bwhitmiss(imageDouble,se1); figure('name', 'zad 14 hom.bmp') subplot(2,1,1), imshow(readImage), title('Orginał') subplot(2,1,2), imshow(afterHitMissImage), title('Po trafi nie trafi') //ostatnie clc, close all, clear all; % zad 2 readImage = imread('calculator.png'); figure('name', 'zad 2') imshow(readImage), title('Orginał') figure se = ones(1,71); openedImage = imopen(readImage,se); erodedImage = imerode(readImage,se); reconstructedImage = imreconstruct(erodedImage,readImage); subplot(2,1,1), imshow(reconstructedImage), title('Po rekonstrukcji przez otwarcie') subplot(2,1,2), imshow(openedImage), title('Po klasycznym otwarciu') % zad 4 morphedImage = readImage - reconstructedImage; afterTopHatImage = imtophat(readImage,se); figure('name', 'zad4') subplot(2,1,1), imshow(morphedImage), title('Po rekonstrukcji przez otwarcie') subplot(2,1,2), imshow(afterTopHatImage), title('Po klasycznym top-hat') % zad 5 se = ones(1,11); erodedImage = imerode(morphedImage,se); reconstructedImage2 = imreconstruct(erodedImage,morphedImage); figure('name', 'zad5') subplot(2,1,1), imshow(erodedImage), title('Po erozji') subplot(2,1,2), imshow(reconstructedImage2), title('Po rekonstrukcji') % zad 6 se = ones(1,21); dilatedImage = imdilate(reconstructedImage2,se); reconstructedImage3 = imreconstruct(dilatedImage,morphedImage); figure('name', 'zad6') subplot(2,1,1), imshow(dilatedImage), title('Po dylatacji') subplot(2,1,2), imshow(reconstructedImage3), title('Po rekonstrukcji')