我是OpenCV的新手。我正在使用OpenCV 3.1和python2.7。
我有5张自行车图片和5张汽车图片。我想找出任何图像是一辆车还是一辆自行车。
在互联网上,我发现使用haar级联我们可以训练,但大多数例子只包含一个经过训练的数据手段,用户将只训练汽车图像和查询图像,他们会试图找到它是一辆车或不,但我想检查它是一辆车还是一辆自行车或什么都没有。
我想根据物体的形状来匹配图像。我想的另一个选择是获取查询图像并与存储的图像进行比较,并根据相似性给出结果。但我知道这需要更长的时间,这是不好的。
还有更好的选择吗?也有模板匹配,但我不知道选择这种解决方案更好的选择,因为我不了解OpenCV。
发布于 2016-04-26 06:57:04
关于你关于沙皇级联的问题。您可以使用它们按照您想要的方式对图像进行分类:
训练两套沙皇级联,一套用于汽车,一套用于自行车。这两个级联都将返回一个值,说明它们是如何确定的,图像包含了它们所训练的对象。如果两者都不确定,图像可能什么也不包含。否则,您将以更高的确定性来选择该类的图像内容。
发布于 2016-04-26 06:36:19
它可以通过一个tensorflow来完成。它是一个基于图像处理的python库。
参考文献:已启动/index.html http://googleresearch.blogspot.in/2015/12/how-to-classify-images-with-tensorflow.html
发布于 2016-12-13 13:21:17
您可以尝试通过将培训数据(汽车和自行车的图像)上传到demo.nanonets.ai (免费使用)来构建模型。
1)上传您的培训数据:
demo.nanonets.ai
2)然后使用以下方法(Python代码)查询API:
import requests
import json
import urllib
model_name = "Enter-Your-Model-Name-Here"
url = "http://blog.caranddriver.com/wp-content/uploads/2015/11/BMW-2-series.jpg"
files = {'uploadfile': urllib.urlopen(url).read()}
url = "http://demo.nanonets.ai/classify/?appId="+model_name
r = requests.post(url, files=files)
print json.loads(r.content)3)答复如下:
{
"message": "Model trained",
"result": [
{
"label": "Car",
"probability": 0.97
},
{
"label": "Bike",
"probability": 0.03
}
]
}https://stackoverflow.com/questions/36856532
复制相似问题