python - 使用OpenCV Python进行对象检测

标签 python opencv image-processing object-detection

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/

相关文章:

image - Keras 实时增强添加噪声和对比度

python - Vim 插件无法识别 CentOS 中的 python 文件

python - memcached/Couchbase 中的 Flask session ;他们安全吗?

c++ - 如何在 Qt GUI 应用程序中运行循环并显示 qimage

java - 无法在opencv java中乘以矩阵

java - ImageJ:在 JAVA 中使用 run() 执行命令

python - PyTorch 运行时错误 : DataLoader worker (pid(s) 15332) exited unexpectedly

Python 相当于 Matlab 的 set 函数

c++ - 从父进程到子进程的网络摄像头流

python - 如何使用 OpenCV 在图像上标记数字并绘制圆圈