女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

作為一個數據分析師,應該信奉一句話----"一圖勝千言"。不過這里要說的并不是數據可視化,而是一款全民向的產品形態----表情包!!!!

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

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

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

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

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

素材準備

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

然后用PS處理一下圖片大小,模板大小設為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,魔性的笑容已經呈現,接下來就是最后一擊,are you OK?! 哦不,are you ready?!

文字疊加

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

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

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

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

你還可以導入多張表情,以及多個文本臺詞,這樣就可以大規模批量自動生產表情包了……

問題升華

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

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

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

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

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

算了,還是在這里結束吧……

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4827

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    產學研融合!思爾芯數字EDA工具走進北航課堂

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

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

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

    程序設計與數據結構

    的地址)出發,采用推導的方式,深入淺出的分析了廣大C程序員學習和開發中遇到的難點。 2. 從方法論的高度對C語言在數據結構和算法方面的應用進行深入講解和闡述。 3. 講解了絕大多數C程序員開發
    發表于 05-13 16:45

    深入淺出解析低功耗藍牙協議棧

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

    《零基礎開發AI Agent——手把手教你用扣子做智能體》

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

    Python中的迭代器與生成

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

    深居AutoCAD二次開發

    深居AutoCAD二次開發,net版
    發表于 01-06 14:12 ?9次下載

    深入淺出RISC-V調試

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

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

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

    如何自動生成verilog代碼

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

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

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

    MR30系列IO——工業自動化的智慧紐帶

    工業生產的智能化與高效化提供了堅實的支撐。明達技術將為您深入淺出地介紹這三種模塊的基本概念、功能特性及其應用場景,特別聚焦于MR30系列IO模塊的獨特之處
    的頭像 發表于 10-10 13:27 ?506次閱讀
    MR30系列IO——工業<b class='flag-5'>自動</b>化的智慧紐帶

    三行代碼完成生成式AI部署

    OpenVINO2024.2版本跟之前版本最大的不同是OpenVINO2024.2分為兩個安裝分別是基礎生成式AI支持,新發布的GenAI開發包支持C++與
    的頭像 發表于 08-30 16:49 ?774次閱讀
    三行代碼完成<b class='flag-5'>生成</b>式AI部署

    使用Python進行Ping測試

    )請求,然后等待目標主機返回響應,從而測量網絡的延遲和丟情況。隨著Python編程語言的廣泛應用,越來越多的網絡工程師開始使用Python
    的頭像 發表于 08-12 17:56 ?1017次閱讀
    使用<b class='flag-5'>Python</b><b class='flag-5'>進行</b>Ping測試

    深入淺出系列之代碼可讀性

    原創聲明:該文章是個人在項目中親歷后的經驗總結和分享,如有搬運需求請注明出處。 這是“深入淺出系列”文章的第一篇,主要記錄和分享程序設計的一些思想和方法論,如果讀者覺得所有受用,還請“一鍵三連
    的頭像 發表于 08-09 16:00 ?532次閱讀