I have written this code to use bounding box and centroid properties. Due to noise of the image i am getting many unwated boxes and centroids. so i want to edit this code so that only the biggest bounded box is shown and centroid is shown only on that box. i need help in this regards.
binaryY = im2bw(rgb2gray(F)); Ibw1 = imfill(binaryY,'holes');K1 = medfilt2(Ibw1);subplot(2,2,2);imshow(K1, []);%centrod
Ilabel1 = bwlabel(K1);stat = regionprops(Ilabel1,'centroid');subplot(2,2,3);imshow(Im1); hold on;for x = 1: numel(stat) plot(stat(x).Centroid(1),stat(x).Centroid(2),'r+');end % Make sure image is not artificially stretched because of screen's aspect ratio.
[L,num]=bwlabel(K1);bboxes=regionprops(L,'BoundingBox');subplot(2,2,4)imshow(Im1),title('Bounding Box');hold on;for k=1:length(bboxes) CurrBB=bboxes(k).BoundingBox; rectangle('position',[CurrBB(1),CurrBB(2),CurrBB(3),CurrBB(4)],'EdgeColor','g','LineWidth',2);endhold off;
Best Answer