Python實現手繪功能

手繪圖確實很好看,但對於手殘黨的我,只能呵呵一笑,今天就用代碼來實現手繪功能,把普通的圖片轉換為手繪圖片。

代碼

from PIL import Imagenimport numpy as npnna = np.asarray(Image.open(rC:UsersluopanDesktop1.jpg).convert(L)).astype(float)nndepth = 10. # (0-100)ngrad = np.gradient(a) # 取圖像灰度的梯度值ngrad_x, grad_y = grad # 分別取橫縱圖像梯度值ngrad_x = grad_x * depth / 100.ngrad_y = grad_y * depth / 100.nA = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.)nuni_x = grad_x / Anuni_y = grad_y / Anuni_z = 1. / Annvec_el = np.pi / 2.2 # 光源的俯視角度,弧度值nvec_az = np.pi / 4. # 光源的方位角度,弧度值ndx = np.cos(vec_el) * np.cos(vec_az) # 光源對x 軸的影響ndy = np.cos(vec_el) * np.sin(vec_az) # 光源對y 軸的影響ndz = np.sin(vec_el) # 光源對z 軸的影響nnb = 255 * (dx * uni_x + dy * uni_y + dz * uni_z) # 光源歸一化nb = b.clip(0, 255)nnim = Image.fromarray(b.astype(uint8)) # 重構圖像nim.save(rC:UsersluopanDesktop2.jpg)n

效果

本代碼由大學moocpython數據分析與展示提供,僅做學習使用。

作者:羅羅攀 Python愛好者社區專欄作者,請勿轉載,謝謝。

簡書主頁:羅羅攀 - 簡書

博客專欄:羅羅攀的博客

配套視頻教程:Python3爬蟲三大案例實戰分享:貓眼電影、今日頭條街拍美圖、淘寶美食 Python3爬蟲三大案例實戰分享

公眾號:Python愛好者社區(微信ID:python_shequ),關注,查看更多連載內容。

推薦閱讀:

使用Flask開發簡單博客的教程(上)
草根學Python(八) 模塊與包

TAG:Python | Python教程 | Python入门 |