画像を横に並べたり縦に並べたりしたい

画像を横に並べたり縦に並べたりしたい

ちょっとした備忘録です。

最近はAmazon Prime Videoを倍速で見ることができるようになったので、いろんな作品を見ていますが、名探偵コナンを半月で300話見るのはさすがに大変でした。

ちなみにワンピースは1ヶ月でドラム島からアニメ最新話まで追いついた。

あと最近のおすすめはプレイボーイ誌創刊者ヒューヘフナーのドキュメンタリーで、まあかなり際どい内容ですが、起業家の努力とか哲学とかそういうエッセンスが詰まっていてとても興味深い内容の作品なのでおすすめです。

環境

  • Python 3.10.1
  • NumPy 1.21.6
  • OpenCV-Python 4.5.5

このページはStack Overflowのこのページに準拠しています。

用意する画像は画像処理をする人にはお馴染み、lenaです。

まあただ、最近はポリコレ的にあまり使わないほうが良いらしいのですが、後継の画像は乱立しているらしいのでとりあえず現状この画像を使います。

コード

縦に並べる

import numpy as np
import cv2

im = cv2.imread('lena.jpg')
imv = np.concatenate([im, im], axis=0)
cv2.imwrite('lena-vertical.jpg', imv)

横に並べる

import numpy as np
import cv2

im = cv2.imread('lena.jpg')
imh = np.concatenate([im, im], axis=1)
cv2.imwrite('lena-horizontal.jpg', imh)

さいごに

画像を並べるのにいちいち長い文章を書きたくないなと思ったら、案の定、Pythonの優秀なサードパーティーライブラリーのおかげで簡単に処理できました。

覚えておいて損はないなと思いますが、きっとまた忘れるし、そもそも私の内定先は全然エンジニアとは程遠いので、備忘録としました。