前提・実現したいこと
pythonのcv2をつかって、任意のサイズに分割された画像を結合したいです。
下記のイメージで作りたいと思っているのですが、うまくfor文を使う方法がわかりません。
2重ループを使うと思うのですが、どのようにすれば良いでしょうか。
x_listとy_listは任意の値が入ってきて分割されている想定です。
下記のソースコードの状態で求める結果は
0test, 1test, 2test 3test, 4test, 5test
といったように結合されたopencv_hconcat.jpgです。
該当のソースコード
import cv2 def main(): # 分割された画像情報(ここは任意の値を入れたい) x_list=[0,430,860,1280] y_list=[0,360,720] # 画像読み込み split_img = [] split_img.append(cv2.imread("./0test.jpg")) split_img.append(cv2.imread("./1test.jpg")) split_img.append(cv2.imread("./2test.jpg")) split_img.append(cv2.imread("./3test.jpg")) split_img.append(cv2.imread("./4test.jpg")) split_img.append(cv2.imread("./5test.jpg")) # hconcatをforで使いたかったので1個目に代入 img1 = cv2.imread("./0test.jpg") # 横方向に結合(縦方向への結合のvconcatも組み込む想定、一度横方向の結合を終わらせてから縦に結合?) for i in range(1, len(x_list)): img1 = cv2.hconcat([img1, split_img[i]]) cv2.imwrite("./opencv_hconcat.jpg", img1) if __name__ == "__main__": main()
ソースコードがいまいちで申し訳ありませんが、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。