AttributeError at /app/ Объект 'numpy.ndarray' не имеет атрибута 'read'
Я делаю wep приложение для распознавания лиц с помощью django и face_recogntion api, я не знаю, как решить эту ошибку
from django.http import HttpResponse
from django.shortcuts import redirect, render
from .models import *
import face_recognition
import cv2
import urllib.request
import numpy as np
import dlib
def Home(request):
print(f'request method is {request.method}')
if(request.method=='GET'):
return render(request, "app.html")
elif(request.method=='POST'):
print(f'printing req body {request.POST["imageURL"]}')
imageURL = urllib.request.urlopen(request.POST["imageURL"])
imageURL = face_recognition.load_image_file(imageURL)
image = face_recognition.load_image_file(imageURL)
image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
imgLoc = face_recognition.face_locations(image);
print(f'Image imagLoc {imgLoc}')
cv2.imshow(image)
cv2.waitKey(3000)
return redirect('/app/')
Я впервые задаю вопрос на stackoverflow, поэтому прошу прощения за возможные ошибки.
Ваша проблема здесь:
imageURL = urllib.request.urlopen(request.POST["imageURL"])
imageURL = face_recognition.load_image_file(imageURL)
image = face_recognition.load_image_file(imageURL)
Первый
imageURL = face_recognition.load_image_file(imageURL)
Теперь imageURL имеет тип numpy.ndarray. Тогда
image = face_recognition.load_image_file(imageURL)
Здесь вы пытаетесь загрузить изображение еще раз, передавая это numpy.ndarray в качестве аргумента вместо того, чтобы передать путь к файлу изображения, т.е. строку.
Я не понимаю, почему вы пытаетесь загрузить это изображение дважды.