とらりもん - Python画像処理入門 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
plt.gray() # これをつけないと,1バンドカラー画像になってしまう。
plt.imshow(img)
plt.show
!画像を表現するクラスをロード
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")