Что означает ошибка дозы ->
ret, im =image.read(); AttributeError: 'JpegImageFile' object has no attribute 'read'.
Я работаю над обработкой изображений и пишу программу для обнаружения лиц (на живой камере), и она работает.я использую код python2.7.12 ->
python
import cv2
import numpy as np
from PIL import Image
id=0
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('recognizer/trainner.yml')
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath);
cam = cv2.VideoCapture(0)
fontFace = cv2.FONT_HERSHEY_SIMPLEX
fontScale = 1
fontColor = (255, 255, 255)
while True:
ret, im =cam.read();
gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
faces=faceCascade.detectMultiScale(gray, 1.2,5)
for(x,y,w,h) in faces:
cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0),2)
id,conf = recognizer.predict(gray[y:y+h,x:x+w])
print(id)
if id==2:
id="mohan"
elif id==3:
id="krishna"
elif id==4:
id="satyam"
elif id==5:
id="Priyavrat"
elif id==0:
id="Unknown"
cv2.putText(im,str(id), (x,y+h),fontFace,fontScale,fontColor)
cv2.imshow('im',im)
if (cv2.waitKey(1)==ord('q')):
break;
cam.release()
cv2.destroyAllWindows()
он работает, но я хочу использовать этот код для определенного изображения, чтобы определить лицо, и язамените камеру на адрес изображения .code ->
import cv2
import numpy as np
from PIL import Image
id=0
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('recognizer/trainner.yml')
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath);
image = Image.open('dataSet/User. 1.14.jpg')
fontFace = cv2.FONT_HERSHEY_SIMPLEX
fontScale = 1
fontColor = (255, 255, 255)
while True:
ret, im =image.read();
gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
faces=faceCascade.detectMultiScale(gray, 1.2,5)
for(x,y,w,h) in faces:
cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0),2)
id,conf = recognizer.predict(gray[y:y+h,x:x+w])
print(id)
if id==2:
id="mohan"
elif id==3:
id="krishna"
elif id==4:
id="satyam"
elif id==5:
id="Priyavrat"
elif id==0:
id="Unknown"
cv2.putText(im,str(id), (x,y+h),fontFace,fontScale,fontColor)
cv2.imshow('im',im)
if (cv2.waitKey(1)==ord('q')):
break;
cam.release()
cv2.destroyAllWindows()
я использую image = Image.open('dataSet/User. 1.14.jpg')
для выбора изображения, но этот код показывает ошибку>
ret, im =image.read();
AttributeError: 'JpegImageFile' object has no attribute 'read
Пожалуйста, помогите мне ...