精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

來得瑟一下!用Python做一個縮放自如的圣誕老人

開發 后端
圣誕節又要到了,雖說我們中國人不提倡過西方的節日,但是商家們還是很喜歡的,估計有對象的男孩紙女孩紙們也很喜歡吧。

 圣誕節又要到了,雖說我們中國人不提倡過西方的節日,但是商家們還是很喜歡的,估計有對象的男孩紙女孩紙們也很喜歡吧。

[[286615]]

今天的主題是為大家展示如何用python做一個不斷變大的圣誕老人,就像西游記中能夠隨意變幻大小的神仙妖怪那樣,算是送給大家的小禮物,先上個圖吧!


不要心急,盯著圖片看5秒

思路要點:

  • 通過縮放獲取等比大小的一組圖片
  • 將上述圖片疊加到固定大小的底圖中
  • 按順序組合圖片生成動圖

1、圖片縮放

本篇文章的大部分工作都是基于opencv實現,而opencv進行圖片縮放是極其容易的,不過這次我們要生成的是一組等比縮放的圖片,所以在cv2.resize方法的使用上可能跟以往略有出入,先來看函數原型:

  1. cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) 

其中src是原圖片,dsize是目標圖片大小,當dsize為0的時候,我們就可以通過fx和fy兩個參數來分別設置水平軸和垂直軸方向的縮放比例了。這樣說可能有些抽象,我們舉個例子來說明:

  1. for i in range(1, 40, 1): 
  2.   img = cv2.resize(image, (0, 0), fx=i/30, fy=i/30) 
  3.   cv2.imwrite(str(i)+'.png', img) 

運行上面這段代碼會生成39張不同比例的圖片,目標圖片的大小由縮放比例fx和fy來控制,最小的一幅圖邊長是原圖的1/30,最大的圖片邊長是原圖的1.3倍(下圖):

既然等比縮放的圖片有了,是不是可以選定一個坐標原點,直接合成動圖呢?答案是不行,因為常規的動圖生成方法要求素材圖片必須是相同的尺寸(像素),下面我們就來著重解決這一問題。

2、底圖疊加

python中實現兩幅圖片疊加的辦法有很多,但是他們都存在缺陷——要么疊加的圖片必須是相同大小,要么難以控制圖片疊加的具體位置。對此,小編采取的辦法是在兩幅圖之間進行“像素級”的替換。

1).生成底圖

待疊加的圖片中,上層圖片就使用剛才獲取到的一系列等比縮放圖,下層圖片我們就生成一張固定大小的空白圖片。需要注意,這里生成的空白圖片必須大于最大的一幅縮放圖。

生成空白底圖分兩步完成,第一步生成固定大小(垂直軸和水平軸的長度)的二維數組;第二步使用cv2.cvtColor進行顏色空間變換。代碼如下:

  1. blank = np.ones((blankh, blankw), dtype=np.uint8) * 255 
  2. ret = cv2.cvtColor(blank, cv2.COLOR_GRAY2BGR) 

其實上面代碼中的ret本質上是一個三維數組,我們可以把它打印出來查看(下圖),但是通過cv2.imshow方法展示出來就是一張空白圖片了。這其中涉及一些較為底層的內容,大家了解就好,文中不再贅述。

2).像素替換

正如剛才所說,opencv中的一幅圖其實是一個三維數組,其實也可以把它看作是二維數組,數組中的

每個元素是形如 [255, 255, 255] 的列表,其中存放的是圖片每個像素的顏色參數。也就是說,如果我們想實現一幅圖片疊加到另一幅圖片這樣的視覺效果,可以對被疊加圖片對應位置的

像素進行替換賦值。代碼形式如下圖所示,其中i和j分別為圖片在垂直方向和水平方向的坐標。

  1. ret[i, j, 0] = image[i, j, 0] 
  2. ret[i, j, 1] = image[i, j, 1] 
  3. ret[i, j, 2] = image[i, j, 2] 

對一幅圖片而言,坐標原點是在左上角(下圖所示)。此外,為了保證最終得到動圖的效果,不能簡單的將圖片以坐標原點為基準進行疊加,比較好的辦法是把疊加原點設在底圖下邊緣的中心位置。

原理搞清楚后就可以開始圖片疊加操作了,在此期間需要進行一些像素對應位置的計算,雖然稍微有點繞但是并不復雜,詳細的轉化公式就不寫了,我們直接看代碼:

上面代碼中的image是已經縮放完畢的圣誕老人圖片,blankh和blankw分別是空白圖片的高度和寬度,這個尺寸可以根據需求自行設置。

下圖展示的是一幅縮放比例1/2左右的圖片和底圖疊加后的效果,為了觀察方便,我給圖片加了一個邊框。

3、生成動圖

之前我們已經解決了單幅圖片與底圖的疊加,為了準備合成動圖所需素材,還要對多個等比縮放的圖片進行底圖疊加操作。縮放比例間隔越小、準備的圖片素材越多,生成的動圖也就越平滑。

當然,動圖的效果如何還要綜合考慮多個因素,這里小編還是采用39幅圖片組合動圖。其中最小的圖形高度是原圖的1/30,最大的圖形高度是原圖的1.3倍。與底圖疊加后的圖片就是下面這個樣子。

下面來說說動圖的合成,將多個相同尺寸的圖片合成動圖可以使用imageio這個庫來實現,核心代碼只有一條:

  1. imageio.mimwrite('目標文件名稱.gif', gifList, duration=0.15) 

其中第一個參數是git目標文件名稱;gifList是一組列待合成的圖片,也就是上面圖片中展示的那些;最后一個參數duration表示畫面切換間隔,單位為秒。

現在通過下面這段代碼進行動圖合成。

  1. file_path = 'pic' 
  2. imgList = os.listdir(file_path) 
  3. imgList = ['pic/'+img for img in imgList] 
  4. gifList = [imageio.imread(img) for img in imgList] 
  5. imageio.mimwrite('gif.gif', gifList, duration=0.15) 

來看合成后的動圖效果(下圖),仔細看看好像有點問題,怎么圖中的圣誕老人忽大忽小?這跟我們預想的不一樣啊。


其實這個問題是出在合成圖片的順序上,我們嘗試打印上面代碼中的imgList變量,結果如下:

可以看到,素材圖片并不是按照我們預想的順序排序。這在python的文件處理中也算是個比較常見的問題,解決方案之一是可以按照圖片的創建時間排序,具體操作是在上面的第二行代碼之后插入一條語句:

  1. imgList = sorted(imgList,key=lambda x: os.path.getmtime(os.path.join(file_path, x))) 

現在再次進行動圖合成,就可以實現文章開頭的效果了。

當然了,這種動圖制作方法不僅限于圣誕老人,任何圖片理論上都是可以的。比如說,我們還可以做一棵不斷長大的圣誕樹!

 

責任編輯:華軒 來源: 菜鳥學Python
相關推薦

2012-12-25 15:29:46

Google微軟圣誕老人

2019-12-26 12:30:54

攝像頭漏洞攻擊

2022-12-22 08:22:17

Python圖像圖像處理

2020-07-20 10:00:52

Python翻譯工具命令行

2013-08-26 11:21:02

Fedora 20

2021-12-01 07:02:55

Python 記錄器按鍵

2022-03-30 15:11:26

Python房價工具

2017-12-27 14:49:26

大數據派送禮物圣誕老人

2023-08-02 08:11:58

Gaussdb系統廠商

2010-01-06 15:41:07

Linux操作系統

2015-07-03 11:27:30

程序員自己神器

2020-12-01 17:46:24

FossilGit

2020-01-14 11:19:38

網絡安全網絡安全技術周刊

2018-09-03 14:05:08

編程語言Python編程技巧

2023-12-10 15:24:32

AI圣誕

2015-12-28 12:03:44

LinuxUnix桌面

2021-12-30 06:59:27

視頻通話網頁

2021-07-07 11:08:21

機器學習數據集PHP

2018-01-04 16:04:35

圓環放大動畫

2021-12-23 09:50:46

Python游戲腳本
點贊
收藏

51CTO技術棧公眾號

成人免费在线小视频| 九色综合日本| 国产一级视频在线观看| 亚洲春色h网| 欧美精品一二三区| 色欲色香天天天综合网www| 国产资源在线看| 国产福利精品导航| 国产成人综合精品| 一区二区三区免费高清视频| 久久最新网址| 亚洲第一色中文字幕| 香蕉视频禁止18| 国产美女高潮在线观看| 亚洲欧洲成人自拍| 久久综合一区| 亚洲精品.www| 另类综合日韩欧美亚洲| 26uuu日韩精品一区二区| 91视频青青草| 精品国产aⅴ| 亚洲第一福利网站| 亚洲三级在线视频| 国产精品久久久久久久久免费高清| 亚洲va欧美va天堂v国产综合| 尤物一区二区三区| melody高清在线观看| 成人av片在线观看| 91视频免费进入| 亚洲无码久久久久| 日韩电影在线一区二区三区| 88xx成人精品| 国产中文字幕免费| 欧美在线视屏| 久久久成人av| 九九热视频在线免费观看| 精品久久电影| 亚洲欧美综合另类中字| 午夜男人的天堂| jizz久久精品永久免费| 欧美一卡二卡三卡| 色偷偷中文字幕| 狠狠久久伊人中文字幕| 欧美色精品天天在线观看视频| 黄色免费观看视频网站| 中文在线а√天堂| 色综合久久99| 美女福利视频在线| 免费日韩电影| 色诱亚洲精品久久久久久| 亚洲午夜精品久久久久久人妖| xxx性欧美| 亚洲aⅴ怡春院| 日韩欧美不卡在线| 国产社区精品视频| 天天综合日日夜夜精品| 欧美成人一区二区在线观看| 啊啊啊久久久| 欧美性猛交xxxx久久久| 18禁免费无码无遮挡不卡网站| 国产美女精品写真福利视频| 色综合一个色综合| 噼里啪啦国语在线观看免费版高清版| 亚洲1234区| 在线不卡免费av| 国模大尺度视频| 国产精品jk白丝蜜臀av小说 | www久久久com| 成人一区在线看| 九9re精品视频在线观看re6| 男女av在线| 中文字幕一区二区三区乱码在线| 樱空桃在线播放| 国产91足控脚交在线观看| 午夜视频在线观看一区二区| 91猫先生在线| 国产情侣一区二区三区| 欧美一区午夜视频在线观看| 无码成人精品区在线观看| 西野翔中文久久精品国产| 在线免费观看羞羞视频一区二区| 日韩激情综合网| 亚洲人人精品| 国产成人亚洲综合91| 97人人爽人人爽人人爽 | 免费人成又黄又爽又色| 天天综合网91| 久久久久久久亚洲精品| 免费黄色一级大片| 国产成人高清视频| 欧美一区少妇| 日本在线观看高清完整版| 色综合欧美在线| 黄色片免费网址| 亚洲aa在线| 久久91亚洲人成电影网站| 国产欧美一区二区三区在线看蜜臂| 蜜臀av性久久久久av蜜臀妖精| 国产富婆一区二区三区| 成人午夜影视| 欧美日韩国产麻豆| 激情久久综合网| 亚洲人成精品久久久| 欧美成人手机在线| 日本成人一级片| 成人国产精品免费观看| 丝袜美腿玉足3d专区一区| free性欧美| 制服丝袜av成人在线看| 强伦人妻一区二区三区| 欧美特黄a级高清免费大片a级| 国产精品久久久久久久久久三级| 国精产品乱码一区一区三区四区| 国产精品三级在线观看| 日韩激情免费视频| www.爱久久| 美女久久久久久久| 中文字幕理论片| 久久蜜桃一区二区| 欧美精品一区二区三区三州| 精品国产18久久久久久二百| 在线观看精品自拍私拍| 日本一本在线观看| 91免费小视频| 免费在线观看亚洲视频| 成人午夜大片| 欧美激情欧美激情在线五月| 国产美女www爽爽爽视频| 国产欧美一区二区精品婷婷| 欧美污视频网站| 日韩av网址大全| 午夜精品久久久久久久99热浪潮| 亚洲第一免费视频| 一区二区三区小说| xxxxwww一片| 欧美福利网址| 91亚洲国产精品| 成人黄视频在线观看| 欧美猛男gaygay网站| 亚洲激情图片网| 美女视频一区二区| 在线免费观看一区二区三区| 久久亚洲国产精品尤物| 最新国产精品拍自在线播放 | 久久国产波多野结衣| 久久99蜜桃精品| 影音先锋欧美在线| 精品视频一区二区三区| 大胆欧美人体视频| 亚洲爆乳无码一区二区三区| 亚洲一区在线视频| 无码成人精品区在线观看| 国产精品久久久久久模特 | 亚洲综合中文| 亚洲自拍偷拍第一页| 四虎av在线| 亚洲精品一区二区三区四区高清 | 九九九九九精品| 欧美gay视频| 一区国产精品视频| 中文字幕在线观看国产| 国产精品嫩草影院av蜜臀| 在线观看免费的av| 欧美日本中文| 国产一区二区无遮挡| 在线手机中文字幕| 中文字幕av一区二区三区谷原希美| 中文字幕 亚洲视频| 亚洲美女区一区| 日本三级日本三级日本三级极| 国产精品日韩精品欧美精品| 日本一区二区三区四区高清视频| 欧美综合社区国产| 久久久久久久久久国产精品| 玖玖综合伊人| 日韩亚洲欧美综合| 国产精品久久久久久久妇| 日本一区二区三区视频视频| 99999精品| 先锋a资源在线看亚洲| 亚洲午夜在线观看| 激情小说亚洲图片| 国产精品电影一区| 黄色成人在线网| 一区二区三区精品99久久| 成人h动漫精品一区二区无码| 欧美日韩国产色视频| 欧美精品久久久久久久久46p| 成人av网站在线| 久久久久久蜜桃一区二区| 黄色精品一区| 亚洲在线播放电影| 老司机精品在线| 91免费看片在线| 六月婷婷综合| 国内伊人久久久久久网站视频| h视频在线免费| 亚洲国产成人精品久久久国产成人一区| 国产成人a v| 午夜欧美大尺度福利影院在线看| youjizz亚洲女人| 久久综合久久99| 国产伦精品一区二区三区妓女下载| 久热国产精品| 野外做受又硬又粗又大视频√| 欧美三级三级| 久99久在线| www.丝袜精品| 91网站在线看| 日韩免费在线电影| 欧美在线一级va免费观看| 污污的网站在线看| 精品国内产的精品视频在线观看| 免费一级在线观看| 亚洲国产三级网| 亚洲风情第一页| 91精品免费在线观看| 一级一级黄色片| 欧美性猛交xxxx乱大交蜜桃| 日韩精品一区二区在线播放 | 久久久精品久久久| p色视频免费在线观看| 亚洲欧美在线一区二区| 日韩一级在线播放| 亚洲国产成人爱av在线播放| 国产99999| 欧美一区二区三区白人| 国产又爽又黄又嫩又猛又粗| 欧美性感一类影片在线播放| 五月天婷婷导航| 色综合激情五月| 色一情一乱一伦| 色综合天天视频在线观看| 免费看毛片网站| 欧美性猛交xxxx富婆弯腰| 亚洲图片在线视频| 色婷婷久久久久swag精品| 最新中文字幕一区| 欧美日韩在线视频一区二区| 麻豆久久久久久久久久| 午夜精品久久久久久久久久| 日本网站在线免费观看| 亚洲成年人网站在线观看| 精品无码人妻一区二区三区品| 夜夜嗨av一区二区三区| 搜索黄色一级片| 亚洲激情六月丁香| 欧美日韩激情在线观看| 亚洲高清视频中文字幕| wwwxxx亚洲| 91久久精品一区二区三| 五月天中文字幕| 9191成人精品久久| www.看毛片| 亚洲激情小视频| 黄上黄在线观看| 在线精品高清中文字幕| 免费观看在线午夜影视| 久久综合色88| 91福利在线免费| 日本在线精品视频| 亚洲国产91视频| 999在线观看免费大全电视剧| 国内精品国产成人国产三级粉色| 鲁片一区二区三区| 日韩国产在线| 国产美女主播在线| 玖玖在线精品| 日韩成人av免费| youjizz国产精品| 夜夜春很很躁夜夜躁| **性色生活片久久毛片| 日韩欧美激情视频| 欧美怡红院视频| 精品人妻伦一二三区久久| 亚洲黄色www网站| 97电影在线看视频| 欧美激情小视频| 欧美日韩五码| 亚洲自拍在线观看| 国产aⅴ精品一区二区三区久久| 亚洲一区三区视频在线观看| 在线不卡视频| 亚洲欧美国产中文| 不卡电影免费在线播放一区| 老司机福利在线观看| 亚洲一级二级在线| 伊人免费在线观看高清版| 精品国一区二区三区| 岛国最新视频免费在线观看| 欧美国产视频一区二区| 亚洲伦乱视频| 国产精品一区二区欧美黑人喷潮水 | 久久一本综合频道| 91av免费观看| 国产精品久久久久久久久图文区| 久久精品视频6| 在线播放中文字幕一区| 精品乱码一区二区三四区视频| 欧美成人午夜影院| 欧美中文字幕精在线不卡| 91九色露脸| 99久久99久久精品国产片桃花| 日韩欧美亚洲天堂| 国产成人亚洲精品青草天美| 国产午夜精品久久久久久久久| 亚洲超丰满肉感bbw| 国产欧美日韩成人| 在线观看国产欧美| 欧美日韩精品免费观看视完整| 国产精品青青草| 日韩av在线中文字幕| 日韩a在线播放| 成人激情小说乱人伦| 波多野结衣亚洲色图| 欧美女孩性生活视频| 成人网视频在线观看| 欧美一级免费视频| 国产女人18毛片水真多18精品| 91嫩草国产丨精品入口麻豆| 美女任你摸久久| 亚洲精品色午夜无码专区日韩| 大伊人狠狠躁夜夜躁av一区| 东京干手机福利视频| 色综合老司机第九色激情| 亚洲国产aⅴ精品一区二区三区| 亚洲黄色成人久久久| 视频一区在线播放| 亚洲综合色一区| 91成人在线免费观看| 午夜av免费在线观看| 午夜精品久久久久久久99热浪潮| 成人h动漫免费观看网站| 欧洲金发美女大战黑人| 国产在线视频一区二区三区| 男人的午夜天堂| 宅男在线国产精品| 91cn在线观看| 成人午夜电影免费在线观看| 亚洲影视一区二区三区| 亚洲三级在线视频| 亚洲一二三区不卡| 后进极品白嫩翘臀在线视频| 久久久久久久激情视频| 欧美日日夜夜| 免费午夜视频在线观看| 久久精品一区八戒影视| 国内av在线播放| 日韩中文av在线| 高清一区二区| 国产美女作爱全过程免费视频| 成人性视频免费网站| 日韩av电影网址| 国产视频精品在线| 主播大秀视频在线观看一区二区| 天堂一区二区三区| 国产一区啦啦啦在线观看| 精品99久久久久成人网站免费| 精品日韩一区二区三区| 日韩脚交footjobhdboots| 欧美日韩在线精品| 激情图片小说一区| 久久国产精品波多野结衣| 日韩av影视在线| 国产成人精品一区二三区在线观看 | 欧美日韩亚洲系列| 久久精品色图| 成人自拍性视频| 国产欧美成人| 337人体粉嫩噜噜噜| 日韩视频123| 亚洲天堂资源| 五月天色婷婷综合| 成人av网站在线| 亚洲性在线观看| 欧美交受高潮1| 精品免费在线| 少妇极品熟妇人妻无码| 狠狠操狠狠色综合网| 日本不卡视频| 久久成人资源| 国产呦萝稀缺另类资源| 99精品视频99| 日韩中文字幕视频在线| 精品午夜电影| 激情文学亚洲色图| 色婷婷av一区| 国产三线在线| 一区二区三区视频| 91免费小视频| 亚洲精品视频专区| 国产精品午夜视频| 国产精品日韩| 久久久久久av无码免费网站| 国产亚洲欧美一区| 日本成人7777| 色哟哟无码精品一区二区三区| 欧美影院一区二区| 在线天堂资源| 青草视频在线观看视频|