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

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

python圖片合成的示例

瀏覽:172日期: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久久,三上悠亚国产精品一区二区三区
国产情侣久久| 日韩在线卡一卡二| 国产探花一区| 久久久一本精品| 韩国三级一区| 免费久久精品| 欧美高清不卡| 亚洲无线一线二线三线区别av| 久久精品国产成人一区二区三区 | 久久一区二区三区电影| 日韩av电影一区| 精品中文一区| 久久久成人网| 日韩精品欧美| 成人在线网站| 国产精品88久久久久久| 久久精品卡一| 久久激情婷婷| 久久久水蜜桃av免费网站| 久久久久99| 精品视频91| 午夜天堂精品久久久久| 日韩区一区二| 亚洲免费激情| 九一成人免费视频| 欧美freesex黑人又粗又大| 免费日韩成人| 亚久久调教视频| 国精品一区二区三区| 久久av综合| 久久亚洲黄色| 91亚洲国产| 久久国产中文字幕| 国产精品毛片| 日本一区福利在线| 日本视频在线一区| 久久av一区| 久久av免费| 久久人人97超碰国产公开结果| 在线视频免费在线观看一区二区| 卡一卡二国产精品| 国产va免费精品观看精品视频| 精品一区二区三区在线观看视频| 欧美激情福利| 视频在线不卡免费观看| 99精品视频精品精品视频| 亚洲成人二区| 国产成人调教视频在线观看| 国产精品一区二区三区www| 日韩精品成人| 国产精品第十页| 久久激情五月婷婷| 日本一区二区免费高清| 国产美女精品| 久久一区精品| 亚洲欧美久久久| 精品三区视频| 日本不卡一区二区三区| 亚洲天堂一区二区| 综合激情视频| 精品视频久久| 蜜臀久久99精品久久久画质超高清 | 国产麻豆综合| 性色一区二区| 国产精品99久久免费观看| 欧美亚洲精品在线| 免费亚洲婷婷| 蜜臀av在线播放一区二区三区| 久久精品72免费观看| 欧美网站在线| 欧美91在线| 巨乳诱惑日韩免费av| 97视频热人人精品免费| 石原莉奈在线亚洲二区| 国精品产品一区| 蜜桃视频在线观看一区| 你懂的国产精品永久在线| 超级白嫩亚洲国产第一| 欧美一区二区三区高清视频 | 高清不卡一区| av综合电影网站| a日韩av网址| 国内精品麻豆美女在线播放视频| 亚洲aa在线| 成人在线视频区| 日韩在线免费| 福利一区在线| 精品资源在线| 国产精品一区二区三区四区在线观看| 欧美天堂视频| 欧洲av不卡| 久久婷婷国产| 国产精品高清一区二区| 国产伦理一区| 蜜桃久久av| 久久久水蜜桃av免费网站| 日韩av三区| 国产日韩欧美一区二区三区 | 国产96在线亚洲| 久久av资源| 精品国产中文字幕第一页| 91嫩草精品| 久久国产小视频| 日韩中出av| 国产精品手机在线播放| 亚洲精品在线二区| 日韩av一区二| 久久精品天堂| 精品一区二区男人吃奶| 久久国产成人午夜av影院宅| 日韩高清一区二区| 四虎成人av| 蜜桃精品视频| 亚洲综合国产| 国产精成人品2018| 国产精品一区二区三区av| 日本va欧美va瓶| 久久国产精品免费精品3p | 精品网站aaa| 日韩精品电影| 麻豆中文一区二区| 先锋影音久久久| 欧美色综合网| 99视频精品全部免费在线视频| 欧美+日本+国产+在线a∨观看| 久久国内精品自在自线400部| 亚洲午夜电影| 美腿丝袜在线亚洲一区| 日本一区二区三区中文字幕| 欧美日韩在线二区| 美女网站视频一区| 日韩精品永久网址| 国产精品99视频| 中文亚洲免费| 欧美亚洲国产精品久久| 国产欧美视频在线| 亚洲一级大片| 亚洲不卡系列| 国产精品igao视频网网址不卡日韩| 国产v综合v| 国产日韩在线观看视频| 久久久夜精品| 日韩精品dvd| 欧美日韩亚洲一区三区| 欧美色图国产精品| 国产粉嫩在线观看| 欧美精品二区| 国产亚洲精品美女久久| 欧美精品黄色| 亚洲一区二区三区四区五区午夜| 美女网站视频一区| 免费观看亚洲| 亚洲激情婷婷| 精品欠久久久中文字幕加勒比| 日本午夜精品久久久| 一区二区三区网站| 日本韩国欧美超级黄在线观看| 亚洲美女久久精品| 精品国产aⅴ| 国内精品麻豆美女在线播放视频| 国产视频网站一区二区三区| 国产精品丝袜xxxxxxx| 午夜久久一区| 成人va天堂| 天堂日韩电影| 麻豆久久精品| 亚洲开心激情| 日韩欧美中文字幕在线视频| 欧美成人高清| 国产精品一区二区精品视频观看 | 精品国产免费人成网站| 国产在线不卡一区二区三区| 国产伦久视频在线观看| 免费人成精品欧美精品| 亚洲欧美日韩专区| 国产亚洲精品久久久久婷婷瑜伽| 国产精品腿扒开做爽爽爽挤奶网站| 麻豆成人91精品二区三区| 国产精品久久久免费| 久久精品亚洲| 日韩欧美在线中字| 久久久久国产精品一区二区| 蜜臀久久99精品久久久久久9| 国产精品呻吟| 视频精品一区二区| 免费福利视频一区二区三区| 国产成人精品一区二区三区在线| 国产v综合v| 蜜桃成人av| 7777精品| 欧美女激情福利| 热久久久久久| 日韩网站中文字幕| 日韩精品亚洲一区二区三区免费| 欧美日韩一区二区三区不卡视频 | 日韩一级欧洲| av高清不卡| 欧美在线精品一区| 国产亚洲福利| 久久青青视频|