1. 编写一个程序,将给定图像lena的人脸部分复制到另一幅图像doc内。 1(1)图像路径:超星/课程资料/实验实训1资料/素材1; 1(2)参考结果:图像result。
时间: 2024-10-10 19:10:54 浏览: 40
在Python中,可以使用OpenCV库来实现图像处理功能,包括人脸检测和图像复制。这里是一个简单的示例步骤:
```python
import cv2
import os
# 读取原始图像
img_lena = cv2.imread(os.path.join('超星', '课程资料', '实验实训1资料', '素材1', 'lena.jpg'))
# 加载人脸识别模型(例如Haar cascades分类器)
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# 人脸检测
gray = cv2.cvtColor(img_lena, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
# 如果找到人脸
if faces:
# 选择第一个人脸区域
x, y, w, h = faces[0]
# 截取人脸并将其缩放至合适的尺寸
face_roi = img_lena[y:y+h, x:x+w]
# 打开目标图片doc
img_doc = cv2.imread(os.path.join('超星', '课程资料', '实验实训1资料', '素材1', 'doc.jpg'))
# 将人脸复制到目标位置
dst = img_doc.copy()
dst[y:y+h, x:x+w] = face_roi
# 写入结果图像
result_path = 'result.jpg'
cv2.imwrite(result_path, dst)
print(f"人脸已成功复制到'doc.jpg',保存为'result.jpg'")
else:
print("未检测到人脸")
阅读全文