【python-openCV】複数の画像を仕切りを付けて結合する方法!

 

この記事では、以下の二つの画像を

使用するサンプル画像の紹介

以下の画像のように中間に白い仕切りをつけて、一枚の画像として結合する方法をご紹介します。

2枚の画像を横方向に結合した結果

 

それではさっそくやっていきましょう。

 

※この作業をpythonというプログラミング言語を用いて実行していきます。インストールから始めたい方は以下からご覧ください。

スポンサーリンク

使用するライブラリ一覧

今回の記事では、以下のふたつのライブラリを使用します。

〇numpy

〇openCV

 

numpy はAnacondaを使用すればあらかじめインストールされていますが、openCVは自分で追加インストールが必要です。

 

openCVのインストール方法については以下の記事で解説しています。

 

スポンサーリンク

2つの画像を結合するサンプルコード

早速ですが、以下が冒頭に紹介した処理を実行するサンプルコードです。

import cv2
import numpy as np
#画像読み込み
img1=cv2.imread('edge_value100.jpg',cv2.IMREAD_GRAYSCALE)
h,w=img1.shape[:2]
#画像読み込み⇒サイズ調整
img2=cv2.imread('edge_value220.jpg',cv2.IMREAD_GRAYSCALE)
img2=cv2.resize(img2,(w,h))
#中間に入れる白い仕切りを作る
center_bar=np.zeros((h,10),np.uint8)+255
#画像の結合
concate=np.concatenate([img1,center_bar,img2],1)
#画像の出力
cv2.imwrite('concatenate.jpg',concate)

 

※このプログラムを実行するファイルと同じ場所にedge_value100.jpg, edge_value220.jpgが保存されており、さらにこのプログラムを実行すると同じフォルダにconcatenate.jpgというファイルが出力されるようになっています。

 

スポンサーリンク

サンプルコードの実行結果

先ほどのコードを実行してみましょう。

〇以下が実行前のフォルダ内

プログラム実行前のフォルダ構成

〇以下が実行後のフォルダ内

プログラム実行後のフォルダ構成

問題なく結合画像を作成できましたね。

 

スポンサーリンク

画像を縦方向に結合したい場合

さきほどの画像は横方向への結合でしたが、ついでに縦方向への結合もやっておきましょう。

以下がそのサンプルコードです。

import cv2
import numpy as np
#画像読み込み
img1=cv2.imread('edge_value100.jpg',cv2.IMREAD_GRAYSCALE)
h,w=img1.shape[:2]
#画像読み込み⇒サイズ調整
img2=cv2.imread('edge_value220.jpg',cv2.IMREAD_GRAYSCALE)
img2=cv2.resize(img2,(w,h))
#中間に入れ津白い仕切りを作る
center_bar=np.zeros((10,w),np.uint8)+255
#画像の結合
concate=np.concatenate([img1,center_bar,img2],0)
#画像の出力
cv2.imwrite('concatenate.jpg',concate)

 

こいつを実行すると以下の結果が出力されました。

2枚の画像を縦方向に結合した結果

 

こちらも問題なく実行できましたね。

 

スポンサーリンク

おわりに

というわけで今回はnumpyのconcatenateを使って、複数の配列画像を結合する方法をご紹介しました。

なお、numpyのconcatenateに関しては以下の記事で詳細解説しています。

興味があればこちらもぜひご覧ください。

【python】複数の配列を結合!numpy.concatenateの使い方!

 

このように、私のブログでは様々なスキルを紹介しています。

過去記事一覧

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村 IT技術ブログへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました