1. 簡答題
請為圖中人做美肌處理,去痘或去皺紋。(2選1,或自選圖片)
作業(yè)內(nèi)容請包含所用的算法說明,效果圖,主要算法的代碼,以及對效果圖的分析。所有內(nèi)容用圖片或文字的形式提交,不要用附件。
2. 答案
2.1 分析問題
????????圖一可見大量痘點,痘點在途中屬于噪聲,考慮首先采用卷積核大小為9的中值濾波器減小聲,濾波會導致細節(jié)減少以及亮度下降,考慮濾波后與原圖相加恢復一定的細節(jié),再對圖像進行銳化、對比度增強,經(jīng)銳化后的圖像發(fā)絲細節(jié)仍然損失很多,考慮到發(fā)絲垂直分布,采用sobel算子提取原圖中豎直方向的細節(jié)后與上述step3得到的圖像相加得到最終圖像。
2.2 具體步驟及代碼
step1. 采用中指濾波器進行平滑濾波去噪,減弱圖一的痘痘(噪聲),選定kernelsize=9
step2. 上述步驟所得圖像與原圖按照0.2:0.8的權重相加,恢復一部分細節(jié)



step3. 對上述步驟所得圖像進行銳化以及對比度增強

step4. 使用sobel算子的濾波器提取垂直方向的細節(jié)(主要是發(fā)絲),選定kernelsize=3,scale=0.5,再進行重新整定

step5. 將上述兩步所得圖像進行疊加,得到最終圖像
?結果 = “sobel” + “enhanced”
2.3 代碼文章來源:http://www.zghlxwxcb.cn/news/detail-772473.html
import cv2
from PIL import Image
from PIL import ImageEnhance
import numpy as np
def facial_dermabrasion_effect(fileName):
img = cv2.imread(fileName)
#中值濾波,kersize=9
blur_img = cv2.medianBlur(img, 9)
#按權重疊加圖像,原圖0.2,去噪后圖像0.8
result_img = cv2.addWeighted(img, 0.2, blur_img, 0.8, 0)
cv2.imwrite("fusionimg.jpg", result_img)
image = Image.open("fusionimg.jpg")
# 銳化
enh_img = ImageEnhance.Sharpness(image)
image_sharped = enh_img.enhance(2.0)
# 對比度增強
con_img = ImageEnhance.Contrast(image_sharped)
image_con = con_img.enhance(1.15)
#sobel算子的濾波器提取垂直方向細節(jié),kernelsize=3,scale=0.5
image_con = np.asarray(image_con)
img_sobelxy = cv2.Sobel(image_con, cv2.CV_64F, 1, 0,0.5, 3, 0)
img_sobelxy = cv2.convertScaleAbs(img_sobelxy)
image_con = np.asarray(image_con)
image_con = cv2.addWeighted(img_sobelxy,1,image_con,1,0)
cv2.imwrite("resultimg.jpg", image_con)
image_con = Image.open("resultimg.jpg")
image_con.save("resultimg.jpg")
img1 = cv2.imread("1.jpg")
img2 = cv2.imread("resultimg.jpg")
cv2.imshow("Origin", img1)
cv2.imshow("After", img2)
cv2.waitKey()
cv2.destroyAllWindows()
if __name__ == "__main__":
facial_dermabrasion_effect('1.jpg')
2.4 最終對比文章來源地址http://www.zghlxwxcb.cn/news/detail-772473.html


到了這里,關于美顏算法--數(shù)字圖像處理作業(yè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!