提高图片清晰度对模糊人脸修复并保存处理后图片的python脚本程序
以下是提高图片清晰度、修复模糊人脸并保存处理后图片的Python脚本程序:
import cv2
import numpy as np
# 加载图像
img = cv2.imread('input.jpg')
# 图像增强
img = cv2.resize(img, None, fx=2.5, fy=2.5, interpolation=cv2.INTER_CUBIC)
# 人脸识别
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
# 修复模糊人脸
for (x,y,w,h) in faces:
roi = img[y:y+h, x:x+w]
blur = cv2.GaussianBlur(roi, (25,25), 0)
img[y:y+h, x:x+w] = blur
# 保存处理后的图像
cv2.imwrite('output.jpg', img)
说明:
- 首先加载图像。
- 接着进行图像增强,使用cv2.resize()函数对图像进行放大,这里放大倍数为2.5,使用INTER_CUBIC插值方法。
- 进行人脸识别,使用cv2.CascadeClassifier()加载人脸识别分类器,使用detectMultiScale()函数进行人脸检测,返回所有检测到的人脸的矩形框坐标。
- 遍历所有检测到的人脸,使用cv2.GaussianBlur()函数对人脸进行模糊处理,然后将处理后的人脸图像复制回原图像中,完成人脸修复。
- 最后使用cv2.imwrite()函数保存处理后的图像。
注意:在运行脚本前需要先下载人脸识别分类器文件haarcascade_frontalface_default.xml,并将其放置在与脚本文件同一目录下
原文地址: https://www.cveoy.top/t/topic/cqdw 著作权归作者所有。请勿转载和采集!