哈嘍~大家好,我是恰恰,好久不見哈哈~又到了有趣的Python學習時間啦!七夕快到了,相信男同學們早就準備好驚喜和禮物啦!但是我還是要給大家分享一下,學了Python總不能白學對吧!給女朋友展示一下學習Python的成果,用Python把她的照片變成素描圖發給她,說是你畫的,她不相信再操作給她看,他肯定會覺得很厲害的,Python可以做出各種特效,比只會用軟體的人更厲害呀!下面就讓我們來看看吧~
運行程式前需要先安裝:PIL及nump模塊,整個程式比較簡單,只有不到30行代碼,將原圖與主程式置于同一目錄,將原圖名替換程式中的wife.jpg即可,會在主程式同目錄下生成手繪.jpg,先上效果圖:

需要更多學習資料、軟體安裝包的同學可以點擊鏈接免費領取https://docs.qq.com/doc/DZmpWZHpqZFFFZGhh?pub=1&dver=2.1.27114328
完整程式代碼
'''Function:Python生成素描照Author:Python代碼狂人微信公眾號:Python代碼大全'''from PIL import Imageimport numpy as npa = np.asarray(Image.open(r".\wife.jpg").convert('L')).astype('float')depth = 10. # (0-100)grad = np.gradient(a) # 取影像灰度的梯度值grad_x, grad_y = grad # 分別取橫縱影像梯度值grad_x = grad_x * depth / 100.grad_y = grad_y * depth / 100.A = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.)uni_x = grad_x / Auni_y = grad_y / Auni_z = 1. / Avec_el = np.pi / 2.2 # 光源的俯視角度,弧度值vec_az = np.pi / 4. # 光源的方位角度,弧度值dx = np.cos(vec_el) * np.cos(vec_az) # 光源對x 軸的影響dy = np.cos(vec_el) * np.sin(vec_az) # 光源對y 軸的影響dz = np.sin(vec_el) # 光源對z 軸的影響b = 255 * (dx * uni_x + dy * uni_y + dz * uni_z) # 光源歸一化b = b.clip(0, 255)im = Image.fromarray(b.astype('uint8')) # 重構影像im.save(r".\手繪.jpg")print("保存成功,請查看")
一年一度的七夕又到啦!希望有情人終成眷屬(兄妹),哈哈哈開玩笑,希望大家早日學成Python,成為厲害的大佬哦~
需要更多學習資料、軟體安裝包的同學可以點擊鏈接免費領取https://docs.qq.com/doc/DZmpWZHpqZFFFZGhh?pub=1&dver=2.1.27114328
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/293459.html
標籤:python
