Filter löschen
Filter löschen

identifying objects in a picture containing several objects

28 Ansichten (letzte 30 Tage)
Tomescu
Tomescu am 21 Dez. 2011
Kommentiert: Sara am 12 Apr. 2017
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

Akzeptierte Antwort

Chandra Kurniawan
Chandra Kurniawan am 21 Dez. 2011
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 :
  3 Kommentare
Image Analyst
Image Analyst am 11 Apr. 2017
What are you talking about? I see no lower case j in the code.
Sara
Sara am 12 Apr. 2017
No sorry . i mean J at the coding above . This J = I(192:250,180:220,:); . How to get the value?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (5)

Chandra Kurniawan
Chandra Kurniawan am 21 Dez. 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 :
  5 Kommentare
Arash
Arash am 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
jeyshree
jeyshree am 7 Aug. 2013
hi, i used the above code.i downloaded an image from http://imageshack.us/photo/my-images/825/obiect10inpoza.png/ and used it instead of di-5Y01.jpg.similarly i downloaded the image in URL http://imageshack.us/photo/my-images/690/obiect5.jpg/ and used it instead of di-FNMJ.jpg.only i changed the images used.but still it is not detecting the cup from the image.what shall i do?

Melden Sie sich an, um zu kommentieren.


Tomescu
Tomescu am 21 Dez. 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
Object

Tomescu
Tomescu am 21 Dez. 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 Kommentar
Image Analyst
Image Analyst am 21 Dez. 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.

Melden Sie sich an, um zu kommentieren.


sneha
sneha am 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............

Francesco Violo
Francesco Violo am 28 Jul. 2015
Hello, I am Francesco , for a university work let me know if you can extract from a video the license plates of cars , and then get a file of alphanumeric text . Thank you, you can contact me also on francescoviolo8@yahoo.it

Community Treasure Hunt

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

Start Hunting!

Translated by