Python画像処理入門
画像を表現するクラスをロード
import PIL from PIL import Image import numpy as np import sys, os file = '2017_0617_1505_14976795.JPG' img = Image.open(file, 'r') r, g, b = img.split() rgb_img = Image.merge("RGB", (r,b,g)) rgb_img.save(file[:-4] + "chRGB_rbg.JPG", 'JPEG') rgb_img = Image.merge("RGB", (g,r,b)) rgb_img.save(file[:-4] + "chRGB_grb.JPG", 'JPEG') rgb_img = Image.merge("RGB", (g,b,r)) rgb_img.save(file[:-4] + "chRGB_gbr.JPG", 'JPEG') rgb_img = Image.merge("RGB", (b,r,g)) rgb_img.save(file[:-4] + "chRGB_brg.JPG", 'JPEG') rgb_img = Image.merge("RGB", (b,g,r)) rgb_img.save(file[:-4] + "chRGB_bgr.JPG", 'JPEG')
- 画像を表現するクラスをロード
import PIL from PIL import Image import numpy as np import sys, os file = '2017_0617_1505_14976795.JPG' img = Image.open(file, 'r') gray_img = img.convert('L') gray_img.save(file[:-4] + "gray.JPG", 'JPEG')
- ---↓ for changin whole dir↓ ---
- files = os.listdir('pic_all_resize')
- os.chdir("./pic_all_resize")
- for fil in files:
- img = Image.open(fil, 'r')
- gray_img = img.convert('L')
- gray_img.save(fil[:-4] + "resize_gray.jpg", 'JPEG')
from PIL import Image import sys, os hoge = Image.open("2017_0617_1505_14976795.JPG").resize((50,50)) hoge.save("resize.jpg")
- resize と 解像度を落とすのは違う。
- -----↓ 以下はresizeです↓ -----
- file = '2017_0617_1505_14976795.JPG'
- img = Image.open(file, 'r')
- width, height = img.size
- width_2 = width/10
- height_2 = height/10
- img.thumbnail((width_2, height_2))
- img.save(file[:-4] + "_LowRes.JPG", 'JPEG')
from PIL import Image import sys, os hoge = Image.open("2017_0617_1505_14976795.JPG").resize((50,50)) hoge.save("resize.jpg")
- resize と 解像度を落とすのは違う。
- -----↓ 以下はresizeです↓ -----
- file = '2017_0617_1505_14976795.JPG'
- img = Image.open(file, 'r')
- width, height = img.size
- width_2 = width/10
- height_2 = height/10
- img.thumbnail((width_2, height_2))
- img.save(file[:-4] + "_LowRes.JPG", 'JPEG')
- coding: utf-8
- This is used here in ./pic_all
- ------------------------------------------
from PIL import Image
file = '2017_0617_1505_14976795.JPG' img = Image.open(file, 'r') size = min(img.size) width, height = img.size top = 0 bottom = size left = (width - size) / 2 right = left + size box = (left, top, right, bottom) img = img.crop(box) img.thumbnail((100, 100)) img.save(file[:-4] + "_resize.JPG", 'JPEG')
- img = Image.open('files[len(files)]', 'r')
- import sys, os
- sys.path.append(os.pardir)
- files = os.listdir('pic_all')
- os.chdir("./pic_all")
- for fil in files:
- img = Image.open(fil, 'r')
- resize_img = img.resize((28, 28))#tupleにより指定
- resize_img.save(fil[:-4] + "resize.jpg", 'JPEG')#リサイズ後の画像を保存
- img = Image.open('files[len(files)]', 'r') #読み込み
- coding: utf-8
- This is used here in ./pic_all
- ------------------------------------------
from PIL import Image file = '2017_0617_1505_14976795.JPG' img = Image.open(file, 'r') resize_img = img.resize((100, 100)) resize_img.save(file[:-4] + "_resize.JPG", 'JPEG')
- img = Image.open('files[len(files)]', 'r')
- import sys, os
- sys.path.append(os.pardir)
- files = os.listdir('pic_all')
- os.chdir("./pic_all")
- for fil in files:
- img = Image.open(fil, 'r')
- resize_img = img.resize((28, 28))#tupleにより指定
- resize_img.save(fil[:-4] + "resize.jpg", 'JPEG')#リサイズ後の画像を保存
- img = Image.open('files[len(files)]', 'r') #読み込み
import numpy as np import PIL from PIL import Image from os import listdir import sys, os def rm_noise(x, sizex, sizey): for s in range(sizey): for t in range(sizex): #if x[s, t] == 0: if imgc[s, t, 0] == 0 and imgc[s, t, 1] == 0 and imgc[s, t, 2] == 0: x[s, t, 0]=255 x[s, t, 1]=255 x[s, t, 2]=255 return(x) file = '2017_0617_1505_14976795.JPG' imga = Image.open(file, 'r') for i in range(30, 360, 30): imgb = imga.rotate(i) sizex = imgb.size[0] sizey = imgb.size[1] imgc = np.asarray(imgb) imgc.flags.writeable = True imgd = rm_noise(imgc, sizex ,sizey) imge = Image.fromarray(np.uint8(imgd)) imge.save(file[:-4] + "_rotate" + str(i) + ".JPG", "JPEG")
Keyword(s):
References:[とらりもんHOME]