【Python/Flask】OpenCVと組み合わせて画像処理Webアプリを作成する方法

Pythonと「Flask」と「OpenCV」を組み合わせて画像処理Webアプリを作成する方法について入門者向けにまとめました。

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

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

【Python版OpenCV超入門】使い方とサンプルコードを解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。

なお、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

【Flask超入門】簡単かつ効率的にWebアプリを作ろう
PythonモジュールFlaskの使い方、Webアプリケーションを作る方法について入門者向けにまとめました。

コメント