Image processing 8

background image

Image processing 8


Example 1
Structural elements that can be used in morphological operations:

se1=strel('pair',[3,-2]); % displacement against the central pixel for a vector [3,-2]
figure; imshow(getnhood(se1),

'InitialMagnification', 'fit');

se2=strel('line',10,60); % number of pixels, angle towards x axis
figure; imshow(getnhood(se2), 'InitialMagnification', 'fit');
se3=strel('disk',10); % radius
figure; imshow(getnhood(se3), 'InitialMagnification', 'fit');
se4=strel('diamond',3); % radius
figure; imshow(getnhood(se4), 'InitialMagnification', 'fit');
se5=strel('periodicline',2,[-2,1]); % twice, displacement for a vector [-2,1]
figure; imshow(getnhood(se5), 'InitialMagnification', 'fit');
se6=strel('ball',15,3); % circle radius
figure; imshow(getnhood(se4), 'InitialMagnification', 'fit');
ss=getheight(se4);
ss(isinf(ss))=0;
figure; imshow(mat2gray(ss), 'InitialMagnification', 'fit');

Example 2
Binary image erosion:

L=imread('bacteria.bmp');
figure; imshow(L);
SE=ones([3, 3]);
E=imerode(L,SE);
figure; imshow(E)
L2=L-E; % a difference between the source image and the eroded one (pixels that
have been removed)
figure; imshow(L2);

Exercise 1
Function ‘imdilate’ allows making image dilation. Please use this function for the image
“bacteria.bmp” (binarize image before). Then, show pixels that have been removed.

Exercise 2
Try to use another structural element size, for example 3x1. Conduct the operation five
times.

Exercise 3
Make erosion and dilation using any grayscale and colourful image. The result will be
more visible if we repeat the operation several times.

background image

Example 3
Using dilation and erosion for objects edges detection:

[L1] = imread('bacteria.bmp');
%L1=rgb2gray(L1);
figure; imshow(L1);
SE=ones(3);
gradL1=(imdilate(L1,SE)-imerode(L1,SE));
figure; imshow(gradL1,[]);
[L1] = imread('bacteria.bmp');
%L1=rgb2gray(L1);
figure; imshow(L1);
SE=ones(3);
laplaceL1=(imdilate(L1,SE)+imerode(L1,SE)-2*L1);
figure; imshow(laplaceL1,[]);

Example 4
Closing operation made for a binarized image:

L1 = imread('bacteria.bmp');
L1=L1>128;
figure; imshow(L1);
SE=ones(3);
L2=imclose(L1,SE);
figure; imshow(L2);

Exercise 4
For the same image, please, conduct the operation of opening (‘imopen’) and compare
the results (with example 5). Show the difference of these images.

Exercise 5
Please, check the results of opening and closing for grayscale and colour images. Try
to use another structural element. Show the difference between the resulting images.

Example 5
Grayscale image thinning (different size of structural element):

L1=imread('vessels.jpg');
L1=(L1)<150;
figure; imshow(L1);
L2a=bwmorph(L1,'shrink',5);
figure; imshow(L2a);
L2b=bwmorph(L1,'shrink',10);
figure; imshow(L2b);
L2c=bwmorph(L1,'shrink',40);
figure; imshow(L2c);

Exercise 6
Thinning can be executed also by employing “thin” function, and thickening – using
“thicken”. The structural element size is defined as above. Please, try to use these
functions for the image “drawing.bmp”.

background image

Example 6
Image skeletonization with “branches” cutting and elimination of the isolated pixels:

L1=imread('vessels.jpg');
L1=(L1)<150;
figure; imshow(L1);
L2=bwmorph(L1,'skel',Inf);
figure; imshow(L2);
L3=bwmorph(L2,'spur',Inf);
figure; imshow(L3);
L4=bwmorph(L3,'clean',Inf);
figure; imshow(L4);

Exercise 7
„Bwmorph” enables to conduct several operations, for example: 'bridge' (joining
pixels with the bridge), 'hbreak' (removing of junctions in the shape of H letter),
'remove' (inner pixels removing), 'fill’ (1-pixel holes filling or isolated black pixels
removing). Please try to use this function with different arguments. Use images
“drawing.bmp” and “vessels. jpg”.

Example 7
Contours detection:

[L1]=imread('cells1.bmp');
L1=L1<180;
figure; imshow(L1);
SE=ones([3,3]);
E=imerode(L1,SE);
L2=L1-E;
figure; imshow(L2);

Another way:

L3 = bwperim(L1,8); % neighbourhood type
figure; imshow(L3)

Exercise 8
Please, try to find contours in any image with distinct edges, for example
„Krakow_3.jpg”.

Example 8
Detection of pixels exact configuration (here: horizontal lines, 10 pixels long):

L1=imread('drawing.bmp');
figure; imshow(L1);
SE=ones([1 10]);
L2=bwhitmiss(L1,SE);
figure; imshow(L2);

background image

Example 9
In the “hit-and-miss” operation the structural element has mixed character. While
construct it, remember, that:
pixels, that should be hit (pixels of an object) should be marked with 1
pixels, that should be missed (pixels of a background) should have value of -1
pixels, that are not taken into consideration (insignificant) – are marked with 0.
In the example below, the structural element was used that indicates object’s corners.




L1=imread('vessels1.bmp');
figure; imshow(L1, 'InitialMagnification', 'fit');
SE=[0,1,0;-1,1,1;-1,-1,0]
L2=bwhitmiss(L1,SE);
figure; imshow(L2, 'InitialMagnification', 'fit');

Exercise 9
Try to find different pixels’ configurations employing “hit-and-miss” structural element.
Use any binary image with low resolution.

x 1 x
0 1 1
0 0 x


Wyszukiwarka

Podobne podstrony:
Image Processing with Matlab 33
Image processing intro
Image processing 7
Image processing 6
Image Procesing and Computer Vision part3
Image processing 4
Image Processing with Matlab 33
USB Image Install Process
W4 Proces wytwórczy oprogramowania
WEWNĘTRZNE PROCESY RZEŹBIĄCE ZIEMIE
Proces tworzenia oprogramowania
Proces pielęgnowania Dokumentacja procesu
19 Mikroinżynieria przestrzenna procesy technologiczne,
4 socjalizacja jako podstawowy proces spoeczny
modelowanie procesˇw transportowych

więcej podobnych podstron