以下是提高图片清晰度、修复模糊人脸并保存处理后图片的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)

说明:

  1. 首先加载图像。
  2. 接着进行图像增强,使用cv2.resize()函数对图像进行放大,这里放大倍数为2.5,使用INTER_CUBIC插值方法。
  3. 进行人脸识别,使用cv2.CascadeClassifier()加载人脸识别分类器,使用detectMultiScale()函数进行人脸检测,返回所有检测到的人脸的矩形框坐标。
  4. 遍历所有检测到的人脸,使用cv2.GaussianBlur()函数对人脸进行模糊处理,然后将处理后的人脸图像复制回原图像中,完成人脸修复。
  5. 最后使用cv2.imwrite()函数保存处理后的图像。

注意:在运行脚本前需要先下载人脸识别分类器文件haarcascade_frontalface_default.xml,并将其放置在与脚本文件同一目录下


原文地址: https://www.cveoy.top/t/topic/cqdw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录