科学の箱

科学・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

python coding styleのツール

Pythonで使えるコーディングツール pep8 flake8 pylint   Related posts:automated the boring – day8jupyterで補完機能を …

no image

kaggle Titanic Tutorial – 10

いろいろ試しているがうまくいかないので、とりあえずAgeを正しく補完できるか調べる。 調査は線形回帰でどれくらい相関が出るかで判断する。   import numpy as nm impor …

no image

特定のパッケージのためのgitignoreを作成したい

https://gitignore.ioを開く パッケージ名を入力 Createをクリック Related posts:python data scientist bootcamptensorflow …

no image

Scrapy – Tutorial

Tutorialはこちら https://doc.scrapy.org/en/latest/intro/tutorial.html 特に難しい点はないがいくつかポイント spidersディレクトリはプ …

no image

automated the boring – day6

https://automatetheboringstuff.com/chapter11/ さてこの辺からようやく面白くなってくる。webscrapingをするにあたり、まずはブラウザをpythonか …

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

side bar top



最近の投稿

アーカイブ

カテゴリー