function f = HaePalikka()
I = imread('DSC_1633.JPG');
figure, imshow(I), title('1 Alkuperainen kuva');  
I=RGB2GRAY(I);
%figure,
imshow(I), title('2 harmaasavykuva');
%
BWs = edge(I, 'sobel', (graythresh(I) * .1));
figure,imshow(BWs), title('2 binaarikuva jossa komponenttien rajat haettu edgefunktiolla');
%siveltimet tayttoa varten
se90 = strel('line', 3, 90); % 3 pitka viiva pystysuorassa
se0 = strel('line', 3, 0); % 3 pitka viiva vaakasuorassa
BWsdil = imdilate(BWs, [se90 se0]);% taytto
figure,imshow(BWsdil), title('dilated gradient mask');
BWdfill = imfill(BWsdil, 'holes');
figure,imshow(BWdfill);
title('binaarikuva, jossa taytetyt reiat');
BWnobord = imclearborder(BWdfill, 4);
figure,
imshow(BWnobord), title('kuvan ylittavat komponentit poistettu');
L = bwlabel(BWnobord);
%max(L(:))
stats = regionprops(L,'all')
idx = find([stats.Area] > 1500);
BW2 = ismember(L,idx);
figure,imshow(BW2), title('Alueen perusteella suodatettu kuva');
L = bwlabel(BW2);
%Kpl=max(L(:)) kuinka monta kappaletta on jäljellä
  • No labels
You must log in to comment.