当前位置: 首页 > 后端技术 > Python

Python图像处理-磨皮

时间:2023-03-26 11:59:54 Python

本文使用python对图像进行去皮去雀斑,制作人脸“美图”。首先,让我们上传效果图。下图(图片来源于网络),可以看出效果很好,自然不会很失真。整个过程和基本代码如下:首先,使用双边滤波来降噪。双边滤波是一种非线性滤波,可以实现降噪。噪声保存效果。与高斯滤波相比,还考虑了灰度相似性,因此双边滤波是图像空间邻近性和像素值相似性之间的折衷。temp1=cv2.lateralFilter(img,75,255,5)然后把降噪后的图像减去原图,提取出需要处理的部分,脸上可能有很多白点。temp2=cv2.subtract(temp1,img)然后对提取出来的部分进行高斯去噪处理temp3=cv2.GaussianBlur(temp2,(5,5),0)可以看到人脸上的点被剔除了,人脸cloth变得平滑temp4=cv2.add(img,temp3)然后在原图上加上降噪部分,得到最终的蒙皮后的图像。所有代码:importcv2img=cv2.imread("pic")temp4=np.zeros_like(img)temp1=cv2.lateralFilter(img,75,255,5)cv2.imshow("temp1",temp1)temp2=cv2.subtract(temp1,img)cv2.imshow("temp2",temp2)temp2=cv2.添加(温度2,(10、10、10、128))#cv2。imshow("temp2_2",temp2)#temp3=cv2.GaussianBlur(temp2,(2*v2-1,2*v2-1),0)temp3=cv2.GaussianBlur(temp2,(5,5),0)cv2.imshow("temp3",temp3)temp4=cv2.add(img,temp3)cv2.imshow("temp4",temp4)dst=cv2.addWeighted(dst,p,temp4,1-p,0.0)dst=cv2.add(dst,(10,10,10,255))cv2.imshow("结果",dst)