Mac OS Sierra
Ver:10.12.1
Python Imaging Libraryを使用して画像を円形に切り取る
を参考に画像を円形に切り抜きたい。
WorkPlaceというフォルダの中にoriginalとresizeDataさらにそれぞれに0,1,2というフォルダがあります。
originalの0,1,2にはそれぞれこのような画像が35枚ずつはいっていてこちらを加工してresizeDataの0,1,2に格納したいということなんですが
円形に加工するのがうまくいきません。
https://www.flickr.com/photos/ncsm-sky/sets/72157681801352463
上記のような画像を綺麗に天気の部分だけくりぬきたいです…。
lang
1# -*- coding:utf-8 -*- 2 3from PIL import Image,ImageDraw 4import os 5 6# 画像の読込み 7def readImg(imgName, index): 8#画像が保存されてるディレクトリへのpath 9#os.listdir('パス') 10#指定したパス内の全てのファイルとディレクトリを要素とするリストを返す 11 imgNames = os.listdir("./original/" + str(index)) 12 try: 13 # pathは上で設定したフォルダと同じ場所 14 img_src = Image.open("./original/" + str(index) + "/" + imgName) 15 except: 16 # imageファイル以外を読み込んだ場合 17 print("{} is not image file!".format(imgName)) 18 img_src = 1 19 return img_src 20 21# 各フォルダの画像を50×50にリサイズする 22for i in range(0,3): 23 imgNames = os.listdir("./original/" + str(i)) 24 for imgName in imgNames: 25 img_src = readImg(imgName, i) 26 if img_src == 1:continue 27 else: 28 print(imgNames) 29 # 50×50にリサイズする 30 img_src2 = Image.new("RGB", img_src.size, (0xbb, 0xdd, 0xff)) 31 mask = Image.new("1", img_src.size, 1) 32 draw = ImageDraw.Draw(mask) 33 draw.ellipse((0,0,img_src.size[0]-1,img_src.size[1]-1), fill=0) 34 del draw 35 img_src3 = Image.composite(img_src, img_src2, mask); 36 img_src3.save("./resizeData/" + str(i) + "/" + "resize_"+imgName) 37 print(imgName+" is resized!")
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/10 05:43