我有一個視頻由不同的對象,如正方形,矩形,三角形組成。我以某種方式需要檢測和顯示只有方形對象。所以在每一幀中,如果有一個正方形,那就很好,但如果有一個三角形或矩形,就應該顯示它。我正在使用背景減法,並且能夠檢測到所有三個對象並在它們周圍創建邊界框。但我無法弄清楚如何只顯示方形對象。如何使用Python檢測視頻opencv中的對象?
0
A
回答
3
您可以使用下面的算法:
-Perform背景減法,你正在做的目前
在輪廓-enclose前景(使用findContours(,,,),然後drawContours(,,,)功能)
-enclose獲得輪廓在邊界框(使用boundingRect(,,,)函數)
邊界框的面積-if近似等於該封閉輪廓,那麼形狀是正方形或矩形,不三角形。 (包圍三角形的方框的很大一部分將位於三角形之外)
-if boundingBox的高度大約等於它的寬度,那麼它就是一個正方形。 (通過Rect.height和Rect.width訪問高度和寬度)
1
你的物體如何填充或只是一個輪廓? 在任何一種情況下,我會採用的方法是通過查找最大梯度或僅通過邊界框來檢測頂點。頂點將位於邊界框上。一旦有頂點,就可以通過查找連續頂點之間的距離來判斷對象是正方形還是矩形。
相關問題
- 1. 如何使用SURF和C檢測視頻中的對象?
- 2. 如何使用opencv在視頻中放置對象
- 3. 如何在OpenCV中的sobel檢測之後檢測對象
- 4. Python:使用python在OpenCV中測試視頻
- 5. 使用openCV檢測多個對象
- 6. 檢測多個對象(使用OpenCV)
- 7. python opencv不會使用視頻編寫器對象編寫視頻?
- 8. 如何使用OpenCV生成用於對象檢測的HarrCascade XML?
- 9. 如何使用OpenCV從python中的NamedTempFile中讀取視頻
- 10. OpenCV特定對象檢測
- 11. Android OpenCV對象檢測
- 12. OpenCV對象檢測教程
- 13. 使用LatentSVMDetector從視頻中檢測對象
- 14. 如何檢測OpenCV Python中的紅色?
- 15. OpenCV中的對象檢測示例
- 16. 如何使用opencv減去python中的兩個視頻幀
- 17. 使用cv :: Mat圖像(opencv)我如何檢測對象?
- 18. 如何使用opencv檢測藍色對象
- 19. 用openCV + python打開視頻
- 20. 如何在視頻流中使用Opencv逐幀處理視頻圖像python
- 21. 在Python中爲OpenCV視頻對象指定壓縮質量
- 22. 通過opencv中的顏色檢測對象python
- 23. 如何在python中使用opencv讀取視頻流
- 24. 如何使用openCV和python從流中逐幀獲取視頻
- 25. 如何在Python中使用OpenCV存儲攝像頭視頻
- 26. HOG用於「檢測對象」opencv
- 27. 如何使用C++中的opencv檢測瞳孔和視線?
- 28. OpenCV對象檢測 - 中心點
- 29. 如何檢測使用html5視頻播放哪個視頻源
- 30. 如何讓OpenCV檢測docker中使用conda安裝的python
你嘗試過一些東西,比如[opencv官方示例](https://github.com/Itseez/opencv/blob/master/samples/python/squares的.py)? – Miki
向我們展示您嘗試過的代碼。 –