python框出多个指定图片中的人脸并且保存(不用dlib)并且完整写下来
时间: 2024-03-25 14:39:24 浏览: 23
要实现这个功能,可以使用Python的OpenCV库,以下是实现步骤:
1. 安装OpenCV库
使用pip命令安装OpenCV库:
```
pip install opencv-python
```
2. 导入库
在Python代码中导入OpenCV库:
```python
import cv2
```
3. 加载图片
使用OpenCV加载图片:
```python
img = cv2.imread('your_image.jpg')
```
4. 加载人脸检测器
使用OpenCV提供的人脸检测器:
```python
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
```
5. 检测人脸
使用人脸检测器检测图片中的人脸:
```python
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
```
6. 框出人脸并保存
遍历检测到的人脸,并在图片中框出人脸:
```python
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
crop_img = img[y:y+h, x:x+w]
cv2.imwrite('face_{}.jpg'.format(counter), crop_img)
counter += 1
```
在上述代码中,我们使用了cv2.rectangle函数框出人脸,并使用cv2.imwrite函数保存人脸图片。
完整代码如下:
```python
import cv2
# 加载图片
img = cv2.imread('your_image.jpg')
# 加载人脸检测器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 检测人脸
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
# 遍历检测到的人脸,并在图片中框出人脸
counter = 1
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
crop_img = img[y:y+h, x:x+w]
cv2.imwrite('face_{}.jpg'.format(counter), crop_img)
counter += 1
# 显示图片
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,我们也使用了cv2.imshow函数显示图片。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)