【问题标题】:Solve error: Expected Ptr<cv::UMat> for argument '%s'解决错误:参数“%s”的预期 Ptr<cv::UMat>
【发布时间】:2021-10-02 23:02:46
【问题描述】:
FcascPath='/content/drive/MyDrive/COTM july/Copy of haarcascade_frontalface_default.xml'

#Create the haar cascade
faceCascade = cv2.CascadeClassifier(FcascPath)

def imgdetect(gray,image):
  faces=faceCascade.detectMultiScale(gray,1.3,5)
  for (x,y,w,h) in faces:
    cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)
    roi_gray=gray[y:y+h,x:x+w]
  return image

i10="/content/drive/MyDrive/COTM july/Faces /10.jpg"
gr = cv2.cvtColor(i10, cv2.COLOR_BGR2GRAY)

canvas=imgdetect(gr,i10)
cv2.imshow("resultvideo", canavs)

它显示了这个:

TypeError Traceback(最近一次调用最后一次) 在 () 13 14 i10="/content/drive/MyDrive/COTM july/Faces /10.jpg" ---> 15 gr = cv2.cvtColor(i10, cv2.COLOR_BGR2GRAY) 16 17 画布=imgdetect(gr,i10)

TypeError: Expected Ptr<:umat> for argument '%s

【问题讨论】:

    标签: python debugging cv2 cascade


    【解决方案1】:

    在将其转换为灰度之前,您尚未读取图像文件。只需执行以下操作:-

    FcascPath='/content/drive/MyDrive/COTM july/Copy of haarcascade_frontalface_default.xml'
    
    #Create the haar cascade
    faceCascade = cv2.CascadeClassifier(FcascPath)
    
    def imgdetect(gray,image):
      faces=faceCascade.detectMultiScale(gray,1.3,5)
      for (x,y,w,h) in faces:
        cv2.rectangle(image,(x,y),(x+w,y+h),(0,255,0),2)
        roi_gray=gray[y:y+h,x:x+w]
      return image
    
    i10="/content/drive/MyDrive/COTM july/Faces /10.jpg"
    image = cv2.imread(i10)
    gr = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    
    canvas=imgdetect(gr,i10)
    cv2.imshow("resultvideo", canavs)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-30
      • 1970-01-01
      • 2021-09-04
      • 2020-10-06
      • 1970-01-01
      • 2021-08-10
      • 2020-08-27
      相关资源
      最近更新 更多