如何利用python實(shí)現(xiàn)一個合成圖片功能-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)如何利用python實(shí)現(xiàn)一個合成圖片功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、劍川ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的劍川網(wǎng)站制作公司

python的PIL庫簡直好用的不得了,PIL下面的Image庫更是封裝了很多對圖片處理的函數(shù),關(guān)于Image庫的介紹和使用,看這里:http://effbot.org/imagingbook/image.htm

這里用我半個月前看到的一篇博客寫的demo作為背景,做一下圖片的合成

圖片可以看作是很多像素點(diǎn)組成的,每個像素點(diǎn)都是一個RGB顏色,(red, green, blue), 那么合成兩張照片就有辦法了,我們可以在一張新的RGB色的圖片里一個像素點(diǎn)取圖片一的對應(yīng)位置的像素,下一個像素點(diǎn)取圖片二的像素,直到遍歷完成,代碼如下:

from PIL import Image

##這里采用傳入圖片地址調(diào)用此函數(shù)

#這個方法目前不支持按比例合成,默認(rèn)為1:1
#各取一個像素點(diǎn)合并,傳入的參數(shù)為兩張圖片的地址
def merge1(img1_address,img2_addess):
 status=100
 #狀態(tài)碼100為正常
 #  200為地址錯誤
 try:
  img1=Image.open(img1_address)
  img2=Image.open(img2_address)
 except:
  status=200
  img_new=""
 else:
  width=min(img1.size[0],img2.size[0])
  height=min(img1.size[1],img2.size[1])
  print(width,height)
  img_new = Image.new('RGB',(width,height))
  for x in range(width):
   for y in range(height):
    if y%2==0:
     pixel=img1.getpixel((x,y))
     img_new.putpixel((x,y),pixel)
    else:
     pixel=img2.getpixel((x,y))
     img_new.putpixel((x,y),pixel)
 finally:
  return img_new,status

網(wǎng)站題目:如何利用python實(shí)現(xiàn)一個合成圖片功能-創(chuàng)新互聯(lián)
URL地址:http://bm7419.com/article42/didjhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、微信公眾號、企業(yè)建站、網(wǎng)站設(shè)計(jì)定制開發(fā)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化