【Python/Flask】画像をアップロードしてOpenCVで処理する方法

Pythonと「Flask」で画像をアップロードしてOpenCVで処理する方法について入門者向けにまとめました。

【Flask】画像をアップロードしてOpenCVで処理

FlaskとOpenCVでカラー画像をモノクロ調に変換する簡単なWebアプリを作成します。
画像ファイルのアップロードにはPOSTメソッドを使います。
POSTメソッドでクライアントから送信された画像データは「request.files[‘image’].stream」で受信できます。
受信したデータをOpenCVで扱えるNumPy配列に変換してやれば、あとは普通にOpenCVで画像処理を行うことができます。
なお、OpenCVの使い方については以下記事で解説していますので、こちらも参考にしてください。

【Python版OpenCV入門】使い方とサンプル集
OpenCV(Intel Open Source Computer Vision Library)とは、インテル社で開発された画像処理・画像認識用のオープンソースライブラリです。Python/C++/Java/Android/Node.js...

なお、OpenCVのインストールも別途必要になります。
pipでインストールする場合は以下のコマンドを実行します。

pip install opencv-python 

サンプルコード

■app.py


■templates/base.html


■templates/index.html


プロジェクトファイル一式:https://github.com/nishizumi-lab/sample/tree/master/python/flask/image_process

【応用例】写真のドット絵化(ピクセルアート)

応用例として、写真のドット絵化(ピクセルアート)を行うWebアプリを作ってみます。
基本的には、前回紹介したグレースケール変換アプリの画像処理の部分をドット絵化の処理に置き換えるだけです。
今回は、ユーザーがパラメータを設定できる機能もつけてよりアプリっぽくしてみます。
なお、写真のドット絵化(ピクセルアート)については以下記事で詳しく解説しています。

【Python/OpenCV】写真を漫画化、アニメ絵化、ドット絵化、ミニチュア化
Python版OpenCVで写真・画像を漫画化、アニメ絵化、ドット絵化、ミニチュア化する方法をソースコード付きで解説します。

サンプルコード

■app.py


■templates/base.html


■templates/index.html


プロジェクトファイル一式:https://github.com/nishizumi-lab/sample/tree/master/python/flask/image_process

【Python/Flask】Webアプリ・サイトの作成入門
Python用Webフレームワーク「Flask」の使い方について入門者向けにまとめました。

コメント

タイトルとURLをコピーしました