\

PythonとOpenCVを使用して、特定のフォルダ内にある複数の画像をforループで開き、処理を行う方法について説明します。

まず、画像ファイルの名前を取得するために、globを使用してフォルダ内のjpgファイル名をリスト化します。次に、リストの配列数分for inでループを行います。

import pathlib
import cv2
import numpy as np

input_dir = "images/input"
input_list = list(pathlib.Path(input_dir).glob('**/*.jpg'))
for i in range(len(input_list)):
    img_file_name = str(input_list[i])
    img_np = np.fromfile(img_file_name, dtype=np.uint8)
    img = cv2.imdecode(img_np, cv2.IMREAD_COLOR)
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    print("-------------------------------------------")
    print(img_file_name)

このコードでは、numpyを使用して画像をバイナリで開き、そのバイナリをOpenCV形式に変換しています。その後、OpenCV形式の画像をグレースケール化しています。

このようにPythonとOpenCVを使用すると、画像処理の繰り返し処理を効率的に行うことができます。さらに詳細な処理を追加することで、より高度な画像処理を実現することが可能です。

投稿者 admin

コメントを残す

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