2017-01-03 9 views
1

カメラアプリのGPUImageのヒストグラム均等化フィルタ(link to .h)(link to .m)を使用したいと思います。私はリアルタイムでそれを使用し、ライブカメラのフィードに適用するオプションとして提示したいと思います。私はこれが高価な操作であり、ある程度の遅延を引き起こす可能性があることを理解しています。GPUImageヒストグラム均等化

このフィルタの仕組みが混乱しています。 GPUImageのサンプルプロジェクト(Filter Showcase)でフィルタを選択すると、非常に暗いイメージが赤色と青色に偏って表示され、イコライゼーションが機能するようには見えません。

また、ヒストグラムタイプkGPUImageHistogramLuminanceとkGPUImageHistogramRGBの違いは何ですか? Filter ShowcaseはkGPUImageHistogramLuminanceを使用しますが、initのデフォルトはkGPUImageHistogramRGBです。 Filter ShowcaseをkGPUImageHistogramRGBに切り替えると、黒い画面が表示されます。私の目標は全体的なコントラストの最適化です。

誰もこのフィルタを使用した経験がありますか?または、このフィルタの現在の制限はどこかに記載されていますか?

答えて

1

RGB画像のヒストグラム均等化は、輝度を使用してRGBチャンネルを別々に均等化することで、色情報を無駄にする。

基本的に、RGBを強度情報から色を分離する色空間に変換します。その後、輝度画像をイコライズし、最後にRGBに再変換します。

は、ドキュメントによれば:http://oss.io/p/BradLarson/GPUImage

GPUImageHistogramFilter:これは、入力画像を解析して各色値 が発生する周波数を有する 出力ヒストグラムを作成します。このフィルタの出力は、ピクセルを含む中心(垂直)ピクセルが であり、さまざまな色の値が発生する頻度に対応する、3ピクセル高さの256ピクセル幅の画像です( )。 各色の値は、0から の0から右側の255までの256の幅の位置の1つを占めます。このヒストグラムは 個々のカラーチャンネル(kGPUImageHistogramRed、 kGPUImageHistogramGreen、kGPUImageHistogramBlue)、 画像の輝度(kGPUImageHistogramLuminance)、または一度に3つのカラーチャンネル (kGPUImageHistogramRGB)用のために生成することができます。

私は、使用されているプログラミング言語に慣れていないので、実装が正しいかどうかわかりません。しかし、最終的に色はあまり変わってはいけません。ピクセルは明るくまたは暗くなるはずです。

+0

返信ありがとうございました。私は、GPUImageHistogramEqualizationFilterではなく、GPUImageHistogramFilterの使い方を理解しています。ヒストグラム自体はかなり自明であり、よく文書化されています。サンプルアプリケーションで実装されているため動作しないようなイコライゼーションコンポーネントで、ドキュメントがないようです。 – rikitikitavi

+0

フォローアップ:フィルターショーケースが何らかの理由で期待どおりに機能しないため、私を捨てましたが、GPUImageFilterGroupのチェーンに追加するとGPUImageHistogramEqualizationFilterが機能します。 過去のBrad Larsonのアドバイス([こちら](https://github.com/BradLarson/GPUImage/issues/194))([またこちら](https://github.com/BradLarson/GPUImage)/issues/112))フィルタを連鎖させる方法のモデルとしてUnsharp Maskフィルタを使用します。このようなチェーンでヒストグラムの均等化を追加すると、うまく動作します。 これがなぜこのような場合は不明なので、どんな回答でも感謝します。 – rikitikitavi

+0

@rikitikitavi、GPUImageHistogramEqualizationFilterをGPUImageFilterGroupのチェーンに追加しようとしましたが、これはUnsharp Maskフィルタで実装したのと同じですが、期待通りの結果を得ることができません。 GPUImageHistogramEqualizationFilterの使い方をさらに詳しく説明できれば、それは素晴らしいことです。ありがとう! – Sharonica

関連する問題