chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

【大神課堂】深入淺出教你進行Python自動生成表情包

人工智能和機器人研究院 ? 來源:未知 ? 作者:steve ? 2018-04-20 14:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為一個數(shù)據(jù)分析師,應(yīng)該信奉一句話----"一圖勝千言"。不過這里要說的并不是數(shù)據(jù)可視化,而是一款全民向的產(chǎn)品形態(tài)----表情包?。。?!

表情包不僅僅是一種符號,更是一種文化;是促進社交乃至社會發(fā)展的動力之一,就像懶。

我們堅持認為,一張優(yōu)秀的表情包,應(yīng)該是一幅藝術(shù)品,是那忽如一夜春風(fēng)來的靈感爆發(fā),是那嘈嘈切切錯雜彈的情思激蕩,是那直掛云帆濟滄海的壯志豪情,是那一覽天下眾山小的榮耀勝利,是不可以容忍碼農(nóng)用其慣有的形式固定、流程固定、毫無美感、毫無藝術(shù)的變幻和驚喜的直線思維解構(gòu)。然而,在生產(chǎn)表情包的過程中,如果只是機械地把圖片導(dǎo)進PS --> 改文字--> 導(dǎo)出,那也太low了,所以還是把這些很low的機械化的重復(fù)動作交給程序來做吧。

之前一直以為圖像的自動處理,要靠JavaScript腳本控制PS或者AI;后來發(fā)現(xiàn)Python其實也可以做一些簡單的圖像處理,雖然可能比不上MATLAB強大。于是對于圖像處理,復(fù)雜的部分依然在PS或者AI中人工完成,簡單的處理就可以用Python程序完成。

在開工之前,先讓我們瞻仰膜拜一下表情包界里程碑式的人物,感謝他們大力推動了表情包在歷史潮流中的顯著進步,他們的英名將長期被人民大眾津津樂道,他們的音容笑貌將在人們的日常社交中經(jīng)久不衰,他們的卓越貢獻將永遠鐫刻于表情包史的豐碑上!

(如果表情可以收版權(quán)費的話,那就不用辛辛苦苦地去打球、拍戲、播音了……)

素材準備

這里我們以網(wǎng)絡(luò)上流傳最廣的金館長表情為中心,以萌萌噠的熊貓頭作為背景,底下加上文字就能構(gòu)成一張表情包。

然后用PS處理一下圖片大小,模板大小設(shè)為250*250,表情裁剪一下白邊。

圖片疊加

第一步工作是把表情疊加到模板上,注意到我們的表情素材是白底而不是透明,所以位置要控制好,不然會遮蓋住輪廓。

from PIL import Image, ImageDraw, ImageFontimg = Image.open(".ackground.jpg")jgz = Image.open(".jgz.jpg")img.paste(jgz,(73,42))img.show()

這樣就會看到合成的圖片了:

這張圖片下方還有一截留白,那是給我們最后一步添加文字用的。come on,魔性的笑容已經(jīng)呈現(xiàn),接下來就是最后一擊,are you OK?! 哦不,are you ready?!

文字疊加

盡管表情包的核心是表情,然而一行簡短而又震撼的文字往往能起到直擊靈魂的畫龍點睛的作用。

draw= ImageDraw.Draw(img)ttfront = ImageFont.truetype('simhei.ttf',24)draw.text((32,190),"我的內(nèi)心毫無波動 甚至還想笑",fill=(0,0,0), font=ttfront)img.show()img.save(".Python生成的表情包.jpg")

這樣就生成了一張完整的表情包了:

其中draw.text()是往圖層里輸入文字,所以可以不斷執(zhí)行這條命令以在圖片里添加多層文字。

你還可以導(dǎo)入多張表情,以及多個文本臺詞,這樣就可以大規(guī)模批量自動生產(chǎn)表情包了……

問題升華

你以為到這里就結(jié)束了嗎?too young啊!請童鞋們思考這個問題:

表情包下留白的空間是有限的

中文和英文以及標點符號占據(jù)的空間不同

如果文本太長,就需要換行;可是如果行太多,圖片就放不下

因此,當你腦中突然閃現(xiàn)出一句既包含中文也有英文還有N多標點符號以增強語氣的臺詞時,怎么設(shè)計一個算法,用來尋找合適的字號大小,文本插入位置,文本在哪些地方換行,使文本能在有限空間居中展示,而且還要滿足一定的觀感呢?

算了,還是在這里結(jié)束吧……

于是,通過這篇嚴肅正經(jīng)的教程,我們學(xué)會了使用Python進行簡單圖像處理的方法,更get到一項實用的神技:自動生產(chǎn)表情包。

最重要的是,老夫經(jīng)常說的"信不信我分分鐘批量做你大堆的表情包",終于成為現(xiàn)實了……

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

    關(guān)注

    56

    文章

    4848

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Pico Technology發(fā)布Python軟件pyPicoSDK

    近日,全球領(lǐng)先的基于 PC 的儀器供應(yīng)商Pico Technology 官方發(fā)布了 pyPicoSDK,這是一款旨在簡化 PicoScopes 應(yīng)用的 Python 軟件。pyPicoSDK 在
    的頭像 發(fā)表于 09-29 15:03 ?405次閱讀

    張飛實戰(zhàn)電子創(chuàng)始人蒞臨其利天下,賦能無刷馬達技術(shù)發(fā)展--【其利天下】

    ,結(jié)合實際案例,深入淺出地交流了無刷馬達驅(qū)動的設(shè)計思路、調(diào)試方法以及常見問題的解決策略?!鴱堬w實戰(zhàn)電子創(chuàng)始人(中間)與其利天下CEO總(右一)合影張飛老師本人是一位專家
    的頭像 發(fā)表于 07-24 18:18 ?629次閱讀
    張飛實戰(zhàn)電子創(chuàng)始人蒞臨其利天下,賦能無刷馬達技術(shù)發(fā)展--【其利天下】

    產(chǎn)學(xué)研融合!思爾芯數(shù)字EDA工具走進北航課堂

    EDA工具的創(chuàng)新成果。通過深入淺出的講解與沉浸式學(xué)習(xí)中,同學(xué)們深入理解了思爾芯數(shù)字EDA工具在芯片設(shè)計中的關(guān)鍵作用。培訓(xùn)聚焦思爾芯的PegaSim芯神馳軟件仿真工具。
    的頭像 發(fā)表于 05-26 09:45 ?1312次閱讀
    產(chǎn)學(xué)研融合!思爾芯數(shù)字EDA工具走進北航<b class='flag-5'>課堂</b>

    深入淺出解析:為什么高精度測量要選擇12bit示波器?

    示波器是電子工程師的核心工具,能夠直觀觀察信號特性。本文通過對比實驗,分析12bit和8bit示波器在信號捕捉和波形還原方面的關(guān)鍵差異,解釋為何高精度測量工作中,12bit示波器能提供更可靠的測量結(jié)果。8bit與12bit:數(shù)字背后的真相什么是示波器的“bit數(shù)”時?簡單來說,這是示波器ADC(模數(shù)轉(zhuǎn)換器)的分辨能力,決定了儀器能夠識別的最小電壓變化。這個看
    的頭像 發(fā)表于 05-22 11:40 ?632次閱讀
    <b class='flag-5'>深入淺出</b>解析:為什么高精度測量要選擇12bit示波器?

    門老師教你快速看懂電子電路圖

    本文從最基本的電容電阻開講,包含模電數(shù)電,以及部分電氣知識點,深入淺出。 資料介紹: 全文共分7課,以老師授課和師生交流的形式系統(tǒng)地介紹了電子電路識圖方面的基本知識和技能,包括電路圖的基本概念和要素
    發(fā)表于 05-16 15:17

    程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導(dǎo)的方式,深入淺出的分析了廣大C程序員學(xué)習(xí)和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應(yīng)用進行深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    深入淺出解析低功耗藍牙協(xié)議棧

    深入Bluetooth LE協(xié)議棧各個組成部分之前,我們先看一下Bluetooth LE協(xié)議棧整體架構(gòu)。 如上圖所述,要實現(xiàn)一個Bluetooth LE應(yīng)用,首先需要一個支持Bluetooth
    的頭像 發(fā)表于 04-09 14:49 ?823次閱讀
    <b class='flag-5'>深入淺出</b>解析低功耗藍牙協(xié)議棧

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》

    《零基礎(chǔ)開發(fā)AI Agent——手把手教你用扣子做智能體》是一本為普通人量身打造的AI開發(fā)指南。它不僅深入淺出地講解了Agent的概念和發(fā)展,還通過詳細的工具介紹和實戰(zhàn)案例,幫助讀者快速掌握
    發(fā)表于 03-18 12:03

    Python中的迭代器與生成

    Python迭代器與生成器 列表生成式 列表生成式也叫做列表推導(dǎo)式,它本身還是列表,只不過它是根據(jù)我們定義的規(guī)則來生成一個真實的列表。 ?
    的頭像 發(fā)表于 02-20 10:43 ?566次閱讀

    深居AutoCAD二次開發(fā)

    深居AutoCAD二次開發(fā),net版
    發(fā)表于 01-06 14:12 ?10次下載

    一文掌握基礎(chǔ)電路,嵌入式開發(fā)深入淺出

    1. 電路知識 1.1.?驅(qū)動能力 IC是數(shù)字邏輯芯片,其輸出的是邏輯電平。邏輯電平0表示輸出電壓低于閾值電壓,邏輯1表示輸出電壓高于閾值電壓。負載則是被驅(qū)動的電路或元件,負載大小則指負載的電阻大小。 驅(qū)動能力主要表現(xiàn)在幾個方面: 負載能力:負載過大表現(xiàn)為外部負載的阻值過小,在電壓不變的情況下,過小的阻值會導(dǎo)致電流過大,可能會燒壞器件。負載過小,表現(xiàn)為外部負載的阻值達大,在電壓不變的情況下,過大的阻值會導(dǎo)致電流過小,信
    的頭像 發(fā)表于 12-03 10:36 ?1187次閱讀
    一文掌握基礎(chǔ)電路,嵌入式開發(fā)<b class='flag-5'>深入淺出</b>

    深入淺出RISC-V調(diào)試

    JTAG主機可以同時對多個JTAG從機進行調(diào)試,這通過JTAG掃描鏈(JTAG Scan Chain)完成,如圖1所示。 圖1 一個JTAG主機連接多個JTAG從機 JTAG內(nèi)部有一個TAP(Test
    發(fā)表于 11-28 22:00

    使用Python進行串口通信的案例

    當然!以下是一個使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial 庫,這是一個非常流行的用于串口通信的Python庫。 首先,你
    的頭像 發(fā)表于 11-22 09:11 ?2166次閱讀

    如何自動生成verilog代碼

    介紹幾種自動生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?1330次閱讀
    如何<b class='flag-5'>自動</b><b class='flag-5'>生成</b>verilog代碼

    如何使用 Llama 3 進行文本生成

    torch 使用Hugging Face的pipeline進行文本生成。 python復(fù)制代碼 from tr
    的頭像 發(fā)表于 10-27 14:21 ?1430次閱讀