增强图片画质提高图片中人物清晰度并保存处理后图片的python程序
以下是一种可能的Python程序,可以使用OpenCV库来增强图片画质和提高人物清晰度。请注意,这个程序的效果可能会因图片质量、光照等因素而有所不同。
import cv2
# 读取原始图片
img = cv2.imread('input.jpg')
# 对原始图片进行增强处理
enhanced = cv2.detailEnhance(img, sigma_s=10, sigma_r=0.15)
enhanced = cv2.bilateralFilter(enhanced, 9, 75, 75)
# 对人物区域进行清晰度增强
gray = cv2.cvtColor(enhanced, cv2.COLOR_BGR2GRAY)
th, threshed = cv2.threshold(gray, 100, 255, cv2.THRESH_BINARY_INV)
cnts = cv2.findContours(threshed, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)[-2]
for cnt in cnts:
x,y,w,h = cv2.boundingRect(cnt)
cv2.rectangle(enhanced,(x,y),(x+w,y+h),(255,255,255),2)
roi = enhanced[y:y+h, x:x+w]
roi = cv2.detailEnhance(roi, sigma_s=10, sigma_r=0.15)
enhanced[y:y+h, x:x+w] = roi
# 保存处理后的图片
cv2.imwrite('output.jpg', enhanced)
这个程序使用了两个OpenCV函数来对图片进行增强处理:detailEnhance和bilateralFilter。detailEnhance函数可以增强图像的细节,而bilateralFilter函数可以消除噪声并保留边缘信息。然后,程序使用cvtColor函数将增强后的图片转换为灰度图像,并使用threshold和findContours函数找到人物区域的轮廓。最后,程序对人物区域进行了另一次detailEnhance处理,以进一步增强人物的清晰度。最终,处理后的图片保存在output.jpg文件中
原文地址: https://www.cveoy.top/t/topic/cqel 著作权归作者所有。请勿转载和采集!