日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python圖片合成的示例

瀏覽:175日期:2022-07-06 08:08:18

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

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

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

from PIL import Image##這里采用傳入圖片地址調用此函數#這個方法目前不支持按比例合成,默認為1:1#各取一個像素點合并,傳入的參數為兩張圖片的地址def merge1(img1_address,img2_addess): status=100 #狀態碼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

上述代碼會返回一張新的圖片和一個狀態碼,接受的時候用兩個變量接受

另一種方法是每個像素點各取%50的原圖片的顏色,然后把像素點放置在對應位置,為了功能更加強大,我把兩者的混合比例設為可調,默認是50%的比例,代碼如下:

from PIL import Image#將像素點按比例取色,然后合成一個新像素點#傳入的參數為兩張圖片的地址和比例#如果兩者之和不為1則以第一個圖片的比例為準def merge2(img1_address,img2_address,percent1=0.50,percent2=0.50): status=100 #狀態碼100為正常 # 200為地址錯誤 try: img1=Image.open(img1_address) img2=Image.open(img2_address) except: status=200 img_new='' else: if percent1+percent2!=1: percent2=1-percent1 width = min(img1.size[0],img2.size[0]) height = min(img1.size[1],img2.size[1]) img_new = Image.new(’RGB’,(width,height)) for x in range(width): for y in range(height): r1,g1,b1=img1.getpixel((x,y)) r2,g2,b2=img2.getpixel((x,y)) r=int(percent1*r1+percent2*r2) g=int(percent1*g1+percent2*g2) b=int(percent1*b1+percent2*b2) img_new.putpixel((x,y),(r,g,b)) finally: return img_new,status

返回的參數與上述相同 如果想要保存圖片可用image.save()函數保存

總的代碼如下:

from PIL import Image##這里采用傳入圖片地址調用此函數#這個方法目前不支持按比例合成,默認為1:1#各取一個像素點合并,傳入的參數為兩張圖片的地址def merge1(img1_address, img2_addess, direct): status=100 #狀態碼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 status#將像素點按比例取色,然后合成一個新像素點#傳入的參數為兩張圖片的地址和比例#如果兩者之和不為1則以第一個圖片的比例為準def merge2(img1_address, img2_address, direction, percent1): status = 100 #狀態碼100為正常 # 200為地址錯誤 try: img1 = Image.open(img1_address) img2 = Image.open(img2_address) except: status = 200 img_new = '' else: percent2 = 1 - percent1 width = min(img1.size[0], img2.size[0]) height = min(img1.size[1], img2.size[1]) img_new = Image.new(’RGB’, (width,height)) for x in range(width): for y in range(height): r1,g1,b1=img1.getpixel((x,y)) r2,g2,b2=img2.getpixel((x,y)) r = int(percent1 * r1 + percent2 * r2) g = int(percent1 * g1 +percent2 * g2) b = int(percent1 * b1 +percent2 * b2) img_new.putpixel((x,y),(r,g,b)) img_new.save(direction) #img_new.show() finally: return status #切記在接受返回信息時先判斷狀態碼是否異常,如果正確再執行相應操作if __name__==’__main__’: img1_address = 'B:PictureYourName1.jpg' img2_address = 'B:PictureYourName2.jpg' direction = 'D:/Python/PyQt/課程設計/merges/merge9.png' status = merge2(img1_address, img2_address, direction, 0.30) print(status)

當然,我發現Image庫中有Image.blend(image1, image2, alpha)這個混合圖片的函數,還沒看源碼,不知道他是用什么方法實現的。

原先的兩張照片:

python圖片合成的示例

合成后的照片:

python圖片合成的示例

左圖是方法一,右圖是方法二

優劣: 方法一不易造成曝光過度,因為實際的像素點并沒改動,只是間隔變大了,但這樣可能會造成輪廓不清晰 方法二在比例適當時效果是優于方式一的,但比例不合適就會看起來像曝光過度一樣,示例中方法二用的比例是0.3:0.7,又是比例不當效果會很糟糕,孰優孰劣請按效果好壞使用。

以上就是python圖片合成的示例的詳細內容,更多關于python圖片合成的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲网址在线观看| 日韩在线短视频| 久久精品二区亚洲w码| 91久久国产| 久久国产欧美| 粉嫩av一区二区三区四区五区 | 亚洲尤物在线| 久久九九电影| 麻豆91小视频| 你懂的亚洲视频| 欧美一区自拍| 日本va欧美va精品发布| 亚洲一卡久久| 在线视频免费在线观看一区二区| 日本欧美国产| 国产精品毛片久久| 精品国产三区在线| 你懂的网址国产 欧美| 亚洲综合精品| 亚洲在线国产日韩欧美| 日韩一级网站| 欧美日韩国产亚洲一区| 亚洲精品电影| 一区三区视频| 亚洲欧美视频| 热久久久久久久| 亚洲开心激情| 欧美影院精品| 国产一区二区色噜噜| 桃色av一区二区| 伊人精品视频| 91久久中文| 亚洲综合图色| 日韩精品视频网站| 欧美日韩中出| 久久久久久免费视频| 鲁大师成人一区二区三区| 国产精品88久久久久久| 亚洲免费资源| 久久99久久人婷婷精品综合| 日韩精品2区| 久久成人精品| 久久一区亚洲| 欧美特黄视频| 国产精品多人| 国产一区亚洲| 国产精品一卡| 婷婷丁香综合| 日韩成人精品一区二区三区| 国产精品最新自拍| 日韩精品久久久久久久电影99爱| 久久都是精品| 人在线成免费视频| 亚洲理论在线| 久久蜜桃精品| 麻豆91精品视频| 亚洲天堂免费| 久久久天天操| 久久av偷拍| 日韩精品中文字幕吗一区二区| 精品视频黄色| 欧美日韩va| 国产国产精品| 欧美日韩视频网站| 亚洲aa在线| 九九综合九九| 人人精品亚洲| 国产成人精品免费视| 亚洲精品婷婷| 国产尤物精品| 日本欧美不卡| 国产精品欧美大片| 亚洲制服欧美另类| 久久精品观看| 日本不良网站在线观看| 国产精品99久久免费| 日韩美女国产精品| 亚洲色图综合| 久久国产精品久久w女人spa| 精品久久久亚洲| 美女高潮久久久| 国产精品一区二区三区av麻| 日本一不卡视频| 伊人久久大香线蕉av超碰演员| 欧洲一区二区三区精品| 亚洲黄色中文字幕| 日韩欧美二区| 久久精品国产亚洲夜色av网站| 福利在线免费视频| 蜜臀国产一区| 激情偷拍久久| 亚洲一区有码| 欧美一区免费| 成人台湾亚洲精品一区二区 | 精品日韩在线| 天堂中文在线播放| 亚洲精品2区| 亚洲区国产区| 青青草91久久久久久久久| 婷婷综合成人| 精品国产美女a久久9999| 欧美精品高清| 国产精品婷婷| 日韩国产欧美在线视频| 亚洲成av在线| 久久精品国产精品亚洲毛片| 亚洲人成亚洲精品| 欧美日韩视频免费观看| 国产精品午夜av| 婷婷成人av| 蜜臀国产一区二区三区在线播放 | 日韩中文字幕av电影| av中文字幕在线观看第一页 | 婷婷综合在线| 久久婷婷久久| 久久精品1区| 日韩欧美1区| 国产精品亚洲四区在线观看| 蜜桃视频一区二区三区| 日韩视频中文| 国产精品日本| 亚洲永久字幕| 影音国产精品| 亚洲欧美日韩综合国产aⅴ| 91成人精品| 亚洲女同一区| 亚洲一区二区三区高清| 亚洲作爱视频| 日韩精品一区第一页| 视频一区欧美日韩| 日本vs亚洲vs韩国一区三区二区| 日韩一区二区三区精品| 亚洲综合色婷婷在线观看| 久久国产精品亚洲77777| 亚洲青青久久| 久久国际精品| 91偷拍一区二区三区精品| 成人羞羞在线观看网站| 亚洲成人日韩| 少妇精品在线| 精品中文在线| 亚洲国内欧美| 日韩精品免费一区二区夜夜嗨| 日本综合精品一区| 国产一区二区三区四区五区 | 国产精品九九| 蜜桃av在线播放| 亚洲最新av| 久久久久久夜| 亚洲精品影视| 黄毛片在线观看| 国产精品毛片一区二区三区| 青青国产精品| 久久久成人网| 国产日韩欧美| 久久九九精品| 欧美精品影院| 日韩视频一区二区三区在线播放免费观看| 亚洲深深色噜噜狠狠爱网站| 69堂精品视频在线播放| 久久国产中文字幕| 国产精品对白| 国产美女一区| 91综合网人人| 91精品啪在线观看国产爱臀| 免费在线小视频| 国产亚洲久久| 亚洲欧美伊人| 国产精品大片| 天堂精品久久久久| 日韩国产综合| 牛牛精品成人免费视频| 中文字幕亚洲在线观看| 99精品在线观看| 69堂精品视频在线播放| 亚洲一区二区三区高清不卡| 黄在线观看免费网站ktv| 欧美日韩一区自拍| 免费成人在线影院| 激情五月综合网| 亚洲三级欧美| 久久久免费人体| 91成人福利| 日韩精品第二页| 日韩av二区在线播放| 欧美午夜不卡| 欧美aaaaaa午夜精品| 日韩免费福利视频| 牛牛精品成人免费视频| 欧美日本不卡| 麻豆精品蜜桃视频网站| 亚洲在线久久| 深夜福利一区| 日本少妇精品亚洲第一区| 国产伦精品一区二区三区千人斩 | 欧美成a人免费观看久久| 国产日韩一区二区三区在线| 国产精品麻豆成人av电影艾秋| 日韩中文在线电影| 久久久久97|