■■ 画像から特徴部分を抜き出すシステム(CV_FKD) ■■

画像中から特定の特徴をもつ部分を抽出することを目指すプログラムです。 現在は漫画中の吹き出しを対象にし、制限付きである程度の確立で抽出できるところまではできました。

● 概要 ●
サイズが縦300px横400px程度の白黒の漫画の1コマを対象に、言葉の入った吹き出し(楕円的で内部は白)の部分を抽出します。 例えば下の左図のような原画像から真ん中の中間処理を経て右図の緑で囲われた部分を自動抽出します。






 今の所、以下のような制限があります。
 ・画像サイズは縦300px,横400px程度、拡大縮小によりこの程度にします。色は白黒です。
 ・吹き出しの形は縦長楕円的なもの(矩形も多分OK)に限られ、爆弾が破裂するような形の棘棘に囲まれたもの、でこぼこの曲線に囲まれたもの、 はっきりした輪郭の無いもの、吹き出しの中の文字以外の部分が白でないもの、などはできません。
 ・誰が話したか示すために吹き出しの端に突起があるものは今の所できません。
 ・吹き出しのサイズが画像に対して極端に大きいか小さいものはできません。
 ・画像の淵にわざわざ黒い淵(輪郭線)があるとできません。
 ・吹き出しが画像の縁に接する場合は吹き出しの縁の黒線は画像の淵まで連続していること。
 ・複数の吹き出しがくっついた吹き出しは一応対象外とします。
 ・条件が揃えば確実に抽出できるわけではなくだめな場合もあります。

● やり方 ●
(1)原画像全体をなめて局所的に括弧(,),やそれを横にした型に近い形状の部分を抽出・記録します(括弧的部分の抽出)。左の真ん中の図では(に近い形状の部分は赤の円で、)に近い形状の部分は桃色の円で、"上括弧"は緑の円で、"下括弧"は青の円で表されています。斜めの括弧的形状の部分は小さな丸です。
(2)次いでこれら括弧的部分の位置関係が、ある程度縦長の楕円の上下左右の端の位置に近い4点の組み合わせを複数選び出し、これを吹き出しの候補にします。
(3)次にこれらの括弧的4点(上の一番右の結果の図でオレンジ色の線で結んだ)の吹き出しの候補について、縁取りを辿って(緑色の線)あまり外れずに元の出発点に戻れるものだけを一応吹き出しとして登録します。上の一番右側が抽出結果画像です。

吹き出し候補の輪郭を辿る場合はひげのような雑音があって 間違った横道に入り込んでも有る程度戻って修正できるようにしています。(下図)
     
  
残念ながら今の段階ではできないサンプルです。(下図)
  
  
OpenCVで開発進行中ですが、ご意見ご要望お問い合わせはお気軽に下記まで。
車のナンバープレートなどにも適応できるかもしれません。
漫画のサンプルは無料のサイトからコピーさせていただいてますが、何かありましたらご連絡ください。
メアド