Python 如何在图像中识别三种类型的对象?
我想从卫星风图像中识别三个不同的物体。问题是其中三个有点相似。我尝试使用模板匹配来识别,但没有成功。三个目标如下Python 如何在图像中识别三种类型的对象?,python,opencv,image-processing,classification,Python,Opencv,Image Processing,Classification,我想从卫星风图像中识别三个不同的物体。问题是其中三个有点相似。我尝试使用模板匹配来识别,但没有成功。三个目标如下 在这里,物体的方向并不重要,但线条中头部的类型很重要。您能建议一种方法继续吗?假设您的图像只包含纯黑色和纯白色像素 您可以为每个轮廓找到轮廓及其边界矩形或minareact 然后将这些矩形视为单独的图像,在轮廓上迭代。现在您可以对这些图像进行分类。您也可以使用模板匹配 祝你好运 你想过机器学习吗 例如,用于数字识别的小型cnn可以使用一小组图像“重新训练”,Keras还具有数
在这里,物体的方向并不重要,但线条中头部的类型很重要。您能建议一种方法继续吗?假设您的图像只包含纯黑色和纯白色像素 您可以为每个轮廓找到轮廓及其边界矩形或minareact 然后将这些矩形视为单独的图像,在轮廓上迭代。现在您可以对这些图像进行分类。您也可以使用模板匹配
祝你好运 你想过机器学习吗 例如,用于数字识别的小型cnn可以使用一小组图像“重新训练”,Keras还具有数据增强功能,以帮助确保训练出鲁棒的分类器 有一个非常好的博客帖子 Yash Katariya发现@,在这个过程中,MNIST数据集被加载,网络被训练,为了使用ML解决您的问题,它经历了您需要的所有阶段 您提到您尝试过模板匹配,但是您也提到旋转并不重要,这对我来说意味着对象可以旋转,这将导致TM失败 您可以查看LBP(本地二进制模式),或者OpenCV的Haar分类器(不过它对旋转非常敏感) 除了我建议的项目之外,还有一个很棒的教程@,它使用了一些功能和机器学习,您可以从中受益,从而应用于这个问题
我希望在不直接回答您的问题的同时,我已经给了您一套工具,您可以使用这些工具花费一些时间和阅读来解决问题。“我尝试了一些东西,但没有成功”作为起点的错误描述有点过于宽泛。在模板匹配中,我将这种类型的图像作为模板,只能识别少数对象(两个或三个)。我想从分布在图像上的大约100个对象中识别对象。模板匹配不适合大小变化或旋转。不过,它有可能会影响你的形象。cv2.MatchTemplate返回一个接近图像大小的数组(图像高度-模板高度,图像宽度-模板宽度),每个数组元素都有一个分数。因此,如果要在图像中搜索模板的多个实例,则必须自己检查cv2.MatchTemplate结果。minMaxLoc实际上只会给你一场比赛。这是一个很好的替代品