我正在尝试为人脸识别项目或程序设置检测器,但始终出现此错误:
TypeError: an integer is required (got type tuple)
Run Code Online (Sandbox Code Playgroud)
我也尝试过更改:
cv2.putText(img, str(id), (x, y + h), font, 255)
至
cv2.putText(img, name, (x, y + h), font, 2, (0, 255, 0), 2)
这是我的代码:
import cv2
import numpy as np
faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cam=cv2.VideoCapture(0)
rec = cv2.face.LBPHFaceRecognizer_create()
rec.read("trainer/training_data.yml")
id=0
font=(cv2.FONT_HERSHEY_SIMPLEX,1,1,0,1)
while(True):
ret,img=cam.read()
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
faces=faceDetect.detectMultiScale(gray,1.3,5)
for(x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
id,conf=rec.predict(gray[y:y+h,x:x+w])
cv2.putText(img,str(id),(x,y+h),font,255)
cv2.imshow("FACEDETECTIONPT1",img)
if(cv2.waitKey(1)==ord('q')):
break
cam.release()
cv2.destroyAllWindows
Run Code Online (Sandbox Code Playgroud) 使用默认的--api标签在rails 5中制作了一个新API,并使用command安装了devise_token_auth gem
rails generate devise_token_auth:install User auth。这样做时rake:db:migrate,我得到这个undefined method 'devise' for User (call 'User.connection' to establish a connection)奇怪的错误,因为devise_token_auth建立在devise之上。
因此,注释掉路由会向包含以下内容的user.rb文件抛出错误
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,:omniauthable
include DeviseTokenAuth::Concerns::User
在注释掉这些行之后,它将向包含以下内容的应用程序控制器引发错误:
include DeviseTokenAuth::Concerns::SetUserByToken
在注释掉这一行之后,我得到了devise:orm错误。
还尝试将devise添加到gemfile并为用户安装devise,但也失败了,再次抛出此错误 undefined method 'devise' for User (call 'User.connection' to establish a connection)
预期要进行的迁移,
出现设计错误
应该怎么做才能解决这个问题?
PS-这是我使用Devise_token_auth gem制作的第三个API,之前没有遇到过此问题