2019.05.26マスク処理を行えば、画像を重ね合わせることができます。この2つの画像を重ね合わせます。すると、このように合成されます。これがマスク処理です。右側の白黒の画像は「マスク画像」と言い、基本的には両方の画像のサイズが一緒である方が都合が良いです。それでは実際にマスク処理を行なっていきます。今回使用する画像は先ほど紹介した2つの画像ですので、そちらを使いたい場合はご自由にダウンロードしてください。画像を読み込むまずは画像を読み込んでいきます。画像を読み込む際は「imread」関数を使います。mask0.jpgを読み込むマスク処理用の変数を作成マスク処理を行う際は、マスク処理された画像を保存するための変数を作っていきます。これは決まり事ではないのですが、画像ごとに変数を分けた方がわかりやすいのでこうします。「zeros」関数の第1引数を解説すると、「高さ・幅・色のチャンネル数」となります。色のチャンネル数ですが、今回は「青・緑・赤」の3つが必要なので「3」にします。「zeros」関数で作成された配列変数は、すべての配列に「0」が代入された状態になります。ちなみにこの状態の「dst」変数は、「512×512(今回使用している画像のサイズ)」の真っ黒な画像です。マスク処理を行うそれでは実際にマスク処理を行なっていきます。隠れている部分なので、黒にする隠れていない部分を判定する際に「241以上」にした理由ですが、真っ白を意味する「255」にしてしまうと微妙にアンチエイジングがかかっているマスク画像の場合にノイズが生じてしまい、ノイズを消すために良い感じに値を設定する必要があるからです。「all」関数ですが、これは「3つのチャンネル全てが」を意味します。画像処理ではよく使う関数なので、覚えておいた方が良いと思います。マスク処理ができたので、実際にマスク処理された画像を表示してみましょう。LINEIT系だんしをフォローするIT系だんし関連記事Python【OpenCV】笑顔シャッター機能を作る【Python】OpenCVを使った機能として、顔認識や目の認識などがありますが、こういったものを応用して「笑顔シャッター機能」を作ってみたいと思います。普通の「顔認識機能」を作っていきます。2つの画像はフリー画像ですので、ご自由にダウンロードしてください。今回はこの2つの画像を使用します。前提として、画像の幾何学変換では以下の数式が成り立ちます。疑似カラー処理とは、白黒画像やその他の色のない画像に疑似的に色をつける処理を指します。サーモグラフィカメラがそうです。サーモグラフィでは赤外線の波長を読み込むため、疑似的な色をつけています。様々な画像処理の中に、擬似濃淡変換(以下ディザリング)というものがあります。このディザリングは2値を扱うという特徴があり、「0」と「255」の2つの値しか扱いません。普通に顔認識を行なっていきます。速度が遅いので、100カウント分のデータを取ることにします。実際に算出した平均値のデータは、「51.94ms」となりました。コメントをキャンセルメールアドレスが公開されることはありません。R1カテゴリーJavaJavaFXJavaScriptPythonRこのサイトの管理人IT系だんしプログラミングが大好きな人。趣味でゲームやツール製作をしながら、プログラミング記事を書き続けています。