python圖片拼接



import
os from PIL import Image #import pyautogui #import re ''' 把當前目錄下的10*10張jpeg格式圖片拼接成一張大圖片 ''' #圖片壓縮后的大小 width_i = 200 height_i = 300 #每行每列顯示圖片數量 line_max = 10 row_max = 10 #參數初始化 all_path = [] num = 0 pic_max=line_max*row_max dirName = os.getcwd() for root, dirs, files in os.walk(dirName): for file in files: if "jpeg" in file: all_path.append(os.path.join(root, file)) toImage = Image.new('RGBA',(width_i*line_max,height_i*row_max)) for i in range(0,row_max): for j in range(0,line_max): pic_fole_head = Image.open(all_path[num]) width,height = pic_fole_head.size tmppic = pic_fole_head.resize((width_i,height_i)) loc = (int(i%line_max*width_i),int(j%line_max*height_i)) #print("第" + str(num) + "存放位置" + str(loc)) toImage.paste(tmppic,loc) num= num+1
      if num >= len(all_path): print("breadk") break if num >= pic_max: break print(toImage.size) toImage.save('merged.png')

設計原因,以前聽別人說用來把妹的

設計思路如下,

1.先用you-get 抓取jpeg格式文件放到目錄下

2.寫程序使得程序可以讀取到當前目錄下的所有jepg格式文件(類似於數據庫)

3.對這些文件進行統一的壓縮,做成寬200,高300的(當然如果按照原始比例縮小的話就會有亂序效果,大小圖疊加而且不會有失真的情況發生)

4.創建一個畫板,在對應的位置貼上壓縮后的圖片即可

 

 

=======

感悟其實寫程序也就跟玩游戲一樣,摸索出各種工具怎么用。然后用起來幫你做事就可以了

      5X5                 3X3

   

 

如果代碼中的壓縮改成按照等比例縮放如下

        tmppic = pic_fole_head.resize((int(width/3),int(height/3)))

則會有如下效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM