OpenCVで画像のサイズ変更 ソースコードも紹介
有名画像処理アルゴリズムOpenCVを活用した画像のサイズ変更
最近(2020年10月時点)は画像処理の需要が増えており,私にも画像処理を使ったアプリケーションの作成依頼がいくつか来ています。一方で画像処理の知識があまり知られていない事が分かったのでこちらのWEBサイトで画像処理について紹介していこうと思います。一応下の画像はキーエンス社の製品で,簡単な調整だけで画像処理をしてくれる優れもので私の会社でも使っています。
そこでPythonやC++で使われる画像処理アルゴリズムであるOpenCVで画像処理の必須とも言える画像のサイズ変更(リサイズ)を説明していきます。
※OpenCVについてはこちらの記事を参照願います。
OpenCVの画像サイズ変更 cv2.resize について説明
今回は最近はやりのAI(機械学習)などでも知られるPythonを使ってOpenCVを使っていきます。
開発環境はVisual Studio2019を使っております。また,今回は2020年10月時点で非常に人気のあるコンテンツ VTuberの一人である常闇トワ様です。彼女を画像処理界のLennaに押し上げるのが私の目標です。
プログラミングで画像処理(今回はリサイズ)というと難しいという印象を受けるかも知れませんがじつは簡単です。試しに使うソースコードを下に書きます。なお,彼女の画像は500×500ピクセルで構成されています。
import cv2
img = cv2.imread('C:/Temp/towa.jpg') #これでimgに画像データが入る
resize1 = cv2.resize(img,(500,250)) #サイズ変更 横500ピクセル×縦250ピクセルに指定
cv2.imwrite('C:/Temp/resize1.jpg',resize1) #画像を保存
resize2 = cv2.resize(img,(250,500)) #サイズ変更 横250ピクセル×縦500ピクセルに指定
cv2.imwrite('C:/Temp/resize2.jpg',resize2) #画像を保存
resize3 = cv2.resize(img,(250,250)) #サイズ変更 横250ピクセル×縦250ピクセルに指定
cv2.imwrite('C:/Temp/resize3.jpg',resize3) #画像を保存
非常に短いコードで簡単ですよね。OpenCVを使うとこんなに短いコードで色々な機能を実装できちゃいます。ちなみにアウトプットのデータは以下になります。
元画像に対して指定した値のピクセルの大きさになる事が分かります。非常に簡単ですよね。カメラの解像度によってピクセルの大きさは決まってくるのですが,これを使う事によって大容量の画像を圧縮して保存することができます。画像は容量が大きいので私の会社では画像処理による製品の外観検査後にこの方法で圧縮して保存しています。
如何でしたでしょうか。これだけ簡単なプログラムで豊富な画像処理を実用化できるOpenCVは非常に人気です。興味のある方はぜひ他の記事も参考にしていただけると幸いです。