Solutions
1: How many pearls are on the picture pearls.jpg?
pict = imread('051.jpg'); red = pict(:,:,1); blue = pict(:,:,2); maszk_red = im2bw(red, 0.5); maszk_blue = ~im2bw(blue, 0.5); Mask = maszk_blue & maszk_red; amaszk = bwareaopen(Mask, 1000); pearls = regionprops(amaszk, 'BoundingBox'); size(pearls, 1) imshow(pict) for i = 1:size(pearls, 1) rectangle('Position', pearls(i).BoundingBox, 'Linewidth', 2, 'EdgeColor', 'g') end
pearl
ans = 37 Warning: Image is too big to fit on screen; displaying at 33%
2: How may blue pearls are in the picture pearls2.jpg?
Kék:
pict = imread('052.jpg'); redc = pict(:,:,1); bluec = pict(:,:,2); maszk_red = ~im2bw(redc, 0.5); maszk_blue = im2bw(bluec, 0.65); Mask = maszk_blue & maszk_red; imshow(Mask) amaszk = bwareaopen(Mask, 500); pearls = regionprops(amaszk, 'BoundingBox'); size(pearls, 1) imshow(pict) for i = 1:size(pearls, 1) rectangle('Position', pearls(i).BoundingBox, 'Linewidth', 2, 'EdgeColor', 'g') end
pearl2
ans = 16
3: How many birds are on birds.jpg?
pict=imread('053.jpg'); bluec=pict(:,:,3); mask=~im2bw(bluec,0.25); Maszk2=bwareaopen(mask,6); birdsc=regionprops(Maszk2, 'BoundingBox'); size(birdsc,1) imshow(pict) for i=1:size(birdsc,1) rectangle('Position',birdsc(i).BoundingBox,'LineWidth',2,'EdgeColor','g') end
subplot(1,1,1) birds
ans = 560