Clear Filters
Clear Filters

How to detect unstructered objects in an image ?

2 views (last 30 days)
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.

Accepted Answer

Image Analyst
Image Analyst on 19 May 2018
Use regionprops():
dilation = ~imdilate(bw,se3);
props = regionprops(dilation, 'Centroid');
  1 Comment
Ender Rencuzogullari
Ender Rencuzogullari on 20 May 2018
Edited: Ender Rencuzogullari on 20 May 2018
Thank you. regionprops() function and "~" gave me an idea to solve my problem.

Sign in to comment.

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!