Code detecting false objects
3 次查看(过去 30 天)
显示 更早的评论
On the left is the original image and on the right objects are being detected. Please advise. Also, there is another image in which I use the same code and it detects only one object. Why is this happening? I have attached that image as well. ![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/294923/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/294923/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/294882/image.png)
clear all
close all
img= imread("C:\Users\0000_012_14px_prergb.tif");
imshow (img)
img=rgb2gray(img);
b=imbinarize(img); %binary image
imshow(b)
img1 = bwareafilt(b,[20 1000]); %retains objects pixel area
c=bwlabel(img1);
imshow(c)
measurements = regionprops(c,img, 'MeanIntensity'); %measurements = regionprops(labeledImage, grayscaleImage, 'MeanIntensity');
stats = regionprops('table',img1,'Centroid','MajorAxisLength','MinorAxisLength') %object detection
centers = stats.Centroid;
diameters = mean([stats.MajorAxisLength stats.MinorAxisLength],2);
radii = diameters/2;
hold on
viscircles(centers,radii); %drawing around the object
hold off
num_obj=height (stats)%finding the number of objects
0 个评论
回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!