2019.01.03この記事では、ルックアップテーブルを用いた画像処理をいくつか紹介していきます。x\)この式をルックアップテーブルにセットする場合、以下のようになります。(LUTの配列番号→値)(x→255–x)0→2551→2542→253...254→1255→0「LUTの配列番号」と一致する「元の画像の画素値」は、その配列番号に格納されている値に変換されます。OpenCVでは、この作業を「LUT」関数で行います。引数にはソース画像とLUT(ルックアップテーブル)です。他にも様々な式があるので、カスタマイズしてみると面白いです。今回はその様々な式の中の、有名どころを紹介していきたいと思います。その際に使用する画像はこちらです。今回はこの写真を使用していきます。見習いこの人なんて名前なんだろう。管理人レナさんだそうです。解説ネガポジ転換は、暗部と明部を取り替えるので、「0〜255」の数字をすべて逆にします。よって式は以下のようになります。x\)見習い反転という名前でよく見かけるかなぁ。ネガポジ転換は明暗を逆にするだけの処理ですので、すごく一般的に使われますね。解説ガンマ変換は、明るさを変えるために用いられます。ちなみにガンマ変換の式は以下のようになります。255\)今回はガンマを「2.2」に設定しました。この値を変えることで明るさを調整することができます。見習いこれが明るさ調節、初めて知った〜!管理人ちなみに明るさはガンマ値というのを操作して調節を行うよ。画像の明るさを多くして白黒写真を反転させる場合に用います。式は以下のようになります。100|\)見習いあっ、こういうのなんか見たことあるかも!管理人これも結構有名な画像処理だからね。以上の3つの例から、様々な関数の式を定めることで様々な階調変換を行うことができると言えます。そこで、ある意味実験的な、階調変換の例をいくつか示していきます。見習いベタ塗りしたみたいな印象を受けますね。見習いソラリゼーションの時みたいに「メタリック」な感じがしますね。「メタリック感」は、もしかしたら「sinカーブ」を使用した時の特徴かもしれませんね。LINEIT系だんしをフォローするIT系だんし関連記事Python【OpenCV】マスク処理を使って、画像を重ね合わせる【Python】マスク処理を行えば、画像を重ね合わせることができます。この2つの画像を重ね合わせます。すると、このように合成されます。これがマスク処理です。上記の画像では、特定の画素とその周りの8つの画素との画素値の差が示されています。行う記事を公開しましたが、今回は「RGB成分」のどれか1つだけに反映させる方法を紹介します。今回使用する画像はこちらです。こちらはフリー素材ですので、ごPython【OpenCV】笑顔シャッター機能を作る【Python】OpenCVを使った機能として、顔認識や目の認識などがありますが、こういったものを応用して「笑顔シャッター機能」を作ってみたいと思います。普通の「顔認識機能」を作っていきます。普通に顔認識を行なっていきます。速度が遅いので、100カウント分のデータを取ることにします。実際に算出した平均値のデータは、「51.94ms」となりました。ヒストグラムは、画像内の画素値の度数分布を表したもので、画像の大まかな特徴や偏りを調べるためのものです。コメントをキャンセルメールアドレスが公開されることはありません。R1カテゴリーJavaJavaFXJavaScriptPythonRこのサイトの管理人IT系だんしプログラミングが大好きな人。趣味でゲームやツール製作をしながら、プログラミング記事を書き続けています。