PIL
import matplotlib.pyplot as plt import numpy as np def rotRC(rad, RC, centerRC=[0.0, 0.0]): COS = np.cos(rad) SIN = np.sin(rad) centerRC = np.array(centerRC) RC = np.array(RC) # 座標の取りかたを数学座標(x, y)ではなく排列座標[行番号, 列番号…
2次元排列の先頭、末尾のインデックス(負数を許容)を指定することにより、全要素のインデックスを収容した3次元排列を作ることを考える。forループを使えば簡単に出来るが使わない。 (追記: numpy.where()という函数があった(2018年12月6日)) import numpy a…
いわゆる回転行列を応用する。第1象限の中だけで行ったり来たりするよう(xy両軸を中心にミラーリングされるよう)工夫する。 import numpy as np import matplotlib.pyplot as plt def expandRC(rad, rows, cols): COS, SIN = np.abs([np.cos(rad), np.sin(ra…
グレースケールにするときは np.repeat()を使ってAllBrightness = [1,2,3]からAllRGB = [[1,1,1], [2,2,2], [3,3,3]] という排列を作ってImageオブジェクト化すればよい。 2値化するときは、たとえば閾値を100とするなら AllRGB = [[1,2,3],[10,20,30],[100,…
PIL.Imageは画像の読み込み、生成、エクスポートに使うだけにして、あとはnumpyだけで処理する。 from PIL import Image import matplotlib.pyplot as plt import numpy as np class IMAGE: def __init__(self, imgPath): self.srcImg = Image.open(imgPath)…
from PIL import Image import matplotlib.pyplot as plt import numpy as np class IMAGE: def __init__(self, imgPath): self.srcImg = Image.open(imgPath) # 画像を読み込む。 self.numOfPixels = self.srcImg.width * self.srcImg.height # 全画素数を…
from PIL import Image import matplotlib.pyplot as plt def showImg(imgPath): srcImg = Image.open(imgPath) plt.imshow(srcImg) plt.show() showImg("C:\\Users\\NEC-PCuser\\Desktop\\akiho.png") 実行結果: