fig:Shoe in the red circle is to be detected
我正在尝试使用cv2创建一个python脚本,该脚本可以识别芭蕾舞者的鞋子,并确定鞋子是否在白线之外,之上或之前(请参见图片)。
我不知道使用哪种方法,哪种算法可能会有所帮助。需要一些指导,请帮忙!
(附图片)
最佳答案
我知道将其作为评论会更好,因为它不是一个完整的答案,但是我没有足够的代表留下评论,哈哈。
您可能对OpenCV的Canny Edge检测算法感兴趣:
http://docs.opencv.org/trunk/da/d22/tutorial_py_canny.html
这将使您能够在图像中找到形状。
另外,您可以使用SimpleBlobDetector找到颜色相似的Blob:
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/
基本上,您需要拍摄一堆图片来“教”对象的外观,然后将该信息输出到CascadeClassifier可以用来检测输入图像中的对象的文件中。但是,如果您需要特定的鞋子,可能很难区分不同品牌的鞋子。另外,您可能需要在尝试检测物体之前调整输入图像(饱和度,亮度等),以获得良好的效果。
关于python - 使用OpenCV Python进行对象检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43989242/