使用 opencv 进行目标检测 python

Object Detection using opencv python

fig:Shoe in the red circle is to be detected 我正在尝试使用 cv2 创建一个 python 脚本,该脚本可以识别球员的鞋子并确定鞋子是否超出、位于白线之上或之前(请参阅图片)。 我不知道使用哪种方法,哪种算法可能会有所帮助。需要一些指导,请帮忙! (附上图片)

我意识到这作为评论会更好,因为它不是一个完整的答案,但我还没有足够的代表来发表评论,哈哈。

您可能对OpenCV的Canny边缘检测算法感兴趣: http://docs.opencv.org/trunk/da/d22/tutorial_py_canny.html 这将允许您在图像中找到形状。

此外,您可以使用 SimpleBlobDetector 找到颜色相似的斑点: https://www.learnopencv.com/blob-detection-using-opencv-python-c/

这样应该可以很容易地检测到白线。

为了检测像鞋子这样更复杂的对象,您可能必须制作类似对象检测级联文件的文件并使用 CascadeClassifier 来找到它: http://docs.opencv.org/2.4/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier

http://johnallen.github.io/opencv-object-detection-tutorial/

基本上,您拍摄一堆照片 "teach" 对象的样子,并将该信息输出到一个文件,CascadeClassifier 可以使用该文件检测输入图像中的对象。但是,如果您需要区分不同品牌的鞋子,可能很难区分。此外,您可能需要在尝试检测对象之前调整输入图像(饱和度、亮度等)以获得良好的结果。