99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過Python將故宮的建筑物圖片,轉(zhuǎn)化為手繪圖

電子工程師 ? 來源:lq ? 2019-02-19 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

13日早晨,當(dāng)北京市民拉開窗簾時發(fā)現(xiàn),窗外雪花紛紛揚揚在空中飄落,而且越下越大,樹上、草地、屋頂、道路上,都落滿雪花。京城銀裝素裹,這是今冬以來北京迎來的第二場降雪。

一下雪,北京就變成了北平,故宮就變成了紫禁城。八萬張門票在雪花飄下來之前,便早已預(yù)訂一空。

(圖片來源:故宮官網(wǎng)版權(quán)歸故宮官網(wǎng)所有)

看著朋友圈、微博好友都在紛紛曬圖,小編只能羨慕不已。

不過,突然想到,可以通過Python將故宮的建筑物圖片,轉(zhuǎn)化為手繪圖(素描效果)。效果圖如下:

一、概念與原理

我們都知道手繪圖效果的特征主要有:

黑白灰色;邊界線條較重;相同或相近色彩趨于白色;略有光源效果

核心原理:利用像素之間的梯度值和虛擬深度值對圖像進(jìn)行重構(gòu),根據(jù)灰度變化來模擬人類視覺的模擬程度

把圖像看成二維離散函數(shù),灰度梯度其實就是這個二維離散函數(shù)的求導(dǎo),用差分代替微分,求取圖像的灰度梯度。常用的一些灰度梯度模板有:Roberts 梯度、Sobel 梯度、Prewitt 梯度、Laplacian 梯度。

以Sobel 梯度計算來解釋:

首先計算出、,然后計算梯度角?梯度方向及圖像灰度增大的方向,其中梯度方向的梯度夾角大于平坦區(qū)域的梯度夾角。如下圖所示,灰度值增加的方向梯度夾角大,此時梯度夾角大的方向為梯度方向。對應(yīng)在圖像中尋找某一點的梯度方向即通過計算該點與其8鄰域點的梯度角,梯度角最大即為梯度方向。

二、圖像的數(shù)組形式與變換

其中,需要用到的方法:

Image.open( ):打開圖片

np.array( ): 將圖像轉(zhuǎn)化為數(shù)組

convert("L"):將圖片轉(zhuǎn)換成二維灰度圖片

Image.fromarray( ):將數(shù)組還原成圖像uint8格式

代碼如下:

fromPILimportImageimportnumpyasnpim=Image.open(r"C:UsersAdministratorDesktopgugong微信圖片_20190216152248.jpg").convert('L')a=np.asarray(im).astype('float')print(a.shape,a.dtype)(1080,608)float64#(1080,608)分別表示高度,寬度

三、圖像的手繪效果處理

實現(xiàn)思路步驟:

1、梯度的重構(gòu)

numpy的梯度函數(shù)的介紹

np.gradient(a) : 計算數(shù)組a中元素的梯度,f為多維時,返回每個維度的梯度

離散梯度: xy坐標(biāo)軸連續(xù)三個x軸坐標(biāo)對應(yīng)的y軸值:a, b, c 其中b的梯度是(c-a)/2

而c的梯度是: (c-b)/1

當(dāng)為二維數(shù)組時,np.gradient(a) 得出兩個數(shù)組,第一個數(shù)組對應(yīng)最外層維度的梯度,第二個數(shù)組對應(yīng)第二層維度的梯度。

代碼如下:

grad=np.gradient(a)grad_x,grad_y=gradgrad_x=grad_x*depth/100.#對grad_x值進(jìn)行歸一化grad_y=grad_y*depth/100.#對grad_y值進(jìn)行歸一化

2、構(gòu)造guan光源效果

設(shè)計一個位于圖像斜上方的虛擬光源光源相對于圖像的視角為Elevation,方位角為Azimuth建立光源對各點梯度值的影響函數(shù)運算出各點的新像素值

其中:

np.cos(evc.el) :單位光線在地平面上的投射長度

dx,dy,dz :光源對x,y,z三方向的影響程度

3、梯度歸一化

構(gòu)造x和y軸梯度的三維歸一化單位坐標(biāo)系;

梯度與光源相互作用,將梯度轉(zhuǎn)化為灰度。

4、圖像生成

具體詳情代碼如下:

fromPILimportImageimportnumpyasnpimportosimportjoinimporttimedefimage(sta,end,depths=10):a=np.asarray(Image.open(sta).convert('L')).astype('float')depth=depths#深度的取值范圍(0-100),標(biāo)準(zhǔn)取10grad=np.gradient(a)#取圖像灰度的梯度值grad_x,grad_y=grad#分別取橫縱圖像梯度值grad_x=grad_x*depth/100.#對grad_x值進(jìn)行歸一化grad_y=grad_y*depth/100.#對grad_y值進(jìn)行歸一化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'))#重構(gòu)圖像im.save(end)defmain():xs=10start_time=time.clock()startss=os.listdir(r"C:UsersAdministratorDesktopgugong")time.sleep(2)forstartsinstartss:start=''.join(starts)sta='C:/Users/Administrator/Desktop/gugong/'+startend='C:/Users/Administrator/Desktop/gugong/'+'HD_'+startimage(sta=sta,end=end,depths=xs)end_time=time.clock()print('程序運行了----'+str(end_time-start_time)+'秒')time.sleep(3)main()程序運行了----43.01828205879955秒#一共35張圖片

最終效果圖對比:

最后,你自己動手試試吧?通過此代碼為自己畫一張手繪圖,也可以為自己的家鄉(xiāng)或母校畫。

參考資料:

http://www.icourse163.org/learn/BIT-1001870002?tid=1001963001#/learn/announce

代碼鏈接:

https://pan.baidu.com/s/1E_aZTRQWOzGV-2GV_iH43w

提取碼:64z9

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1094

    瀏覽量

    41301
  • 梯度
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10497
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86830

原文標(biāo)題:只需45秒,Python給故宮畫一組手繪圖!

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    雷直擊建筑物時電流分布的電磁場數(shù)值分析pdf

    雷直擊建筑物時電流分布的電磁場數(shù)值分析 摘要:本文利用一個簡單的等效電路和一個電磁場模式研究了雷直擊建筑物時的雷電流分布。利用計算電磁學(xué)代碼(NEC-4)進(jìn)行電磁場數(shù)值分析。通過
    發(fā)表于 10-13 08:56

    建筑物接地電阻的要求

    建筑物接地電阻的要求    依據(jù)GB50057-94(2000版)《建筑物防雷設(shè)計規(guī)范》第三章、建筑物的防雷措施;第二節(jié)、第一類防雷建筑物的防雷
    發(fā)表于 01-14 16:13

    建筑物火災(zāi)并非只是電線電纜之過

    有機建筑材料和物品有化為灰燼,甚至鋼梁都能燒熔,任何阻燃電線電纜都無濟于事。因此,查找火災(zāi)原因時,除了弄清楚前述短路情況之外,也不要在電線電纜的阻燃性能上打主意,況且有很多建筑物使用的不是阻燃電線電纜
    發(fā)表于 03-25 22:12

    如何用labview程序二維圖片轉(zhuǎn)化為比特序列?

    如何用labview程序二維圖片轉(zhuǎn)化為比特序列?
    發(fā)表于 05-16 11:13

    利用PythonPDF轉(zhuǎn)化為圖片的方法

    python的功能真是強大,可以做詞云圖、可以優(yōu)雅地八卦、可以做游戲外掛、還可以PDF轉(zhuǎn)化圖片,這個功能你還不知道吧,趕緊隨小編我一起來看看吧:之前收集了很多優(yōu)秀的 PDF文檔,但
    發(fā)表于 07-11 17:37

    ?iMX6UL工業(yè)級核心板在建筑物能耗管理系統(tǒng)中的應(yīng)用方案

    。因此,節(jié)能建筑成了建筑行業(yè)的首要議題。最近十年來,伴隨著電子技術(shù)的革命性進(jìn)步和軟件技術(shù)的不斷完善,產(chǎn)生了通過各種不同的電子裝置,結(jié)合軟件技術(shù),實現(xiàn)了對建筑物的能耗進(jìn)行實時監(jiān)控和管理。
    發(fā)表于 04-22 16:27

    大型水利水電工程建筑物三維可視化建模技術(shù)研究

    的三維空間位置可以通過Q(x,y,z)表示,而兩個點對象的三維空間位置即可以描述建筑物的線段對象,而多個線段對象共同組成線對象,線對象又可以描述幾何要素,由此可見數(shù)據(jù)模型可以實現(xiàn)對規(guī)則或不規(guī)則
    發(fā)表于 10-22 08:09

    一種基于機器學(xué)習(xí)的建筑物分割掩模自動正則化和多邊形化方法

    化處理,使其更加逼真,即有更多的直線型輪廓,在需要時構(gòu)造直角。這是通過給定輸入圖像為真的概率的鑒別器和從鑒別器響應(yīng)中學(xué)習(xí)創(chuàng)造更真實圖像的生成器之間的相互作用來實現(xiàn)的。最后,從正則化的建筑物分割結(jié)果中訓(xùn)練
    發(fā)表于 09-01 07:19

    建筑物防雷保護設(shè)計淺析

    摘要:本文就設(shè)計中建筑物防雷保護在防直擊雷、雷電波侵入以及相應(yīng)的解決措施做了一些分析。 關(guān)鍵詞:建筑物 防雷保護 隨著現(xiàn)代社會的發(fā)展,建筑物的規(guī)模不斷擴大,
    發(fā)表于 11-18 11:02 ?22次下載

    建筑物的泛光照明設(shè)計

     通常所說的泛光照明是指建筑物的立面照明。建筑物泛光照明的效果,不僅取決于泛光燈具和建筑物表面材質(zhì),還取決于設(shè)計人員的構(gòu)思、經(jīng)驗、藝術(shù)底蘊和欣賞能力。照明設(shè)計
    發(fā)表于 01-19 14:40 ?14次下載

    聯(lián)網(wǎng)轉(zhuǎn)化了人物對建筑物的認(rèn)知,并縮減運營開銷且更加環(huán)保

    就最基本的層面上而言,我們希望建筑物(無論是簡陋居所或是現(xiàn)代的鋼筋玻璃結(jié)構(gòu))可以為住戶提供一個舒適的空間。聯(lián)網(wǎng)(IoT)轉(zhuǎn)化了人物對建筑物的認(rèn)知,讓人意識到那不只是住戶的居住“容器”
    發(fā)表于 05-24 08:24 ?1395次閱讀

    建筑物聯(lián)網(wǎng)市場由于什么增長的

    從項目類型來看,建筑物聯(lián)網(wǎng)市場由硬件、軟件以及三大部分組成,在預(yù)測期內(nèi),軟件部分預(yù)計主導(dǎo)這個建筑物聯(lián)網(wǎng)市場。
    發(fā)表于 02-23 20:43 ?1129次閱讀

    建筑物防雷工程的設(shè)計與施工

    本文會介紹建筑物防雷工程的設(shè)計與施工的基本原理、方法和要求,以及一些典型的案例分析。建筑物防雷工程是為了保護建筑物及其內(nèi)部設(shè)備、人員和財產(chǎn)免受雷電危害而采取的一系列技術(shù)措施。建筑物防雷
    的頭像 發(fā)表于 07-07 10:58 ?1027次閱讀
    <b class='flag-5'>建筑物</b>防雷工程的設(shè)計與施工

    建筑物防雷等級分為幾類

    建筑物的防雷等級是指建筑物所需的防雷保護措施的等級劃分。根據(jù)國家標(biāo)準(zhǔn)GB 50057-2010《建筑物防雷設(shè)計規(guī)范》1,建筑物應(yīng)根據(jù)建筑物
    的頭像 發(fā)表于 11-06 09:58 ?4190次閱讀
    <b class='flag-5'>建筑物</b>防雷等級分為幾類

    建筑物防雷檢測安全接地應(yīng)用解決方案

    雷電是一種自然現(xiàn)象,具有極高的電壓和電流,對建筑物及其內(nèi)部設(shè)備、人員和財產(chǎn)可能造成嚴(yán)重的危害,如火災(zāi)、爆炸、電擊、電磁干擾等。因此,建筑物必須采取有效的防雷措施,以保障建筑物的安全和可靠運行。
    的頭像 發(fā)表于 01-24 15:07 ?723次閱讀
    <b class='flag-5'>建筑物</b>防雷檢測安全接地應(yīng)用解決方案