当前位置: 首页 > 知识库问答 >
问题:

如何从哈尔级联获得完整的头部图像

闻人杰
2023-03-14

我使用下面的代码来捕获人脸使用Haar级联分类器,但仍然没有得到完整的头部图像

from imutils.video import WebcamVideoStream
import os
import time
from datetime import datetime
from imutils.video import FPS
import cv2
cascadePath = "/home/pi/opencv-3.3.0/data/haarcascades/haarcascade_frontalface_default.xml"
eye_cascade = cv2.CascadeClassifier('/home/pi/opencv-3.3.0/data/haarcascades/haarcascade_eye.xml')
faceCascade = cv2.CascadeClassifier(cascadePath);

fn = input('Enter your Folder name: ')
os.system("mkdir "+fn)

vs = WebcamVideoStream(src=0).start()

while 1:
    time.sleep(0.05)
    frame = vs.read()
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    faces = faceCascade.detectMultiScale(gray, 1.1, 6)
    for (x,y,w,h) in faces:
        cv2.imwrite(fn+"/"+ datetime.now().strftime("%H:%M:%S.%f") + ".jpg", gray[y:y+h+30,x:x+w+20])
    cv2.imshow('frame',frame)
    key = cv2.waitKey(1) & 0xFF

共有1个答案

卫景明
2023-03-14

为了捕捉头部,你还需要减少开始裁剪面部的初始点。

您在代码中使用了灰色[y:y h 30,x:x w 20]

  • y考虑了裁剪脸的高度。这是您需要降低初始裁剪点的地方。
  • x表示不需要改变的面的宽度。

结论:在第22行cv2.imwrite()中将其改为灰色[y-20: y h, x: x w]

 类似资料:
  • 在过去的几天里做了一些阅读后,我已经取得了一些进展,下面是我想出的代码: 主要活动: HTTPRequest 没有错误,一切运行正常,但问题是-我已经建立了这个代码作为一个测试,如果我可以登录我试图登录的网站,但我无法从中获得任何信息。在我按下按钮后,似乎发生了什么事情,我发送到用户界面线程的输入流给了我这个:“java.io.BufferedInputStream@afe19b8”,每次按下按钮

  • 我有一个Android应用程序使用房间来保存我的收藏夹。 当调用时,返回一个。我从我的中检索了一个,并希望在发出网络请求后将每个收藏夹转到一个项目中,我的方法返回一个 我认为添加将创建一个新的Flowable,它将在项目发出后发出onComplete(因为Room不会发出onComplete)。 这段代码不起作用,onComplete从来没有被调用,所以也没有被调用。 是否有一种方法可以实现这些调

  • 在我的应用程序中,用户可以从相机中拍照,或者从Gallery中选择并裁剪照片以发送到服务器。所以没问题。,问题是当用户从图库中选择图片时 截取摄像头的URI路径:/mnt/sdcard/avatar_1434958383404。jpg 从存储裁剪的URI路径:/external/images/media/19 错误: IOException:/external/images/media/19:op

  • 问题内容: 我有一个哈希图如下 我的Freemarker模板是: 目的是在生成的HTML中显示键值对。请帮我做。谢谢! 问题答案: 码: 模板: 输出:

  • 我在页面中有一个图像滑块,我想通过单篇文章放置图像,wordpress提供get_post_gallery功能通过单篇文章获取图像,这一阶段已经完成,但问题是它显示缩略图图像,我想在滑块上显示完整图像,就像我们在特色图像场景中所做的那样$img=wp\u get\u attachment\u image\u src(get\u post\u缩略图\u id($post- 我想根据我在functio

  • 我有一个有30行的tableView,我还有一个位于tableView顶部的视图(不在tableView标题中),我想捕获屏幕的完整屏幕截图,包括视图和tableView的所有行,但我只能捕获tableView和视图的可见行。请帮助我,提前谢谢。这是我的代码和模拟器的屏幕截图。注意(我不希望我的视图位于tableview标题中,因为当我们滚动tableview时,它也会滚动,这就是为什么视图是固定