gpt4 book ai didi

python - OpenCV 裁剪图像并显示裁剪后的原始图像

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:42 27 4
gpt4 key购买 nike

我有一张图片如下:

enter image description here

在这张图片上,我正在运行一个人脸检测代码,如下所示:如果您想运行此代码,请查看更多详细信息 here

人脸检测器:

import cv2

# Load the cascade
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# Read the input image
img = cv2.imread('5.jpg')

# Convert into grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# Detect faces
faces = face_cascade.detectMultiScale(gray, 1.1, 4)

# Draw rectangle around the faces
for (x, y, w, h) in faces:
cv2.rectangle(img, (x-20, y-70), (x + w + 50, y + h + 50), (255, 0, 0), 2)

crop_img = img[y:y+h, x:x+w]


cv2.imwrite("cropped.jpg", crop_img)

作为此代码图像的输出,我得到

enter image description here

我想要的是:

enter image description here

在输出中,我想要整个图像,但脸部被移除。如何实现这个结果?

最佳答案

只需使用 numpy 覆盖像素:

img[y1:y1+h, x1:x1+w, 0] = 0
img[y1:y1+h, x1:x1+w, 1] = 0
img[y1:y1+h, x1:x1+w, 2] = 0

注意 numpy 有一个奇怪的索引系统,行在前,列在后(与普通索引相反)

关于python - OpenCV 裁剪图像并显示裁剪后的原始图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57543730/

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