とらりもんHOME  Index  Search  Changes  Login

とらりもん - Python画像処理入門 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

#!1バンドグレースケール画像の表示
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")