overlapped objects counting in matlab

5 Ansichten (letzte 30 Tage)
FAISAL
FAISAL am 5 Mär. 2012
Kommentiert: Image Analyst am 13 Feb. 2020
hi. i m working on a project which is related to digital image processing but i can't count the overlapped objects it take multiple overlapped objects as one object. please tell me which method i can use for this problem.... and overlapped objects may be two or more than two..... so please tell me that method which is suitable for this......
best regards FAISAL SALEH KHATTAK
  3 Kommentare
Laurens Bakker
Laurens Bakker am 7 Mär. 2012
Just a second... Do you have multiple images, or just one?
FAISAL
FAISAL am 8 Apr. 2012
i have one image in which there are lot small objects and noise and objects are overlapped fully and somewhere object is also overlapped with noise and the overlapped objects are more than two...... i have work a lot on it i can't make it.... if you have any idea about that please help me out....
thanks in advance...

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Laurens Bakker
Laurens Bakker am 7 Mär. 2012
Hi Faisal,
I'm not sure if MATLAB is the right tool for this. Take a look at http://boost-geometry.203548.n3.nabble.com/intersection-of-two-vectors-of-polygons-td2875513.html
Cheers,
Laurens

Image Analyst
Image Analyst am 8 Apr. 2012
If you can't use watershed or similar object splitting methods, then you can try some shaped based methods if you know something about the shape but they will be complicated. For example, you know that all your shapes are hexagons or something. But let's say that you have discs. Now let's say you want to know how many discs (let's say DVD or CD discs) are overlapping in a stack of 50 of them. All you have is an overhead photo of the 50 disc stack. How are you going to know how many discs are in the stack? You can't because they're hidden from view.
  11 Kommentare
Md Hafizur Rahman
Md Hafizur Rahman am 13 Feb. 2020
Bearbeitet: Md Hafizur Rahman am 13 Feb. 2020
The Main Code
A = imread('1_03.png');
figure(1)
imshow(A)
I = rgb2gray(A);
I = adapthisteq(I);
I = wiener2(I, [3 3]);
bw = im2bw(I, graythresh(I));
bw2 = imfill(bw,'holes');
bw3 = imopen(bw2, strel('disk',1));
bw4 = bwareaopen(bw3, 500);
L = bwlabel(bw4);
s = regionprops(L, 'Centroid');
figure(9)
imshow(bw4)
for k = 1:numel(s)
c = s(k).Centroid;
text(c(1), c(2), sprintf('%d', k), 'Color', 'r', ...
'HorizontalAlignment', 'center', ...
'VerticalAlignment', 'middle');
end
bw4_perim = bwperim(bw4);
overlay1 = imoverlay(I, bw4_perim, [1 .3 .3]);
figure(11)
imshow(overlay1)
Output of the code: (Please see the attachment)
The first image is input image the second image is output image
Image Analyst
Image Analyst am 13 Feb. 2020
I just don't see how all the bacteria can be automatically identified in this. Even we as humans won't necessarily get the "correct" answer. I'd suggest you just call drawpoint() in a loop to have the user keep dropping down points until he's dropped a point on every single bacteria.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by