我正在用python制作一個程式,它只在汽車周圍繪制一個矩形。我目前一直在獲取汽車的坐標,這是代碼:
#################################################
import cv2
#################################################
car_data = cv2.CascadeClassifier(cv2.data.haarcascades "cars.xml")
img = cv2.imread("car_front.jpeg")
#################################################
img_but_bnw = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
car_coordinates = car_data.detectMultiScale(img_but_bnw)
print(car_coordinates)
#################################################
cv2.imshow("Detect Everything", img_but_bnw)
cv2.waitKey()
print("Code Completed")
#################################################
我遇到了函式“cv2.detectMultiScale”的錯誤。錯誤:
File "e:\Python2\Body_Detection.py", line 11, in <module>
car_coordinates = car_data.detectMultiScale(img_but_bnw)
cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
我試過谷歌搜索,它說使用cv2.CascadeClassifier(cv2.data.haarcascades "cars.xml")而不是cv2.CascadeClassifier("cars.xml"). 它沒有用:(,任何幫助將不勝感激。
uj5u.com熱心網友回復:
該檔案cars.xml不是opencv庫的一部分,盡管您可以在 Internet 上找到使用此檔案名的教程。所尋址的檔案夾cv2.data.haarcascades包括用于眼睛和面部檢測之類的 xml 示例(當前內容參見https://github.com/opencv/opencv/tree/master/data)。
您可以搜索cars.xml其他作者的現有示例并將其復制到您的專案檔案夾中。然后只使用"cars.xml"沒有cv2.data.haarcascades.
例如,我發現這個專案Vehicle Detection with Haar Cascades包含一個cars.xml與您上面的代碼一起正常作業的檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/514994.html
