Python-调整图片大小

约翰·杜

我正在使用下面的代码来检测人脸:

import io
import picamera
import cv2
import numpy
import PIL
from PIL import Image
from resizeimage import resizeimage

#Load a cascade file for detecting faces
face_cascade = cv2.CascadeClassifier('/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml')

#Create a memory stream so photos doesn't need to be saved in a file
stream = io.BytesIO()

#Get the picture (low resolution, so it should be quite fast)
#Here you can also specify other parameters (e.g.:rotate the image)
with picamera.PiCamera() as camera:
    camera.resolution = (640, 480)
    camera.vflip = False
    camera.hflip = False
    camera.brightness = 60
    camera.capture(stream, format='jpeg')

#Convert the picture into a numpy array
buff = numpy.fromstring(stream.getvalue(), dtype=numpy.uint8)

#Now creates an OpenCV image
image = cv2.imdecode(buff, 1)

#Load a cascade file for detecting faces
#face_cascade = cv2.CascadeClassifier('/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml')

#Convert to grayscale
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

#Look for faces in the image using the loaded cascade file
faces = face_cascade.detectMultiScale(gray, 1.1, 5)

print "Found "+str(len(faces))+" face(s)"

#Draw a rectangle around every found face
#Crop faces and save to separate files
id = 1
for (x,y,w,h) in faces:
    cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),2)
    cropped = image[ y : y+h, x : x+w ]
    #RESIZE IMAGE to 92x112
    cropped = cv2.resize(cropped,None,92,112)
    cv2.imwrite("../reco/test_faces/cropped_face" + str(id) + ".png", cropped)
    id = id + 1

最后,我想将面孔裁剪为图像文件,并将其大小调整为92x112。这就是我尝试的

cropped = cv2.resize(cropped,None,92,112)

当我运行这个我得到

OpenCV错误:在调整大小时,文件/build/opencv-ISmtkH/opencv-2.4.9.1+dfsg/modules/imgproc/src/imgwarp断言失败(dsize.area()||(inv_scale_x> 0 && inv_scale_y> 0))。 cpp,第1835行回溯(最近一次通话最近):文件“ 1track.py”,第48行,裁剪= cv2.resize(croped,None,92,112)cv2.error:/build/opencv-ISmtkH/opencv-2.4。 9.1 + dfsg / modules / imgproc / src / imgwarp.cpp:1835:错误:(-215)dsize.area()|| (inv_scale_x> 0 && inv_scale_y> 0)在函数调整大小中

任何帮助将是巨大的。对不起,如果马术很愚蠢,我是编程的绝对新手,上面的代码是谷歌搜索的结果。。谢谢!

萨兰什·凯里沃(Saransh Kejriwal)

要将图像调整为新尺寸,您需要知道新尺寸和当前尺寸之间的比例。因此,如果要将(例如)640x480的图像设置为92x112的图像,请执行以下操作:

92/640 = 0.143 112/480 = 0.233

您可以在cv2.resize函数中使用以下比率:

cropped = cv2.resize(cropped, (0,0), fx=0.143, fy=0.233) 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调整图片大小

来自分类Dev

从CSS调整图片大小

来自分类Dev

使图片大小无法调整

来自分类Dev

Silverstripe 3.1-调整图片大小

来自分类Dev

PHP上载图片大小调整

来自分类Dev

Xamarin表格-调整相机图片大小

来自分类Dev

Java:无法调整图片大小

来自分类Dev

用Javascript调整图片大小

来自分类Dev

调整字体和图片大小

来自分类Dev

标头图片大小调整

来自分类Dev

调整多张图片大小的最佳方法?

来自分类Dev

在Pillow中自动调整图片大小

来自分类Dev

悬停时调整WordPress图片大小

来自分类Dev

调整亚马逊等网站的图片大小

来自分类Dev

在输出中调整php图片大小

来自分类Dev

根据图片大小调整div的大小

来自分类Dev

Face API Python SDK“图片大小过小”(PersonGroupPerson add_face_from_stream)

来自分类Dev

Python matplotlib.plot 足尖由于图片大小而搞砸了?

来自分类常见问题

如何在Swift中调整图片大小?

来自分类Dev

调整图片大小后出现Jcrop问题-jQuery

来自分类Dev

在VBa Excel 2013中调整注释框图片大小

来自分类Dev

在Angular.js中调整图片大小

来自分类Dev

调整图片大小,以便将其显示在UITabBarController上

来自分类Dev

传单:将弹出窗口调整为图片大小

来自分类Dev

调整ASP.NET Core 3.1中的图片大小?

来自分类Dev

在Tkinter中调整图片大小时遇到麻烦

来自分类Dev

调整ASP.NET Core 3.1中的图片大小?

来自分类Dev

在Autohotkey GUI中调整图片大小并保持宽高比

来自分类Dev

自动调整图片大小,缩放和定位