PythonのOpenCVを使って動画に写る目にモザイクを入れる方法

PythonのOpenCVを使って動画に写る目にモザイクを入れる方法を紹介します。

読み込んで表示した動画はPexelsの動画を使わさせてもらいました。

静止画で写る目にモザイクを入れるプログラムはこちら検出した目にモザイクを入れるプログラム Pythonの投稿で紹介しています。PythonプログラムはColaboratoryで実行しています。

顔と目を検出するときに使うhaarcascadeファイルのダウンロード方法はこちらOpenCVを使った顔と目の検出方法 Pythonの投稿で紹介しています。

目次

・動画に写る目にモザイクを入れるプログラム

・目にモザイクを入れている様子



動画に写る目にモザイクを入れるプログラム

このプログラムはPythonのOpenCVを使った目の検出で鼻を囲まないようにする方法”鼻を囲まないようにするプログラム”から20~24行目を変更したプログラムになるので、その部分のプログラムを説明します。

20行目は顔画像のデータ(face)から14行目で検出した目の座標を使って目を切り取り、変数eyeに目の画像データを入れています。

21行目は切り取った目の画像データから高さと幅のデータを取り出して、変数height,widthに入れています。

22行目は目を縮小しています。ここの(4,4)の値が小さいほどモザイクが濃くなり、大きいほど薄くなります

23行目は21行目で取り出した高さと幅(height,width)のデータとcv2.INTER_NEARESTを用いて、元の画像サイズに拡大します。

目の画像を縮小してから、元のサイズに拡大することでモザイクのようになります。

INTER_NEAREST 最近傍補間という意味です。

最近傍補間の意味  については西住工房さんのこちら↓の投稿で紹介しています。

【画像処理】最近傍補間法の原理・計算式 | 西住工房 」 

動画に写る目にモザイクを入れるプログラムを実行した様子がこちら↓になります。

目にモザイクを入れている様子