有没有办法使用haar级联从检测到的对象获取所有坐标?

时间:2018-02-12 11:23:37

标签: opencv haar-classifier

我使用下面的教程来检测对象并获取包含对象的矩形的坐标 https://docs.opencv.org/3.3.1/d2/d99/tutorial_js_face_detection.html

但是我想得到对象的所有坐标(不是直角坐标的矢量)来进行对象提取。我怎么能这样做?有没有任何函数可以做到?

例如: enter image description here

1 个答案:

答案 0 :(得分:1)

Haar-cascades已被训练为仅返回检测到的物体的直角坐标而不是轮廓。

但请尝试以下方法:

1)使用直角坐标

创建蒙版

2)使用Mask图像(检查cv2.bitwise_and)

屏蔽对象区域

3)如果适用,则使用canny或阈值进行边缘检测。

4)找到轮廓。 您可以使用cv2.findcontours函数,您可以在其中设置cv2.findcontours(..,..,method = CHAIN_APPROX_NONE )以获取位于轮廓上的所有点。