is it possible to detect the foreground in an single image using matlab? expecially i want to detect the car in an image. if yes please tell me the approriate method to detect the car in an image.
3 views (last 30 days)
Show older comments
I want to detect the car in an single image. i have tried out background subtraction method but it's need an original environmental image and present environmental image. so please guide me to do the foreground detection in a single approriate image.
1 Comment
Daniel Armyr
on 3 Feb 2016
This is not something that can be done automatically until camera vision systems become a lot more intelligent than they are today which will take quite a few years.
You should take a course in computer vision / hire someone who knows this area because that is what it will take.
Answers (3)
Walter Roberson
on 3 Feb 2016
No, this is not possible even in theory. See http://uk.mathworks.com/matlabcentral/answers/243406-how-scan-an-image-fully-and-seperate-the-area-of-interest-using-matlab#answer_192657
0 Comments
Image Analyst
on 3 Feb 2016
I think it is possible, though it might be a lot of work and only work for images that meet certain criteria. There have been amazing advances in CBIR and Deep Learning. For example here is a link where MATLAB's Computer Vision System Toolbox uses optical flow and deep learning to detect if an image has a cat or a dog in it. Of course it's not 100% accurate, but did work very well for the examples shown.
2 Comments
Walter Roberson
on 3 Feb 2016
No, you cannot tell cars from other things by image. See https://www.mathworks.com/matlabcentral/answers/264009-i-need-a-coding-to-detect-the-cars-in-an-images#answer_206408
Image Analyst
on 3 Feb 2016
Granted, there are cases where it will fail, but there will be cases where it will work, like Dima says.
Dima Lisin
on 3 Feb 2016
Yes it is possible, although difficult. For example, you can train a cascade object detector to detect cars. This will not work 100% of the time, but it may be sufficient for your purposes.
The thing to keep in mind is that a cascade object detector cannot handle rotation, either in-plane, or out-of-plane. So you cannot have a detector that will detect cars viewed from any arbitrary angle. However, you can train a detector for a side view of a car, and a separate detector for a front view of a car.
Even if you limit your problem to a specific orientation, your detector will still make mistakes, simply because cars can vary greatly in their appearance.
7 Comments
Walter Roberson
on 3 Feb 2016
According to the poster's other Questions, they are attempting to do counting of cars from unmanned aerial vehicles. If they have not changed the focus of their project, then they will have multiple images to deal with, but not necessarily a background image for each parking spot.
If they are sufficiently close to the ground that they could use perspective and if they have sufficiently accurate information about their position, then they could be doing stereo rectification, which would help provide constraints on the height of the objects and would help with (for example) aspect ratio calculations.
Dima Lisin
on 3 Feb 2016
Oh, I see. So, if they can collect a representative set of images and hand-label the cars, they should be able to train a detector. How accurate that will be is another question entirely.
See Also
Categories
Find more on Computer Vision Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!