Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Opencv识别相似对象之间的差异_Python_Opencv_Image Processing_Opencv3.0 - Fatal编程技术网

Python Opencv识别相似对象之间的差异

Python Opencv识别相似对象之间的差异,python,opencv,image-processing,opencv3.0,Python,Opencv,Image Processing,Opencv3.0,我正在进行一个项目,以找出两个对象之间的差异,并用适当的模型代码标记它们 我需要一个关于如何使用OpenCV处理图像的建议,下面是一些图片 到目前为止,我在做了二值化阈值后,尝试计算两幅图像之间的黑色像素差,还计算了垫圈上存在的一些孔 我也尝试过使用功能点,但效果不好 还可以做些什么来改进检测 谢谢这些孔是非常好的特征,可以通过斑点分析进行可靠检测 首先,确定大圆的位置并确定其中心和半径。半径可能是第一个鉴别特征 接下来,围绕中心建立螺孔的配置。可以使用到中心的距离、孔的数量以及它们围绕中心

我正在进行一个项目,以找出两个对象之间的差异,并用适当的模型代码标记它们

我需要一个关于如何使用OpenCV处理图像的建议,下面是一些图片

到目前为止,我在做了二值化阈值后,尝试计算两幅图像之间的黑色像素差,还计算了垫圈上存在的一些孔

我也尝试过使用功能点,但效果不好

还可以做些什么来改进检测


谢谢

这些孔是非常好的特征,可以通过斑点分析进行可靠检测

首先,确定大圆的位置并确定其中心和半径。半径可能是第一个鉴别特征

接下来,围绕中心建立螺孔的配置。可以使用到中心的距离、孔的数量以及它们围绕中心定义的角度


如果这还不够,您可以注册垫圈,并通过匹配螺孔、调整旋转、然后使用类似度量(如SAD或SSD)进行像素级比较,将其与模型进行比较。

这些孔是可以通过斑点分析可靠检测到的优秀特征

首先,确定大圆的位置并确定其中心和半径。半径可能是第一个鉴别特征

接下来,围绕中心建立螺孔的配置。可以使用到中心的距离、孔的数量以及它们围绕中心定义的角度


如果这还不够,您可以注册垫片,并通过匹配螺孔、调整旋转、然后使用类似度量(如SAD或SSD)进行像素级比较,将其与模型进行比较。

为什么孔数不能区分这两种形状?它确实,但我有100多个这样的物体,形状和孔都不一样。这类物体中的任意两个可能有相同数量的孔,但形状不同。那么,还有什么是有意义的呢?直径、厚度、孔位置等。。。采取任何你无法区分的两种形状,找到一个新的概念来区分它们,然后把它作为一个特征添加到你的集合中。实际上,这是垫圈,我想不出直径是从我的角度考虑的一个特征Cris。因为这个垫圈也有不规则的形状。谢谢你的提示,我将试着通过比较两个类似的垫圈来找出我可以考虑的特征:为什么孔的数量不能区分这两种形状?它确实是这样的,但是我有100种这样的物体,形状和洞都是不同的。这类物体中的任意两个可能有相同数量的孔,但形状不同。那么,还有什么是有意义的呢?直径、厚度、孔位置等。。。采取任何你无法区分的两种形状,找到一个新的概念来区分它们,然后把它作为一个特征添加到你的集合中。实际上,这是垫圈,我想不出直径是从我的角度考虑的一个特征Cris。因为这个垫圈也有不规则的形状。谢谢你的提示,我会尝试找出什么我可以考虑的特点,通过比较两个类似的垫圈: