如何使用Python實現(xiàn)手繪圖效果

這篇文章主要介紹了如何使用Python實現(xiàn)手繪圖效果,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來看看吧。

創(chuàng)新互聯(lián)是一家專業(yè)提供綏化企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為綏化眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

首先我們來看看原圖:

如何使用Python實現(xiàn)手繪圖效果

接著我們來看看效果圖:

如何使用Python實現(xiàn)手繪圖效果

通過分析我們不難發(fā)現(xiàn)以下特征:

  • 主要顏色為黑白灰

  • 邊界線條較重

  • 相同或相近色趨于白色

  • 略有光源效果

需要用到的庫有:

  • numpy

  • PIL

代碼實現(xiàn):

import numpy as np
from PIL import Image


baseImg = Image.open("./img/myimg2.jpg").convert("L")  # 這里放置你要手繪的圖片原圖
a = np.array(baseImg).astype("float")

depth = 8.
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/A
uni_y = grad_y/A
uni_z = 1./A

vec_el = np.pi/2.2   # 光源俯視角度,弧度值
vec_az = np.pi/4.    # 官員的方位角度,弧度值
dx = np.cos(vec_el)*np.cos(vec_az)  # 光源對x軸的影響
dy = np.sin(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)                      # 限制

img = Image.fromarray(b.astype("uint8")) # 重構(gòu)圖像
img.save("./toImg/myImage1.jpg")         # 保存圖像

以上就是如何使用Python實現(xiàn)手繪圖效果的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎來創(chuàng)新互聯(lián)行業(yè)資訊!

網(wǎng)頁名稱:如何使用Python實現(xiàn)手繪圖效果
URL鏈接:http://www.muchs.cn/article16/gehcdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)