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 в качестве аргумента вместо того, чтобы передать путь к файлу изображения, т.е. строку. Я не понимаю, почему вы пытаетесь загрузить это изображение дважды.

Вернуться на верх