gpt4 book ai didi

python - 如何在opencv中裁剪检测到的脸部并将roi另存为opencv python中的图像

转载 作者:行者123 更新时间:2023-12-02 17:50:30 24 4
gpt4 key购买 nike

我在python中使用opencv,这是我检测脸部并保存脸部的代码..但是它没有保存ROI(检测到脸部),我在执行此操作时遇到了麻烦。请帮助我解决此问题。

   TRAINSET = "data/lbpcascades/lbpcascade_frontalface.xml"
DOWNSCALE = 4

cam = cv2.VideoCapture(0) #capture a video

cv2.namedWindow("preview")
classifier = cv2.CascadeClassifier(TRAINSET)

Compare_images=[]
for file in os.listdir("images"):
if file.endswith(".jpg"):
Compare_images.append(file)
while True: # try to get the first frame
_, frame = cam.read()

key = cv2.waitKey(20)
if(key==32):

print "Name of Image:"

n= raw_input()

value=len(Compare_images)
cv2.imwrite('images/image'+str(n)+'.jpg', frame)
saved_image=cv2.imread("images/image"+str(n)+".jpg")
minisize = (saved_image.shape[1]/DOWNSCALE,saved_image.shape[0]/DOWNSCALE)
miniframe = cv2.resize(saved_image, minisize)
faces = classifier.detectMultiScale(miniframe)
for f in faces:
x, y, w, h = [ v*DOWNSCALE for v in f ]
print x
print y,w,h

x0,y0=int(x),int(y)
x1,y1=int(x+w),int(y+h)
print x0,y0,y1,y0

image = cv2.rectangle(saved_image, (x0,y0), (x1,y1), (0,0,255),2)

roi=saved_image[y0:y1,x1:x0]#crop
cv2.imwrite('roi.jpg',roi)
cv2.imshow("adsa", saved_image)


cv2.putText(frame, "Press ESC to close.", (5, 25),
cv2.FONT_HERSHEY_SIMPLEX, 1.0, (255,255,255))
cv2.imshow("preview", frame)

最佳答案

你的意思是?:

.
.
.
print x0,y0,x1,y1
.
.
.
roi=saved_image[y0:y1,x0:x1]
while语句上方和下方的缩进似乎不正确。

三重引号仅应暂时用于块引号,因为它们可能会引起问题。

也许使用 #代替:
#x0,y0=x,y
#x1,y1=x+w,y+h

除非那样,否则应该阅读该功能的帮助。

在您的问题中包括错误也将有所帮助。

关于python - 如何在opencv中裁剪检测到的脸部并将roi另存为opencv python中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22775604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com