バイオインフォマティクスの備忘録コンテンツへスキップバイオインフォマティクスの備忘録バイオインフォマティクスやPython等プログラミング関連の情報をメモしておきます。LLCからお願いいたします。OpenCVを使用して、アメ横を行き交う人々の顔にモザイクをかける今までやってきたことを応用して、アメ横を行き交う人々の顔にモザイクをかけていきます。OpenCVを使用して顔検出をするすべてのフレームについて、それぞれ顔検出をし、モザイクをかけていきます。breakcap.release()out.release()実行してみましたが、角度によって顔として検出されない場合があり、モザイクがチカチカしてしまいます。そこで、少し強引な手法ですが、顔検出した位置について、その後の15フレームについてモザイクをかけるようにしました。breakcap.release()out.release()結果は以下の通りです。Python関連の記事を更新しました。2019無事モザイクをかけることができました。OpenCVを使用して動画を読み込んで、何もせず書き込むの結果、動画の縦横が逆になってしまったので、修正していきます。width)に変更しました。3))として270度回転しました。これで、もとの動画とまったく同じ動画が出力できました。OpenCVを使用して動画を読み込んで、何もせず書き込むインストールPython3とOpenCVをインストールします。breakcap.release()out.release()とりあえず、これでうまくいきました。Lambda」->「関数の作成」->「一から作成」で関数を作成する。rIAMロールの設定を正しく行っていないと、以下のようなエラーが出力される。]}IAMロールにAmazonSESFullAccessポリシーをアタッチすることで解決。Addresses」でメールアドレスを承認しておく。OpenCVを使用して顔検出をするOpenCVを使うと、簡単に顔を検出することができます。cv2.CascadeClassifier('/usr/local/lib64/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml')として指定していますが、分類器のファイルの場所は以下のようにして確認できます。cv2print(cv2.__path__)#['/usr/local/lib64/python3.7/site-packages/cv2']フォルダの中を確認してみますと、たくさんの分類器があることがわかります。今回はそのうち、「haarcascade_frontalface_default.xml」を使用していきます。/usr/local/lib64/python3.7/site-packages/cv2/datals#__init__.pyhaarcascade_frontalface_alt2.xmlhaarcascade_profileface.xml#__pycache__haarcascade_frontalface_alt_tree.xmlhaarcascade_righteye_2splits.xml#haarcascade_eye.xmlhaarcascade_frontalface_default.xmlhaarcascade_russian_plate_number.xml#haarcascade_eye_tree_eyeglasses.xmlhaarcascade_fullbody.xmlhaarcascade_smile.xml#haarcascade_frontalcatface.xmlhaarcascade_lefteye_2splits.xmlhaarcascade_upperbody.xml#haarcascade_frontalcatface_extended.xmlhaarcascade_licence_plate_rus_16stages.xml#haarcascade_frontalface_alt.xmlhaarcascade_lowerbody.xml分類器のパスを間違えていると、以下のようなエラーが出ます。結果は以下の通りです。足成からいただきました。元画像1顔検出結果1元画像2顔検出結果2元画像3顔検出結果3モザイク処理をする顔検出した箇所についてぼかしを入れることもできます。OpenCVを使用してエッジを検出する画像からエッジを検出する代表的な手法として、Cannyエッジ検出というものがあります。OpenCVを使用すると、簡単にCannyエッジ検出を行うことができます。threshold2)Cannyエッジ検出では、画像データに加えて、2つの引数threshold1とthreshold2が必須です。この2つの値はエッジ検出の際に以下のように使用されます。線が多すぎる印象です。dst)結果いい感じにエッジが検出できました。線が少ないでしょうか。dst)結果threshold1を上げると、線のつながりがなくなってしまいました。OpenCVのGaussianBlurを使用して画像にぼかしをかけるガウシアンフィルタは、画像の平滑化に使われるフィルタの1つです。ガウス分布を利用して、注目画素からの距離に応じて近傍の画素値に重みをかけます。インストールOpenCVをまだインストールしていない場合には以下のコマンドでインストールできます。dst)結果カーネルサイズを大きくすると、ぼかしの具合が強くなります。標準偏差を大きくしていくと、ぼかしの具合が強くなります。標準偏差に0を指定すると、カーネルサイズから標準偏差が自動計算されます。細かな調整が必要なければ、標準偏差は0にしてカネールサイズだけ変更すれば十分かと思います。