我想检测图像的内容。
例如,我想使用上面的图像作为输入,并获得如下的术语输出列表:天空,水,海,建筑物等。
知道怎么开始吗?
答案 0 :(得分:5)
简短的回答是:是的。 下面是一个快速的第一步,使用OpenCV - 基本上我只是从图像的每个区域采取一些训练补丁,然后根据每个像素与每个补丁的接近程度对其进行分类。 天空很容易,平原水很容易,但很难将建筑物与建筑物的反射区分开来。这个特殊的图像有点难以开始。
您希望找到某种特征(大致颜色,亮度,纹理,但有许多适合不同情境的不同想法),这些特征对于您想要识别的不同事物是不同的,然后聚类具有相似特征的像素一起。这是一个巨大的领域,Szelinski的计算机视觉书和墨菲的机器学习书是很好的起点。
答案 1 :(得分:2)
如果您需要细分,以下关键字可以帮您解决问题:
"语义分段"
"语义图像分割&#34 ;;
"对象类分割&#34 ;;
"对象类图像分割&#34 ;;
"图片解析";
"场景解析",
还查看了VOC挑战赛的研讨会:http://pascallin.ecs.soton.ac.uk/challenges/VOC/
不幸的是,这个AFAIK还没有OpenCV应用程序。但是有一些软件:
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