Python の OpenCV を使用して画像解像度をバッチで変更する方法
画像処理やコンピュータ ビジョンでは、多くの場合、大量の画像データを処理する必要があります。一般的なニーズの 1 つは、画像の解像度を変更することです。Python の OpenCV ライブラリには、画像の解像度をバッチで変更するのに役立つ便利な関数がいくつか用意されています。この記事では、Python の OpenCV ライブラリを使用してこの機能を実現する方法を説明します。
1. OpenCVライブラリをインストールする
まず、Python と OpenCV ライブラリがインストールされていることを確認してください。OpenCV ライブラリをインストールしていない場合は、次のコマンドを使用してインストールできます。
pip install opencv-python
2. OpenCV ライブラリとその他の必要なライブラリをインポートします。
次に、コードの先頭で、OpenCV ライブラリとその他の必要なライブラリをインポートする必要があります。
import cv2
import os
3. 入力ディレクトリと出力ディレクトリを設定します。
画像解像度のバッチ変更を開始する前に、入力ディレクトリと出力ディレクトリを設定する必要があります。入力ディレクトリは処理対象の画像が含まれるフォルダーへのパスであり、出力ディレクトリは処理された画像が保存されるフォルダーへのパスです。os
ライブラリを使用してディレクトリを作成できます。
input_folder = 'input/'
output_folder = 'output/'
os.makedirs(output_folder, exist_ok=True)
4. 画像解像度をバッチで変更する
画像の解像度をバッチで変更できるようになりました。cv2.resize()
このメソッドを使用して画像の解像度を変更できます。このメソッドは、画像、ターゲットの幅、およびターゲットの高さを受け取ります。サンプルコードは次のとおりです。
for filename in os.listdir(input_folder):
if filename.endswith('.jpg') or filename.endswith('.png'):
image = cv2.imread(os.path.join(input_folder, filename))
resized_image = cv2.resize(image, (640, 480))
cv2.imwrite(os.path.join(output_folder, filename), resized_image)
上記のコードは、入力ディレクトリ内のすべての画像ファイルを走査して、ファイルが「.jpg」で終わるか「.png」で終わるかを判断し、メソッドを使用して画像の解像度を変更し、出力ディレクトリに保存しますcv2.resize()
。
5。結論
PythonのOpenCVライブラリを利用することで、画像の解像度を一括変更する機能を簡単に実装できます。入出力ディレクトリを設定し、対応する関数を呼び出すだけで、画像データを素早くバッチ処理できます。この記事が、Python の OpenCV ライブラリをよりよく理解し、使用するのに役立つことを願っています。
以下是一个小示例
import cv2
import os
path = r"C:\Users\lenovo\Desktop\gg" # 存放原图片的文件夹路径
list = os.listdir(path)
for index, i in enumerate(list):
path = r"C:\Users\lenovo\Desktop\gg\{}".format(i)
img = cv2.imread(path)
img = cv2.resize(img, (480, 640)) # 修改为480*640
path = r"C:\Users\lenovo\Desktop\kk\{}.jpg".format(index) # 处理后的图片文件夹路径
cv2.imwrite(path, img)