Python-图像的手绘效果
生活随笔
收集整理的這篇文章主要介紹了
Python-图像的手绘效果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天看了看用Python將圖像轉成手繪風格,具體代碼還沒看懂
from PIL import Image import numpy as npa = np.asarray(Image.open("D:/Python/beijing.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/A uni_y = grad_y/A uni_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("D:/Python/beijing手繪.jpg") print("保存成功,請到D:/Python/目錄下查看")原圖與轉變后的圖對比
貼一些關于圖像的知識
圖像組成
圖像有紅綠藍色 (RGB)三原色組成,不同顏色則疊加會產生不同顏色。
圖像深度(位,級,色)
一個像素的組成,如RGB (255,255,255)中 R,G,B各占8位,則一共24位,表示深度為24。同時R,G,B 各為256級。
通常情況下,RGB各有256級亮度,用數字表示為從0、1、2…直到255。注意雖然數字最高是255,但0也是數值之一,因此共256級。按照計算,256級的RGB色彩總共能組合出約1678萬種色彩,即256×256×256=16777216。通常也被簡稱為1600萬色或千萬色。也稱為24位色(2的24次方)。
灰度圖像
當彩色圖片RGB中的R=G=B時,就說此圖片為灰度圖片,注意:灰度圖片也是三維的RGB,不是像黑白圖的一樣.
總結
以上是生活随笔為你收集整理的Python-图像的手绘效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决MariaDB无法远程连接
- 下一篇: 记一次云服务器被入侵