【Python/OpenCV】漫画化カメラアプリの作成

この記事では、Python版OpenCVで漫画化カメラアプリを作成する方法をソースコード付きで解説します。

漫画化カメラアプリの作成

Python版OpenCVの空間フィルタ処理などを組み合わせると画像を漫画風に加工できます。 今回はこれを応用して、USBカメラの映像を漫画風に加工してみます。

参考記事
1 【Python/OpenCV】写真・画像を漫画風に加工
2 写真を漫画風に加工する原理・仕組み

ソースコード(Python3+OpenCV3)

サンプルプログラムのソースコードです。

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

# 漫画化フィルタ
def manga_filter(src, screen, th1=60, th2=150):

    # グレースケール変換
    gray = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
    screen = cv2.cvtColor(screen, cv2.COLOR_BGR2GRAY)

    # スクリーントーン画像を入力画像と同じ大きさにリサイズ
    screen = cv2.resize(screen,(gray.shape[1],gray.shape[0]))

    # Cannyアルゴリズムで輪郭検出し、色反転
    edge = 255 - cv2.Canny(gray, 80, 120)

    # 三値化
    gray[gray = th2] = 255
    gray[ np.where((gray > th1) & (gray  th1)&(gray 

実行結果

■スクリーントーン画像

■入力(カメラ映像)と出力(漫画化後)

関連記事
PythonでOpenCV入門 サンプル集
【Python】画像処理プログラミング入門
【画像処理入門】アルゴリズム&プログラミング
記事の監修者
西住技研

プログラミング言語「Python」を研究、仕事、趣味でデータ分析や作業自動化などに活用してきたノウハウを情報発信しています。
筆者の詳しいプロフィールやお問合せはこちらのページまで。
YoutubeX(旧Twitter)でも情報発信中です!

西住技研をフォローする
OpenCV

コメント