科学の箱

科学・IT・登山の話題

Python

flip, fliplr, flipudを使って配列要素を上下左右、左右、上下反転する

投稿日:

画像処理などでは要素の値を配列全体で反転したいときがある。このようなときに役に立つのがflip, fliplr, flipudである。

flipud

flipudは上下反転する。

第一パラメータには反転したい配列を渡す。結果は上下反転した配列が戻ってくる。

import numpy as np
z = np.arange(12)
z1=z.reshape(3,4)

print(z1)
# [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

print(np.flipud(z1)
[[ 8  9 10 11]
 [ 4  5  6  7]
 [ 0  1  2  3]]

 

この結果は[::-1, ::]でスライスした結果と同じである。

print(z1[::-1,])
# [[ 8  9 10 11]
 [ 4  5  6  7]
 [ 0  1  2  3]]

 

fliplr

flipudは左右反転する。

第一パラメータには反転したい配列を渡す。結果は左右反転した配列が戻ってくる。

import numpy as np
z = np.arange(12)
z1=z.reshape(3,4)

print(z1)
# [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

print(np.flipnr(z1))
#[[ 3  2  1  0]
 [ 7  6  5  4]
 [11 10  9  8]]

 

この結果は[::,::-1]でスライスしたのと同じ結果である

print(z1[::,::-1])

# [[ 3  2  1  0]
 [ 7  6  5  4]
 [11 10  9  8]]

 

flip

flipは配列の要素を上下反転する。

第一パラメータに反転したい配列を引き渡す。この結果上下反転した配列が戻ってくる。

3×4の配列を上下反転した例が以下になる。

z = np.arange(12)
z1=z.reshape(3,4)

print(z1)
# [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

print(np.flip(z1)
# [[11 10  9  8]
 [ 7  6  5  4]
 [ 3  2  1  0]]

上下・左右すべて反転しているのがわかる。

flipは配列を[::-1,::-1]でスライスしたのと同じ結果となる。

print(z1[::-1, ::-1])
# [[11, 10,  9,  8],
       [ 7,  6,  5,  4],
       [ 3,  2,  1,  0]]

 

flipは引数axisにより反転する軸を指定できる。flip(配列)はflip(配列, (0,1))と同じである。

print(np.flip(z1, (0,1)))
# [[11 10  9  8]
 [ 7  6  5  4]
 [ 3  2  1  0]]

 

flip(配列, 0)はflipud, flip(配列, 1)はfliplrと同じである。

 

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

numpy.linspace()を使って等差数列を生成する

一次関数と等差数列 一次関数をテストするときに必須になるのが等差数列。等差数列とは要素と要素の間の差が等しいもの。 例えば1, 2, 3, 4, 5, 6は等差が1の数列である。等差が2になると、1, …

no image

グリッドサーチ

機械学習のアルゴリズムを利用する際に一つの問題がパラメータの最適化。例えばSVMではガンマパラメータを適切に設定しないと結果は使い物にならないことがある。このパラメータは自分で設定する方法もあるが、P …

no image

django install

まずはdjangoをインストールする pip install django   Versionを確認する python -m django –version はじめてのプロジェク …

no image

pandaでdataframeを利用するときの基本操作

Dataframeを作成します。 import numpy as np import pandas as pd from numpy.random import randn np.random.see …

no image

pipインストールでエラーが出る場合

pipインストールでエラーが出る場合 Collecting tensorflow WARNING: Retrying (Retry(total=4, connect=None, read=None, …

2019年9月
« 8月   10月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー