医用画像位置合わせの基礎⑥ 〜アフィン変換とは?〜 - Imacel Academy -人工知能・画像解析スキルが身に付く専門サイト-|LPixel(エルピクセル)
今回は、画像位置合わせに用いられるアフィン変換をご紹介します。
上の拡大の例では出力サイズをNone(0とかでも良い)にして拡大率fx、fyを指定しましたが、代わりに出力サイズを指定することもできます。
そちらの方法で今度は縮小を試してみましょう
そちらの方法で今度は縮小を試してみましょう
#出力サイズの指定。割った際にfloatになってしまうのでint()を用いて整数にしましょう size = (int(width*0.5), int(height*0.5)) #画像を拡大 (変換する前の画像配列、出力サイズ, interpolation = 補間方法の指定 ) compressed_image = cv2.resize(rgb_image, size, interpolation = cv2.INTER_CUBIC) plt.imshow(compressed_image)
compressed.py
最後にNumpyを用いた拡大の方法です。
#引き伸ばした画像を切り取る #元の画像と引き伸ばした画像の縦、横を取り出す height_1, width_1 = image.shape[:2] height_2, width_2 = zoomed_image.shape[:2] # x、y軸それぞれの切り取り開始点の決定 x = int((width_2-width_1)/2) y = int((height_2-height_1)/2) #切り取り開始点から元の画像分のサイズを切り取る #[y:y+height_1]は、yの位置からy+height_1の位置までを指定して抜き出す、という意味。画像データをただの配列として扱えるところがポイント! crop_image = zoomed_image[y:y+height_1, x:x+width_1] plt.imshow(crop_image)
crop.py
さて、Lennaちゃんの顔がドアップになってちょっとドキドキしたところで、今回の講座は終わりにしたいと思います!
最後までお付き合いくださりありがとうございました。次回もお楽しみに〜😆
最後までお付き合いくださりありがとうございました。次回もお楽しみに〜😆