如何解决为什么我会得到一个NoneType?
有人可以看到我要去哪里了吗?我一直在逐行处理它,直到new_face开始产生NoneType时,所有这些都会产生预期的结果。
import numpy,cv2
from PIL import Image
face_cascade = cv2.CascadeClassifier("..data/haarcascade_frontalface_default.xml") #absolute path cut down for privacy
def find_faces(image_for_faces):
image = image_for_faces.resize((1800,3150))
image_np = numpy.asarray(image)
image_gray = cv2.cvtColor(image_np,cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(image_gray) #correct numpy array,prints correct coordinates per face
face_list = []
image.show()
for face in faces:
print(face)
box = (face[0],face[1],face[0]+face[2],face[1]+face[3]) #correctly produces numpy coordinates
copy_image = image.copy()
cropped = copy_image.crop(box = (box))
new_face = cropped.thumbnail((128,128))
face_list.append(new_face)
return face_list
y = Image.open('famphoto.jpg')
z = y.convert('RGB')
x = find_faces(z)
解决方法
Image.thumbnail()
在适当位置修改Image
对象,在docs中详细了解它。它提到它返回None
类型。
Image.thumbnail:
将此图像制作为缩略图。此方法将图像修改为 包含本身的缩略图版本,不大于给定的大小。 此方法计算适当的缩略图大小以保留 图像的方面,调用draft()方法来配置文件 阅读器(如果适用),最后调整图像大小。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。