python實現影象拼接功能
阿新 • • 發佈:2020-03-24
利用Python將Market1501的分割圖片和原圖兩張圖片進行拼接成一左一右一張圖片,並將圖片的畫素值調整成256*128.
所有資料夾:
資料夾下的所有原圖:
資料夾下的所有的分割圖片:
程式碼如下:
import PIL.Image as Image import os IMAGES_PATH = 'E:/gyx/Learning/Practice/4/data/market1501_seg_1/test/ori_img/' # 原圖片集地址 IMAGES_PATH_1 = 'E:/gyx/Learning/Practice/4/data/market1501_seg_1/test/seg_img/' #分割圖片集地址 IMAGE_SAVE_PATH = 'E:/gyx/Learning/Practice/4/data/market1501_seg_1/test/new/' #儲存新圖片地址 IMAGES_FORMAT = ['.jpg','.JPG'] # 圖片格式 list_n = [] w = 256 # 每張小圖片的大小 h = 128 # 獲取圖片集地址下的所有圖片名稱 image_names = [name for name in os.listdir(IMAGES_PATH) for item in IMAGES_FORMAT if os.path.splitext(name)[1] == item] image_names_1 = [name for name in os.listdir(IMAGES_PATH_1) for item in IMAGES_FORMAT if os.path.splitext(name)[1] == item] # 定義影象拼接函式 def image_compose(imag,imag_1): src = os.path.join(os.path.abspath(IMAGE_SAVE_PATH),img) to_image = Image.new('RGB',(2 * h,1 * w)) # 建立一個新圖 # 把兩張圖片按順序貼上到對應位置上 rom_image = Image.open(IMAGES_PATH + imag).resize((h,w),Image.ANTIALIAS) rom_image_1 = Image.open(IMAGES_PATH_1 + imag_1).resize((h,Image.ANTIALIAS) to_image.paste(rom_image,(0,0)) to_image.paste(rom_image_1,(h,0)) to_image.save(src) # 儲存新圖,還是原來的名稱 #檔名相同就呼叫拼接函式 for img in image_names: for img_1 in image_names_1: if img == img_1: image_compose(img,img_1)
單獨圖片的拼接效果:
新資料夾new下圖片的效果:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。