How to detect unstructered objects in an image ?

Hi,
I have an RGB image which has black objects on it to detect, find center of it and label with a circle. I applied some proccesses on it but cannot achieve. Here is the steps that I have applied:
Original Image:
Step 1:
image = imread('Im_005.jpg');
I = rgb2gray(image);
J = imresize(I, 0.5);
E = histeq(J);
figure(4), imshow(E)
Step 2:
bw = imbinarize(E);
se3 = strel('disk',1);
dilation = imdilate(bw,se3);
figure(5),imshow(dilation)
cc = bwconncomp(dilation, 8);
cc.NumObjects;
However, although I have tried lots of method (morphological etc.), I could not figure out how to find the center points of black objects and label them with a circle. Also,
cc = bwconncomp(dilation, 4);
gives output as "number of objects: 1" although there are two objects. How can I solve this problem?
Best.

 Akzeptierte Antwort

Image Analyst
Image Analyst am 19 Mai 2018

0 Stimmen

Use regionprops():
dilation = ~imdilate(bw,se3);
props = regionprops(dilation, 'Centroid');

1 Kommentar

Ender Rencuzogullari
Ender Rencuzogullari am 20 Mai 2018
Bearbeitet: Ender Rencuzogullari am 20 Mai 2018
Thank you. regionprops() function and "~" gave me an idea to solve my problem.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by