问题
I want to detect content of images.
For example I want to use the above image as an input, and get as output list of terms like: sky, water, sea, buildings etc.
Any idea how to start?
回答1:
The short answer is: yes. Below is a quick first effort, using OpenCV - essentially I just took some training patches from each area of the image and then just classified each pixel according how close it was to each patch. The sky is easy, and plain water is easy, but it is difficult to separate buildings from reflections of buildings. This particular image is a bit difficult to start with.
You want to find some sort of features (roughly color, brightness, texture, but there are lots of different ideas that appropriate for different situaions) that are different for different things you want to recognize, and then cluster pixels with similar features together. This is a huge field, Szelinski's computer vision book amd Murphy's machine learning book are good places to start.
回答2:
if you require a segmentation, the following keywords should get you on the way:
"Semantic Segmentation"
"Semantic Image Segmentation";
"Object Class Segmentation";
"Object Class Image Segmentation";
"Image Parsing";
"Scene Parsing",
also check out the workshops in the VOC challenge: http://pascallin.ecs.soton.ac.uk/challenges/VOC/
Unfortunately there is not a OpenCV app yet for this AFAIK. But there are some softwares:
ALE, CRF, C++
http://cms.brookes.ac.uk/staff/PhilipTorr/ale.htm
DARWIN, CRF, C++
http://drwn.anu.edu.au/drwnProjMultiSeg.html
DARWIN, PATCH MATCH, C++
http://drwn.anu.edu.au/drwnProjPatchMatch.html
TextonBoost ,CRF, C#
http://jamie.shotton.org/work/code.html
TextonForest, RF, C#
http://www.matthewajohnson.org/research/stf.html
CPMC/O2P, MATLAB
http://www.maths.lth.se/matematiklth/personal/sminchis/code/cpmc/index.html http://www.maths.lth.se/matematiklth/personal/sminchis/code/o2pCode.html
来源:https://stackoverflow.com/questions/24611421/can-i-use-opencv-to-analyze-image-content