Image processing 用OpenCV-Haar级联分类器寻找形状
我在一些雷达数据中寻找抛物线。我使用的是OpenCV Haar级联分类器。我的正片是20x20 PNG,所有像素都是黑色的,除了那些追踪抛物线形状的像素——每个正片一个抛物线 我的问题是:这些积极因素会训练分类器寻找含有抛物线的黑匣子,还是训练分类器寻找抛物线形状 我应该在我的正面图像中添加一层中等价值的噪声,还是它们应该是不切实际的清晰和高对比度 下面是原始数据的一个示例 下面是我使用GIMP执行简单边缘检测后的数据示例。抛物线形状在白色框中高亮显示 这是我的一个正面形象Image processing 用OpenCV-Haar级联分类器寻找形状,image-processing,opencv,object-recognition,Image Processing,Opencv,Object Recognition,我在一些雷达数据中寻找抛物线。我使用的是OpenCV Haar级联分类器。我的正片是20x20 PNG,所有像素都是黑色的,除了那些追踪抛物线形状的像素——每个正片一个抛物线 我的问题是:这些积极因素会训练分类器寻找含有抛物线的黑匣子,还是训练分类器寻找抛物线形状 我应该在我的正面图像中添加一层中等价值的噪声,还是它们应该是不切实际的清晰和高对比度 下面是原始数据的一个示例 下面是我使用GIMP执行简单边缘检测后的数据示例。抛物线形状在白色框中高亮显示 这是我的一个正面形象 我找到了一种方法
我找到了一种方法,最初使用OpenCV中的MatchTemplate方法检测抛物线。起初,我使用的是Python
cv
,后来使用的是cv2
库,但我必须确保我的输入图像是8位无符号整数数组。最终,我使用scipy.signal.correlate2d(图像、模板、模式='same')
获得了类似的效果,而且不太麻烦。mode='same'
将输出大小调整为图像的大小。完成后,我使用numpy.where()
函数执行阈值设置,并使用scipy.ndimage
模块打开和关闭以消除椒盐噪声
这是阈值设置之前的输出
发布一些照片。得到好的答案真的很有帮助。但是一个快速的答案是你不需要像Haar这样复杂的抛物线。谢谢你的快速回复@vasile。哈尔训练需要很长时间才能完成。你推荐什么来检测抛物线?你想在这里检测什么?水平线中断的列索引?还是山峰?你能在你想要检测的特征周围画一条红线吗?你还说这张照片是用Gimp处理的。也希望能看到原作。哈尔在这里似乎帮不了什么忙,但这是一个非常有趣的问题,有非常(非常)微弱的抛物线特征。在原始数据(绿色图像)中,红色和蓝色线下有一条微弱的抛物线,大约147英尺(刻度线以几十英尺为单位)。同样,如果Haar不是最佳选择,您还有其他建议吗?