2019.09.02以前「階調変換」を行う記事を公開しましたが、今回は「RGB成分」のどれか1つだけに反映させる方法を紹介します。画像を読み込む今回使用する画像はこちらです。こちらはフリー素材ですので、ご自由にダウンロードしてください。画像読み込みはこれだけで完了です。ルックアップテーブル次にルックアップテーブルと呼ばれるものを作成します。x\)この式をルックアップテーブルにセットする場合、以下のようになります。(LUTの配列番号→値)(x→255–x)0→2551→2542→253...254→1255→0「LUTの配列番号」と一致する「元の画像の画素値」は、その配列番号に格納されている値に変換されます。他にも様々な式がありますが、今回は3つの例を紹介するとともに、RGB成分を分けて行う階調変換を解説していきます。ネガポジ転換それではネガポジ転換と呼ばれる階調変換を行っていきますが、今回はRGB成分を分けて階調変換を行うので、R成分(赤色)に対してだけネガポジ転換を行っていきます。ネガポジ転換の式ネガポジ転換は、暗部と明部を取り替えるので、「0〜255」の数字をすべて逆にします。よって式は以下のようになります。R成分が少ない画像なので、ネガポジ転換を行うと真っ赤な印象を受ける画像になりました。次はガンマ変換をG成分(緑色)のみに反映させます。ガンマ変換の式ガンマ変換は、明るさを変えるために用いられます。ガンマ変換の式は以下のようになります。\frac{x}{255}^\frac{1}{γ}\)今回はガンマを「2.2」に設定しました。この値を変えることで明るさを調整することができます。緑がさらに緑がかってどこか幻想的な雰囲気が漂います。関数式\)」のように関数式を立てるので、自分でオリジナルの関数を作ることも当然可能です。そこで、カスタマイズの例として以下の関数を用意し、B成分(青色)だけに反映させます。オリジナル関数の式オリジナル関数の式は以下のようにしました。1\)」の時は値を「0」にするなどして、計算の際のエラーを回避する必要があります。0\)の時\(log_{2}0\)は「\(-\infty\)」を指してしまうので、計算の際にエラーが発生します。0\)なのですが、この関数では「0」で割ってしまうことになるため、値が存在しないことになります。空気が気持ちよさそうですね。LINEIT系だんしをフォローするIT系だんし関連記事Python【OpenCV】笑顔シャッター機能を作る【Python】OpenCVを使った機能として、顔認識や目の認識などがありますが、こういったものを応用して「笑顔シャッター機能」を作ってみたいと思います。普通の「顔認識機能」を作っていきます。2つの画像はフリー画像ですので、ご自由にダウンロードしてください。今回はこの2つの画像を使用します。疑似カラー処理とは、白黒画像やその他の色のない画像に疑似的に色をつける処理を指します。サーモグラフィカメラがそうです。サーモグラフィでは赤外線の波長を読み込むため、疑似的な色をつけています。ヒストグラムは、画像内の画素値の度数分布を表したもので、画像の大まかな特徴や偏りを調べるためのものです。普通に顔認識を行なっていきます。速度が遅いので、100カウント分のデータを取ることにします。実際に算出した平均値のデータは、「51.94ms」となりました。ちPython【OpenCV】ルックアップテーブルを用いた階調変換【Python】この記事では、ルックアップテーブルを用いた画像処理をいくつか紹介していきます。コメントをキャンセルメールアドレスが公開されることはありません。R1カテゴリーJavaJavaFXJavaScriptPythonRこのサイトの管理人IT系だんしプログラミングが大好きな人。趣味でゲームやツール製作をしながら、プログラミング記事を書き続けています。