2017年7月5日 更新

現役JDと学ぶ画像処理入門①〜openCV入門〜

openCV入門(画像の読み込み、表示、保存、線形変換、拡大縮小)

51,182 view お気に入り 1
上の拡大の例では出力サイズを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
 (4074)

最後に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
crop_image

crop_image

さて、Lennaちゃんの顔がドアップになってちょっとドキドキしたところで、今回の講座は終わりにしたいと思います!
最後までお付き合いくださりありがとうございました。次回もお楽しみに〜😆
53 件

関連する記事 こんな記事も人気です♪

Pythonで画像処理 マスク処理

Pythonで画像処理 マスク処理

Pythonで画像を操作する方法を簡単に解説しています。
望月 優輝 | 25,233 view
Morphology (モルフォロジー) 変換の実装 ~ Python + OpenCV ~

Morphology (モルフォロジー) 変換の実装 ~ Python + OpenCV ~

画像処理の一つ,モルフォロジー変換をPython と OpenCVのライブラリを用いて実装し,それを2値画像に対して適用します.
等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 2

前回の記事「等角写像による画像の変換〜Schwarz-Christoffel 変換〜part 1」の続きです. 実際に実装をして,写像を確かめてみます.
画像のセグメンテーション - Level set 法の実装 (Chan-Vese) -

画像のセグメンテーション - Level set 法の実装 (Chan-Vese) -

画像処理のセグメンテーションの分野で用いられるLevel set 法を用いて画像のセグメンテーションを行います.
画像の一部を消すInpainting という技術とその実装 (python)

画像の一部を消すInpainting という技術とその実装 (python)

Python + OpenCVにより,画像の修復の技術,「Inpainting 」の実装を行います.

この記事のキーワード

この記事のキュレーター

広部ゆりか 広部ゆりか