web-dev-qa-db-ja.com

プログラムで画像を漫画化する方法は?

私のアプリは、漫画化したい人の写真やビデオで動作します。そのため、手動でそれを行うアルゴリズム(画像操作クラスを備えた製品にはc ++/Qtを使用)またはおそらくそれを行うCLIプログラムを使用して、独自のアプリから呼び出して使用できます。

63
JimDaniel

遊ぶためのいくつかのアルゴリズムは次のとおりです。

  • 漫画風のカラーパレットを得るための中央値または繰り返しボックスブラーフィルター
    • Edit:バイラテラルフィルタリングは、あなたのニーズにもっと合うはず
  • 一部のタイプのエッジを強調する最小フィルター(ゼロパーセンタイル)
  • RGBカラーキューブの小さなサブキューブまたは球体を使用したカラー画像セグメンテーション
  • Sobelカーネルや8方向エッジトレースなどのエッジ検出を使用した、セグメント化された画像の汎用エッジ強化
  • エッジが強化されたぼかし/中央値フィルタリング画像の合成

これらはかなり基本的であり、すべて実装が非常に簡単です。中央値およびボックスぼかしフィルターは、線形時間複雑度w.r.tで実装できることに留意してください。カーネル半径。

その他の編集:

Huangのアルゴリズムのアイデアが得られたら、ボックスブラーフィルターの実装は非常に簡単です。

読み物:

その他の読み物には、セグメンテーションとエッジトレース用の Gonzalez&Woodsのデジタル画像処理 (旧版のようです)が含まれます。 8ウェイエッジトレースは、頭を曲げるのが非常に難しい場合があります(オンピクセルエッジまたはピクセル間エッジの選択と、エッジへのラッチ方法の選択)。いくつかのコードを共有したいと思いますが、100人のライナーはここにスムーズに収まりません。

47

toonyphotos.com のように、rotoscopyを試すことができます。

rotoscopy example

22
mooware

フリースタイル非フォトリアリスティックレンダラーBlender =。カートゥーンモードでの出力の例を次に示します。 alt text
(ソース: sourceforge.net

12
unwind

GIMP のCartoonフィルター(またはフィルターのその他の組み合わせ)で目的の効果を達成するパラメーターのセットがある場合、 バッチ処理モード で実行できます。

7
John Barrett

私は自分でこれをやったことはありませんが、画像に漫画風の外観を与える可能性のある2つのステップについて考えています。

  1. エッジを検出し、それらのエッジにかなり太い線(数ピクセル)を描画します。

  2. 画像の色数を減らします。

6
martiert

これが役立つかどうかはわかりませんが、 このチュートリアル Photoshopの場合は次のことをお勧めします。

  1. Photoshopで画像を開きます
  2. フィルター>ぼかし>ガウスぼかし。好みに応じて、半径を3.0以上に設定します。
  3. 編集>ガウスぼかしをフェードします。ウィンドウがポップアップします。 。 。モードを暗く設定します。また、不透明度を下げる必要があります。

結果は次のとおりです。

enter image description here

あなたのプログラムで似たようなことができると思います。

5
RiddlerDev

比較的簡単です。手順は次のとおりです。

  • 写真を簡素化/抽象化する双方向フィルタリング。バイラテラルフィルターを分離して、高速化することもできます。勾配に沿って1dでバイラテラルフィルターを実行し、次に勾配の法線に沿って実行します。

  • エッジを検出します。たとえば、ガウシアンの差分アルゴリズムを使用します。 DoGを勾配方向に使用し、動線に沿って滑らかにすることができます。動線を取得するには、構造テンソルを介して取得できるEdge Tangent Flow(ETF)を取得する必要があります。

  • 色を量子化します。実際には、輝度を量子化して、セルシェーディングまたはトゥーンシェーディングをシミュレートします。

  • 量子化された抽象画像と検出したエッジをブレンドします。

これにより、セルシェーディングの漫画のように見えるレンダリング画像が得られます。

まさにこれを行ういくつかのフリーソフトウェア(win64用)を作成しました: http://3dstereophoto.blogspot.com/p/painting-software.html

ソフトウェアの名前は「The Cartoonist」であり、ここで実際に動作を確認できます。 http://3dstereophoto.blogspot.com/2018/07/non-photorealistic-rendering-software_9.html

これらは、主に3D写真(深度マップ、写真測量など)を扱う私のブログへのリンクです。

3
Ugo Capeto

実際にはツールを知りませんが、osg(openSceneGraph)を見ることができます

osgFXライブラリがあり、漫画効果があります...多分あなたはそのライブラリからインスピレーションを得ることができます...


多分(私は知らない)imagemagickには多くの機能があります、多分それはそのような機能を持っていますが、私は知らない...

1
ufukgun