python+OpenCVで一括画像リサイズ

お疲れ様です。富沢です。

 

王様たちのヴァイキングという漫画を読んで少し熱くなりました。

皆さんも是非読んでみてください。ハッカーのお話です。

 

動機

はー、パソコンでマンが読んでるけど画像のサイズ小さいからストレスたまるな

ということでやること

PythonとOpenCVで画像リサイズ

まずはソースコードから

# -*- coding: utf-8 -*-
import os
import sys
import numpy as np
import cv2

if __name__ == '__main__':
 #path設定
 paths = ['C:/Users/<hoge>/Desktop/1113/05']
 print 'start'
 for path in paths:
 #結果ディレクトリ作成
 result = path + '/result/'
 if not os.path.exists(result):
 os.mkdir(result)

#ファイル一覧取得
 files = os.listdir(path)

#画像ファイルの取得、リサイズ
 for cnt,f in enumerate(files):
 print str(cnt+1) + '/' + str(len(files))
 try:
 file_path = path + '/' + str(f)
 img = cv2.imread(file_path)
 if img is not None:
 resized = cv2.resize(img,(800,1280))
 cv2.imwrite(result + str(cnt+1).zfill(3) + '.jpg',resized)
 except:
 print 'exception in ',f 
 
 print 'fin'

OpenCVはさすがですね。

今回は私のPCのサイズ(1280の800)に合わせましたが、適宜

 resized = cv2.resize(img,(800,1280))

の数字を変えて任意のサイズにリサイズしてください。

 

複数のフォルダをターゲットにするときは、

paths = ['C:/Users/<hoge>/Desktop/1113/05',
         'C:/Users/<hoge>/Desktop/1113/06']

のようにappendしてください。

これで漫画をストレスなしに読むことができます。

 

以上、よろしくお願いします。

Share Button

コメントを残す

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