identifying objects in a picture containing several objects

Asked by Tomescu on 21 Dec 2011
Latest activity Commented on by Arash on 9 Jul 2012

I have a picture that contains more obiecte.Obiectele I have separated into smaller pictures (cut from full size) must make a sequence of code that I find an object and make a circle around him. 10x

0 Comments

Tomescu

Products

No products are associated with this question.

5 Answers

Answer by Chandra Kurniawan on 21 Dec 2011
Accepted answer

Hello,

Why don't you use command 'normxcorr2' from Matlab??

Here I have a sample code :

clear; clc;
I = imread('office_5.jpg');
J = I(192:250,180:220,:); 
imshow(J);
c = normxcorr2(J(:,:,1),I(:,:,1));
[max_c, imax] = max(abs(c(:)));
[ypeak, xpeak] = ind2sub(size(c),imax(1));
corr_offset = [(xpeak-size(J,2)) (ypeak-size(J,1))];
figure, imshow(I); hold on;
rectangle('position',[corr_offset(1) corr_offset(2) 50 50],...
          'curvature',[1,1],'edgecolor','g','linewidth',2);

The object is :

And the correlation result is :

0 Comments

Chandra Kurniawan
Answer by Chandra Kurniawan on 21 Dec 2011

Just the same code.

You just need to change the I and J with your 'reference' image and the object

clear; clc;
I = imread('di-5Y01.jpg');
object = imread('di-FNMJ.jpg');
c = normxcorr2(object(:,:,1),I(:,:,1));
[max_c, imax] = max(abs(c(:)));
[ypeak, xpeak] = ind2sub(size(c),imax(1));
corr_offset = [(xpeak-size(object,2)) (ypeak-size(object,1))];
figure, imshow(I); hold on;
rectangle('position',[corr_offset(1) corr_offset(2) 30 60],...
          'curvature',[1,1],'edgecolor','g','linewidth',2);

And the result :

4 Comments

Image Analyst on 21 Dec 2011

The ellipse in the overlay is there from the call to rectangle() function. Just look it up in the help and modify its arguments. You shouldn't need Chandra to do that simple thing.

Tomescu on 21 Dec 2011

I managed to make the circle, the problem is that the circle is not centered on obiect.The circle is tangent to the top of the object and left. How can I center the circle on the object? 10Q

Arash on 9 Jul 2012

Hi Chandra,

How about the objects that have some rotation, I mean consider some frames and in each frame the object has a little rotation and translation, is it possible to detect the object in all of the frames? if yes How?

Thanks in advance,

Arash

Chandra Kurniawan
Answer by Tomescu on 21 Dec 2011

Thanks for the reply! I reference image that contains 10 items. I have separate objects in small images (cut from the reference image). Code sequence must find an object that you selected (if the write code sequence "object 1" must make a circle around the "object 1" If it says "Objective 2" to make the circle around the "item 2" Can you help me please? Thanks reference image

http://www.uploadup.com/di-5Y01.jpg

Object

http://www.uploadup.com/di-FNMJ.jpg

0 Comments

Tomescu
Answer by Tomescu on 21 Dec 2011

Thank you very much! It works. May I ask one more thing if you can help me. Should identify the object in a circle. Now we identify an ellipse. and not half as the reference object (ellipse is part of the object). Thank you again. http://imageshack.us/photo/my-images/825/obiect10inpoza.png/ http://imageshack.us/photo/my-images/651/obiect10.jpg/

1 Comment

Image Analyst on 21 Dec 2011

This is not an answer. This should be a comment on someone's answer, which you did above, so you can delete this "answer" lest someone respond to it and then you mark this (your follow-up comment) as the solution.

Tomescu
Answer by sneha on 18 Apr 2012

hi....experts.....sneha here..........very amazing detection of objects.....i also worked on license plate detection of car...can u give me this type of code for detecting car license plate...please.........m waitng for reply............

0 Comments

sneha

Contact us