画像処理方法、画像処理装置、プログラム及び画像処理システム
【課題】画像の輪郭を幾何学な輪郭に整形する。
【解決手段】元画像から所定の基準に基づき選択された画像領域を画像の切り抜き対象側の白画素領域とバックグラウンド側の黒画素領域とに2値化する2値化変換部105と、白画素領域に囲まれた黒画素を白画素の数値に変換して白画素領域の穴を埋める穴埋め処理部110と、穴埋め後の各白画素から黒画素領域までの距離値を求める距離変換部115と、各白画素の距離値に応じて白画素領域の骨格を示す複数の点を抽出する骨格抽出部と、抽出された複数の点のうち所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を切り抜き対象画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部125とを備える画像処理装置10を提供する。
【解決手段】元画像から所定の基準に基づき選択された画像領域を画像の切り抜き対象側の白画素領域とバックグラウンド側の黒画素領域とに2値化する2値化変換部105と、白画素領域に囲まれた黒画素を白画素の数値に変換して白画素領域の穴を埋める穴埋め処理部110と、穴埋め後の各白画素から黒画素領域までの距離値を求める距離変換部115と、各白画素の距離値に応じて白画素領域の骨格を示す複数の点を抽出する骨格抽出部と、抽出された複数の点のうち所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を切り抜き対象画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部125とを備える画像処理装置10を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の輪郭を幾何学的に整形する画像処理方法、画像処理装置、プログラム及び画像処理システムに関し、特に、円形又は多角形に画像を整形する画像処理に関する。
【背景技術】
【0002】
画像情報は、一般に撮影機器の都合上、長方形の2次元データとして表現されることが多い。たとえば、オークションサイトに出品された画像は、長方形の枠内に出品物が収まる形で表されている。そのため、画像は、表示機器においてもそのままの長方形、あるいはそれをアフィン変換や射影変換させた四角形として表現される。写真閲覧ブラウザ上での写真表示や、サムネイル表示、コンピュータ上で提供されるスクラップブック等のアプリケーションにおいても、画像は四角形として表現されることがほとんどである。しかしながら、データ自体は、たまたま長方形の画像情報として保存されているが、保存画像中の目を引く物体は本来長方形ではなく不定な形状をしていることがほとんどである。よって、画像を常に四角形として扱わなければならないとすると、デザイン上の自由度が少なくおもしろみに欠けてしまう。
【0003】
そこで、長方形以外の形で画像を表現する方法の一つとして、例えばあらかじめ画像の切り抜き形状を用意しておき、そこに与えられた画像を当てはめる技術がある。しかしながら、この方法では、切り抜き形状を用意する際、当てはめる側の画像に何がどのような形で含まれているのかは考慮されないため、画像の特徴部分を考慮した切り抜きは困難である。
【0004】
一方、画像の特徴部分を考慮して、画像内容に応じて画像の一部の領域を抽出、選択する種々の技術が提案されている。その中には、たとえば画像中のある色域に含まれる色のみを残す、通称2値化と呼ばれる方法がある。これは、領域を選択する最も簡単な方法の一つである。また人間の認知の仕組みに基づき、画像中から視覚的に注目を得やすい領域を選択する、ビジュアルアテンション(Visual Attention)と言われる技術も提案されている(例えば、特許文献1参照。)。
【0005】
【特許文献1】特開2008−53775号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、画像内容に応じて画像の一部を抽出する技術では、抽出された画像の輪郭領域の形状については何ら考慮されていない。そのため、上記抽出された領域は、コンピュータ処理上都合のよい領域であったとしても、画像を切り抜いて表現するための領域としては形状が醜く、視覚的に訴える画像表現には適さない場合が多い。
【0007】
また、画像内の物体を意味のある単位で複数の領域に分割する領域分割と呼ばれる方法や、画像中の物体そのものを認識し、その物体の存在する領域そのものを選択する技術も提案されている。これらは、正しい認識がなされれば物体の形状どおりに領域が選択されるものの、コンピュータによる自動処理では、人間の通常の認識に従って正しく物体が認識されるばかりではない。また、たとえ正しく物体が認識されたとしても、物体の機械的認識が細かすぎて、選択された領域がかえって見栄えのよくない形状となる場合もある。
【0008】
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、所定の画像領域を所望の幾何学な輪郭に整形する画像処理を提案することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換ステップと、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出ステップと、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法が提案される。
【0010】
かかる構成によれば、第1の画素領域の骨格を示す複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円が描画される。描画された複数の楕円又は真円の外縁は、切り抜き対象側の画像を切り抜くための輪郭となる。これにより、注目する画像を複数の円形で構成される領域形状に整形することができる。
【0011】
特に、輪郭を決定するに当たっては、所定の条件に基づいて重要度が低いと判断される骨格を示した点は省かれる。このため、画像を切り抜く際に重要度が高い点を中心としたまとまりある円弧状の集まりを輪郭とすることができる。この結果、切り抜き対象側の画像を視覚的に美しい円弧状に切り抜くことができる。
【0012】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化ステップと、前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋めステップと、をさらに含んでいても良い。
【0013】
第1の画素領域の骨格を示す複数の点のうち、重要度が低い点を省くための所定の条件の一例としては、前記切り抜き用輪郭決定ステップは、抽出された複数の点のうち、既に描画した楕円又は真円内に位置する点を重要度が低いと判断して省いてもよい。
【0014】
また、前記切り抜き用輪郭決定ステップは、前記抽出された複数の点のうち、各点の画素の距離値が所与の閾値以下の点を重要度が低いと判断して省いてもよい。
【0015】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の点のうち、前記選択された画像領域を左上から順に走査して検出された点の順に各点の画素の距離値に応じた楕円又は真円を描画してもよい。
【0016】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の点のうち、前記距離値の大きい画素の点の順にその距離値に応じた楕円又は真円を所定個描画してもよい。
【0017】
前記切り抜き用輪郭決定ステップは、前記点の位置を中心とした楕円又は真円の数が所定個より大きくなったら、当該ステップを終了してもよい。
【0018】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出ステップと、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出ステップと、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法が提供される。
【0019】
かかる構成によれば、第1の画素領域の輪郭を示す複数の離隔点のうち、所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を対象側の画像を切り抜くための輪郭として決定する。これによれば、重要度の低い輪郭点は省かれているため、重要な輪郭点のみを頂点とする多角形の領域形状に切り抜きの輪郭を整形することができる。これにより、たとえば、コンピュータ処理であるにも拘わらず、はさみを用いて人がザクザクと画像を切り取った感覚に輪郭を整形することができる。この結果、切り抜き対象側の画像を視覚的に美しく切り抜くことができる。
【0020】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の輪郭点のうち、隣接する3点以上の輪郭点から構成される多角形の面積が最も小さくなる多角形を検出し、検出された多角形を構成する3点以上の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省いてもよい。
【0021】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の輪郭点のうち、隣接する3点の輪郭点から構成される三角形の面積に対して、当該三角形が前記複数の輪郭点の隣接点同士を繋いだ多角形の凸部又は凹部のいずれを形成するかにより異なる重み付けをし、重み付け後の面積が最も小さくなる三角形を検出し、検出された三角形を構成する3点の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省いてもよい。
【0022】
前記切り抜き用輪郭決定ステップは、前記重要度が低いと判断された輪郭点を省く処理を繰り返した結果、輪郭点の数が所定個以下になったら終了してもよい。
【0023】
前記輪郭点抽出ステップにより抽出された複数の輪郭点を一つ又は複数個おきに省く間引ステップをさらに含み、前記切り抜き用輪郭決定ステップは、前記間引ステップ後の輪郭点に対して実行してもよい。
【0024】
前記輪郭点抽出ステップにより抽出された輪郭点を各輪郭点の隣接点の位置に応じて平滑化する平滑化ステップをさらに含み、前記切り抜き用輪郭決定ステップは、前記平滑化ステップ後の輪郭点に対して実行してもよい。
【0025】
前記選択された画像領域は、所定の基準に基づき画像中の注目領域を抽出する技術を用いて元画像から抽出してもよい。
【0026】
前記画像を切り抜くための輪郭として決定した複数の楕円又は真円の外縁又は多角形に関するデータをベクタデータとして記憶部に記憶してもよい。
【0027】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置が提供される。
【0028】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化変換部と、
前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋め処理部と、をさらに備えていてもよい。
【0029】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置が提供される。
【0030】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める処理と、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する処理と、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラムが提供される。
【0031】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する処理と、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する処理と、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラムが提供される。
【0032】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第1の切り抜き用輪郭決定部と、を有し、前記2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第2の切り抜き用輪郭決定部と、を有し、さらに、前記第1の切り抜き用輪郭決定部により決定された第1の輪郭と前記第2の切り抜き用輪郭決定部により決定された第2の輪郭とのいずれかを選択する選択部を備えた画像処理システムが提供される。
【0033】
このとき、前記選択部は、次の(1)〜(4)のいずれかの条件に従い、前記第1の輪郭及び前記第2の輪郭のいずれかを選択してもよい。
(1)ランダムに選択する。
(2)前記第1の輪郭内の総面積と前記第2の輪郭内の総面積との比に基づき選択する。(3)前記第1の輪郭又は第2の輪郭の少なくともいずれかの形状に基づき選択する。
(4)前記2値化後の第1の画素領域に対する前記第1の輪郭の形状及び前記第2の輪郭の形状の誤差に基づき選択する。
【発明の効果】
【0034】
以上説明したように、本発明によれば、ある基準により選択された画像領域の境界を視覚的に美しい幾何学な輪郭に整形することができる。
【発明を実施するための最良の形態】
【0035】
以下に添付図面を参照しながら、発明を実施するための最良の形態(以下実施の形態とする)について説明する。但し、本明細書及び図面において、実質的に同一の機能を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0036】
なお、説明は以下の順序で行う。
1.第1の実施の形態(円形切り抜き:複数の真円により画像を切り抜く例)
2.第2の実施の形態(多角形切り抜き:輪郭点を結んだ多角形により画像を切り抜く例)
3.第3の実施の形態(システム:円形切り抜き又は多角形切り抜きのいずれかを選択する例)
【0037】
<第1の実施の形態>
[画像処理装置]
まず、本発明の第1の実施の形態に係る画像処理装置について、図1に示したブロック図を参照しながら説明する。画像処理装置10は、2値化変換部105、穴埋め処理部110、距離変換部115、極大点抽出部120、切り抜き用輪郭決定部125(第1の切り抜き用輪郭決定部)、記憶部130及び画像処理部135にて示された機能ブロックを有する。
【0038】
画像処理装置10は、たとえばテレビ下のレコーダやPC(Personal Computer)に内蔵されたICチップ等の回路(図示せず)から構成されていてもよい。。この場合、画像処理装置10の主な機能は、レコーダやPCに入力される画像(元画像)を示す信号S10をICチップ内に入力し、切り抜き処理後の画像を示す信号S20をレコーダやPCに出力する。また、画像処理装置10は、図示しないCPU、ROM、RAMから構成されていてもよい。たとえばレコーダやPCに内蔵されたROM等に画像処理装置10の主な機能を実現するための処理手順を記述したプログラムやデータを格納しておく。そして、画像処理装置10の主な機能は、CPUがプログラムを読み出して解釈しながら画像処理を実行することにより達成されてもよい。
【0039】
さて、具体的な各機能を説明する。たとえば、ここで取り扱う元画像は、撮像装置により撮像した画像、ネットワークを通じて取得した画像、PCで作成した画像等広く適用することができる。
【0040】
このようにして取得した元画像に対して、2値化変換部105は、元画像から所定の基準に基づいて選択された画像領域を2値化する。図2Aには、元画像から2値化された画像が生成される状態が示されている。ここでは、2値化後の切り抜き対象側の第1の画素領域は白で示され、バックグラウンド側の第2の画素領域は黒で示されている。元画像から所定の基準に基づいて特定の画像領域を選択して2値化する例としては、次の(a)〜(j)の方法が一例として挙げられる。
(a)輝度(あるいは彩度、色相)に対して所与の閾値処理を施すことにより2値化する方法。
(b)特定の色域(例えば、画像の平均色)に納まっているか否かで2値化する方法。
(c)時間的に連続する複数フレームにおいて、動く物体領域を抽出し、抽出した動く物体領域とそれ以外の物体領域とを2値化する方法。
(d)ステレオビジョン(多眼視)によって得られる物体までの距離において、近距離物体を抽出し、抽出した近距離物体とそれ以外の物体領域とを2値化する方法。
(e)画像を領域分割した結果から特定の領域を選択し、2値化する方法。
(f)人間の認知の仕組みに基づき、画像中から視覚的に注目を得やすい領域を選択する、ビジュアルアテンションの技術を利用した結果として得られる誘目領域を2値化する方法。
(g)特定の周波数帯に納まっているか否かで2値化する方法(例えば、エッジのある部分、エッジのない部分等)。
(h)物体認識技術(例:顔認識、人物認識など)の結果に基づいて特定の物体領域に応じて2値化する方法。
(i)被写界深度の合っている部分のみを抽出した領域に基づき2値化する方法。
(j)赤外カメラで写した物体の高輝度部分に基づき2値化する方法。
【0041】
穴埋め処理部110は、2値化後の白画像に囲まれた黒画像を白画像の数値に置き換えることにより、白画像領域内の穴を埋める。図2Aには、2値化された画像から穴埋め後の画像が生成される状態が示されている。
【0042】
距離変換部115は、穴埋め後の白画像領域内の画素から最近隣の黒画素までの距離値を白画素毎に求める。図2Aには、穴埋め後の画像から距離変換後の画像が生成される状態が示されている。ここで実行される距離変換について、図3を参照しながら具体的に説明する。距離変換は、白画素から最近隣の黒画素までの距離を数値化する処理である。たとえば、図3の画像領域内の白画素(2,3)から最近隣の黒画素までの距離は2である。よって、白画素(2,3)に距離値を示す「2」を代入する。これらを画像領域内の全ての白画素について行うと図3の下部に示したように、画像領域内が数値化される。
【0043】
なお、距離変換部115は、上述したように、2値化処理と穴埋め処理による画像形成後、上記距離値を白画素毎に求めてもよいし、予め切り抜き対象となる画像が2値化や穴埋め処理されていて、2値化ステップや穴埋めステップを実行することなく処理後の画像に対して上記距離値を白画素毎に求めてもよい。
【0044】
極大点抽出部120は、各白画素の距離値が、その白画素に対して最近隣の所定個の白画素の距離値より大きい場合、当該白画素を極大点として抽出する。図2A及び図2Bには、距離変換後の画像から極大点抽出後の画像が生成される状態が示されている。ここで実行される極大点抽出について、図4を参照しながら具体的に説明する。たとえば、画像領域内の白画素(3,3)に対して最も近い4近傍である白画素(3,2)、白画素(2,3)、白画素(4,3)、白画素(3,4)についてその距離値を比較する。比較の結果、白画素(3,3)の距離値「3」は、4近傍の距離値「2」より大きいので、白画素(3,3)は極大点として採用される。一方、白画素(4,2)に対してその4近傍の距離値を比較すると、白画素(4,2)の距離値「2」は4近傍の距離値より大きくないので、白画素(4,2)は極大点として採用されない。これを全ての白画素について実行する。なお、4近傍の替わりに当該白画像を囲む8近傍を対象としてもよい。また、それ以上の近傍画素と比較してもよい。
【0045】
なお、極大点抽出部120は、各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部の一例である。つまり、極大点抽出部120が抽出する極大点は、骨格抽出部が抽出する骨格を示す複数の点の一例である。極大点抽出の替わりに、画像の骨格、すなわち、画像領域の境界からの距離の中心を検出する骨格変換(スケルトン変換)を行ってもよい。この骨格変換も、各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部の一例である。
【0046】
切り抜き用輪郭決定部125は、抽出された骨格に含まれる複数の点のうち所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する。
【0047】
例えば、切り抜き用輪郭決定部125は、図5に示したように、距離値から長径rl及び短径rs及び所望の回転θを定め、上記省かれなかった極大点を中心(x、y)とした楕円を描画してもよいし、距離値から半径rを定め、上記省かれなかった極大点を中心(x、y)とした真円を描画してもよい。ここでは、真円を描画する際の半径は距離値の1.5倍(半径倍率)としている。
【0048】
切り抜き用輪郭決定部125は、図6に示したように、選択された画像領域を左上から順に走査した結果、検出した極大点Pの順に点毎の画素の距離値に応じた楕円又は真円を描画する。図6では、まず初めに極大点P1を中心とした真円が描かれ、極大点P2、P3を中心とした真円が描かれる。極大点P4、P5は、既に描画した点P3の真円内に位置するため、重要度が低いと判断して省かれる。また、切り抜き用輪郭決定部125は、距離値が所与の閾値(描画最小距離値:たとえば、入力画像(選択された画像)の縦横の長さの小さい方の1/20)以下の極大点は、重要度が低いと判断して省く。ここでは、描画最小距離値×半径倍率は、真円の最小半径である。その後、このような処理を繰り返して、極大点P6〜15を中心とした真円が描かれる。
【0049】
重要度が低いと判断して円の数を減らす方法は、上記方法に限られない。たとえば、各円に対して、他の円と重複しない領域の面積をスコアとし、スコアの低い円ほど重要度が低いと判断してスコアの低い円から順に除去することにより円の数を減らすようにしてもよい。各円に対して他の円と重複しない領域の面積割合をスコアとし、スコアの低い円から順に除去することにより円の数を減らすようにしてもよい。また、上記除去方法を行う場合、画像領域を左上から順に走査する時点では、図6のP4及びP5の円も他の円と同様に描画され、後から上記除去方法により除去される。
【0050】
切り抜き用輪郭決定部125は、このようにして描画した複数の真円(又は楕円)の外縁を、画像を切り抜くための輪郭として決定する(図2B:円描画)。なお、切り抜き用輪郭決定部125は、左上から順に走査する替わりに距離値の大きい極大点の順に所定個の以下の真円を描くようにしてもよい。
【0051】
記憶部130は、輪郭として決定した複数の真円の領域形状データのベクタデータを記憶する。ベクタデータについては後述する。
【0052】
画像処理部135は、ベクタデータに基づき決定される輪郭に切り抜き対象画像をオーバラップする(図2B:切り出し画像)。なお、画像処理部135における画像処理は、前記処理の他、例えば、マスクの生成、画質の補正等、種々の画像処理を広く適用することができる。
【0053】
[動作説明]
次に、画像処理装置10の動作について図7及び図8のフローチャートを参照しながら説明する。図7は、本実施形態に係る円形切り抜き処理を示したフローチャート(メインルーチン)である。図8は、円形切り抜き処理から呼び出される円描画処理を示したフローチャート(サブルーチン)である。
【0054】
(円形切り抜き処理)
本処理はステップS700からスタートし、ステップS705にて元画像を取り込む。次に、2値化変換部105は、ステップS710にて元画像の各画素の輝度と所与の閾値とを比較し、その大小に応じて元画像を2値化する。これにより、切り抜き対象側の画像が白画素で表現される。
【0055】
次に、穴埋め処理部110は、ステップS715にて白画素に囲まれた黒画素の数値を反転させて白画素に置換する。これにより白画像領域が穴埋めされる。ついで、距離変換部115は、ステップS720にて各白画素に対して最近隣の黒画素までの距離値を求める。次に、極大点抽出部120は、ステップS725にて各白画素の距離値が、該当白画素に最も近い4つの白画素(4近傍)の各距離値より大きいかを判断する。大きい場合、極大点抽出部120は、該当白画素を極大点として採用するが、同じか小さい場合、極大点抽出部120は、該当白画素を極大点として採用しない。これにより、白画像領域の輪郭からの距離の変化に応じて定められ、白画像領域の骨格を示す点が極大点として選択される。次に、ステップS730にて図8の円描画処理が呼び出される。
【0056】
(円描画処理)
本処理はステップS800からスタートし、ステップS805にて極大点が抽出された画像(スケルトン結果:図2B参照)と黒で塗りつぶされたマスク画像を取り込む。次に、切り抜き用輪郭決定部125は、ステップS810に進んでスケルトン結果が白く、マスク画像が白でない極大点Pを検出するまで画像位置を左上から順に走査する。次に、切り抜き用輪郭決定部125は、ステップS815に進み、極大点Pの距離値が前述した描画最小距離値以下であるかを判定する。極大点Pの距離値が描画最小距離値以下の場合、ステップS810に戻り、次の極大点Pを検出する。これにより、小さすぎる円が描画されることを抑制することができる。前述したとおり、描画最小距離値は、入力画像(選択された画像)の縦横の長さの小さい方の1/20に設定されている。
【0057】
極大点Pの距離値が描画最小距離値より大きい場合、切り抜き用輪郭決定部125は、ステップS820に進み、極大点Pの位置を中心座標として半径r(=距離値×1.5(半径倍率))の円領域のマスク画像を白で塗りつぶす。ついで、記憶部130は、ステップS825にて極大点Pの位置及び半径rのベクタデータを保存する。次に、切り抜き用輪郭決定部125は、ステップS830にて走査が終了したかを判定し、走査が終了していない場合には、ステップS810に戻り極大点Pの走査を続ける。一方、走査が終了した場合には、ステップS895に進み本処理を終了する。
【0058】
円描画処理が終了すると再び図7のステップS735に戻り、画像処理部135は、ベクタデータに基づき定められる円形切り抜き領域に切り抜き対象画像をオーバラップし、ステップS795に進んで本処理を終了する。
【0059】
以上に説明したように、本実施形態によれば、所定の条件に基づいて重要度が低いと判断される極大点を省きながら、省かれなかった極大点の位置を中心として極大点毎に対応する距離値に応じた真円が描画される。描画された複数の真円の外縁は、前記選択された画像領域に描画された特徴部分である画像を切り抜くための輪郭として決定される。これにより、ある基準に基づいて選択された画像中の領域を、複数の円形で構成される領域形状に整形することができる。特に、本実施形態では、所定の条件に基づいて重要度が低いと判断される骨格の点が省かれているため、画像を切り抜く輪郭に細かい円弧状の突出がなくなる。この結果、選択された画像中の領域に対してその領域の境界を視覚的に美しい円弧状の輪郭に整形することができる。
【0060】
なお、極大点を中心(x、y)とした真円を描画する替わりに、距離値から長径rl及び短径rs及び所望の回転θを定め(図5参照)、極大点を中心(x、y)とした楕円を描画してもよい。これによれば、長径rlと短径rsとの比を変化させたり、回転θを変化させたりすることにより、意外性があり、魅力的でリズム感のある円形状の輪郭により画像を切り出すことができる。
【0061】
<第2の実施の形態>
[画像処理装置]
次に、本発明の第2の実施の形態に係る画像処理装置について、図9に示したブロック図を参照しながら説明する。第1の実施の形態に係る画像処理装置10は、複数の真円により画像を切り抜いたのに対して、第2の実施の形態に係る画像処理装置20は、多角形により画像を切り抜く点で相異する。よって、その相違点を中心に第2の実施の形態について説明する。
【0062】
画像処理装置20は、2値化変換部105、最大領域決定部140、輪郭点抽出部145、間引き部150、平滑化部155、切り抜き用輪郭決定部160(第2の切り抜き用輪郭決定部)、記憶部130及び画像処理部135にて示された機能ブロックを有する。
【0063】
図10Aに示したように元画像を2値化した画像領域に対して、最大領域決定部140は、白画像領域のうちの最大領域の画像以外の画像を黒画像の数値に置き換えることにより、白画像の最大領域を抽出する(図10A:最大領域)。輪郭点抽出部145は、白画像の最大領域の輪郭点を複数抽出する(図10A:輪郭点抽出)。なお、最大領域決定部140は、(画像を2値化処理するステップを実行することなく)予め2値化された画像に対して白画像の最大領域を抽出してもよい。
【0064】
間引き部150は、輪郭点抽出部145により抽出された輪郭点が所定個になるまで輪郭点を一つ又は複数個おきに均等に省く。本実施の形態では、輪郭点を一つ置きに間引く動作を輪郭点が所与の最大間引き後点数以下になるまで繰り返す。本実施の形態では、最大間引き後点数は「100」に設定される(図10B:輪郭点間引き)。
【0065】
平滑化部155は、間引き部150により間引かれた輪郭点を各輪郭点の隣接点の位置に基づき平滑化する。具体的には、輪郭点Piは、隣接点Pi−1及び隣接点Pi+1の位置に基づき、次の式(1)に従って平滑化される。
Pi=(Pi−1+Pi+Pi+1)/3・・・(1)
【0066】
たとえば、図11に示したように、輪郭点P2は、隣接点P1及びP3の位置に基づきP2’に平滑化され、輪郭点P3は、隣接点P2及びP4の位置に基づきP3’に平滑化される。平滑化部155は、この平滑化をすべての輪郭点について行う(図10B:輪郭点平滑化)。なお、間引き部150及び平滑化部155により実現する画像処理は省くことができる。
【0067】
切り抜き用輪郭決定部160は、抽出された輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら(図10B、10C:点の重要度に応じて輪郭点を除去)、省かれなかった輪郭点の隣接点同士を繋いだ多角形を、切り抜き対象画像を切り抜くための輪郭として決定する(図10C:点の重要度に応じて輪郭点を除去(最終)。
【0068】
所定の条件に基づいて重要度の低い輪郭点を省く方法について述べる。切り抜き用輪郭決定部160は、輪郭点のうち、隣接する3点の輪郭点から構成される三角形の面積に対して、面積が最も小さい場合、その面積の頂点を形成する3点の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省く。図12を参照しながら具体的に説明すると、図12のaに示した輪郭点P1〜P7について、隣接する3点の三角形の面積S1(P1,P2,P3)、S2(P2,P3,P4)、S3(P3,P4,P5)、S4(P4,P5,P6)、S5(P5,P6,P7)、S6(P6,P7,P1)、S7(P7,P1,P2)を比較すると、面積S4が最も小さい。よって、この場合には、図12のbに示したように、切り抜き用輪郭決定部160は、P5を重要度が低いと判断して省く(図10B、図10C:輪郭点除去、切り出し画像)。
【0069】
なお、以上の説明では、三角形を構成する部分が、輪郭点内領域の凸部か凹部かを考慮しなかった。このように、輪郭点内領域の凹部を抑制しない場合、上記重要度の判断に重み付けはされない。つまり、たとえば、図12のbに示した面積S1と面積S2を直接比較して面積S1のほうが小さい場合、図12のcに示したように、切り抜き用輪郭決定部160は、P2を重要度が低いと判断して省く。
【0070】
一方、輪郭点内領域の凹部を抑制する場合、上記重要度の判断に重み付けがされるため、結果は異なる場合がある。たとえば、凹部を抑制するために凸部の重みを1.0とし、凹部の重みを0.5とした場合、重み付け後の面積S1,S2の重み付け後の面積をS1’、S2’とすると、図12のbの状態では、面積S2のほうが小さくなる。この場合、図12のdに示したように、切り抜き用輪郭決定部160は、P3を重要度が低いと判断して省く。この結果、凹部抑制の重み付けをしなかった図12のcに比べ、凹部抑制の重み付けをした図12のdでは、輪郭点内領域の凹部が抑制された結果となっている。
【0071】
重み付けの相異による切り出し結果の違いの一例を示す。たとえば、図13では、重み付けをしなかった場合(凸部の重み1.0、凹部の重み1.0)、凹部を抑制する重み付けをした場合(凸部の重み1.0、凹部の重み0.5)、凹部をさらに抑制する重み付けをした場合(凸1.0、凹0.25)、凹部を完全に抑制する重み付けをした場合(凸1.0、凹0.0)についての画像の輪郭の一例が示されている。これによれば、凹部の抑制度により異なる切り口の輪郭を形成することができる。いずれも魅力的な輪郭であり、たとえば、凸部の重みを1.0、凹部の重みを0.5とした場合の切り抜きを見ると、対象画像の犬のしっぽが少し切れるくらいの多角形により画像が切り抜かれている。このように、本実施形態では、たとえば、はさみを用いて人がザクザクと画像を切り取った感覚で対象画像を切り抜くことができる。このようにして、人の視覚に訴えるハンドメイド感覚の画像表現が可能となる。
【0072】
[動作説明]
次に、画像処理装置20の動作について図14及び図15のフローチャートを参照しながら説明する。図14は、本実施形態に係る多角形切り抜き処理を示したフローチャート(メインルーチン)である。図15は、図14の多角形切り抜き処理から呼び出される輪郭点除去処理を示したフローチャート(サブルーチン)である。
【0073】
(多角形切り抜き処理)
本処理はステップS1400からスタートし、ステップS1405にて元画像を取り込む。次に、2値化変換部105は、ステップS1410にて元画像の各画素の輝度に対して所与の閾値と比較し、その大小に応じて元画像を2値化する。
【0074】
次に、最大領域決定部140は、ステップS1415にて白画素領域の最大領域以外の領域を黒画素の数値に反転することにより、白画像の最大領域のみ残す。ついで、輪郭点抽出部145は、ステップS1420にて抽出された白画像の最大領域の輪郭点を複数抽出する。
【0075】
次に、ステップS1425にて、間引き部150は抽出された輪郭点を一つおきに間引く。次に、間引き部150は、ステップS1430に進んで、間引き後の輪郭点数が最大間引き後点数(ここでは、「100」)より大きい間、ステップS1425,S1430を繰り返す。間引き後の輪郭点数が最大間引き後点数以下になったら、ステップS1435に進み、平滑化部155は輪郭点を上記式(1)に従い平滑化する。次に、ステップS1440にて図15の輪郭点除去処理(サーブルーチン)が呼び出される。
【0076】
(輪郭点除去処理)
本処理はステップS1500からスタートし、ステップS1505にて、切り抜き用輪郭決定部160は、すべての輪郭点Piに対してその隣接点Pi―1、Pi+1の3点を結んだ三角形の面積Sを計算する。次に、ステップS1510に進んで輪郭点Piが凸部の頂点かを判定し、頂点である場合には、ステップS1515に進んで計算された輪郭点Piの面積Sを点Piのスコアとする。一方、頂点でない場合には、ステップS1520に進んで、計算された輪郭点Piの面積Sを重み付けした値を点Piのスコアとする。ここでの重みは0.25である。
【0077】
次に、ステップS1525に進んで、切り抜き用輪郭決定部160は、全輪郭点の中からスコアが最小となる点を削除し、ステップS1530に進み輪郭点数が最大点数(ここでは、「10」)より大きい場合、ステップS1535に進んで、輪郭点Pi―1及びPi+1に関して三角形の面積を再計算して、ステップS1510に戻る。ステップS1525にてある点が削除されたことにより、削除した点の両隣の点(輪郭点Pi―1及びPi+1)を中心とする三角形の面積が変化するため、ステップS1535では変化した輪郭点Pi―1及びPi+1に関して、三角形の面積を再計算している。このようにして、ステップS1530にて輪郭点数が最大点数より大きい間、ステップS1510〜S1535の処理を繰り返す。輪郭点の個数が最大点数以下になったらステップS1540に進み、輪郭点Pの位置を表すベクタデータを記憶部130に保存し、ステップS1595に進み本処理を終了する。
【0078】
輪郭点除去処理が終了すると再び図14のステップS1445に戻り、画像処理部135は、ベクタデータに基づき定められる多角形切り抜き領域に、切り抜き対象画像をオーバラップし、ステップS1495に進んで本処理を終了する。
【0079】
以上に説明したように、本実施形態によれば、白画素領域の輪郭を示す複数の離隔点Pのうち、所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を対象側の画像を切り抜くための輪郭として決定する。重要度の低い輪郭点Pは省かれているため、重要な輪郭点のみを頂点とする多角形の領域形状に輪郭を整形することができる。より具体的には、面積の小さい三角形から順に削除していくことで、もともとの2値化した画像の切り抜き対象側の形状をなるべく保ちつつ、その形状を少ない点で構成される多角形にすることができる。これにより、たとえば、はさみを用いて人がザクザクと画像を切り取った大胆で美しい輪郭に切り抜き対象側の画像を切り抜くことができる。
【0080】
なお、ステップS1425、S1430の間引き部150の動作は省くことができる。同様に、ステップS1435の平滑部155も省くことができる。また、凹部を抑制しない場合には、切り抜き用輪郭決定部160のステップS1510〜S1520の動作は行わない。
【0081】
また、ステップS1530にて、輪郭点除去の終了条件として輪郭点数が、例えば10点と設定しているが、別の終了判定方法も考えられる。例えば、すべての輪郭点(頂点)角の絶対値がある角度以下(例えば150度)になったら終了するようにしてもよい。
【0082】
また、輪郭点のうち、隣接する3点以上の輪郭点から構成される多角形の面積が最も小さくなる多角形を検出し、検出された多角形を構成する3点以上の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省いてもよい。たとえば、4点の輪郭点から構成される四角形の面積が最も小さくなるものを検出し、検出された四角形の4点中の中間に位置する2点の輪郭点を省くようにしてもよい。
【0083】
以上に説明した第1の実施の形態に係る円形切り抜き及び第2の実施の形態に係る多角形切り抜きによれば、選択された画像領域の境界を視覚的に美しい幾何学な輪郭に整形することができる。ここで、「画像の領域境界を整形する」場合、前提としてあくまで整形前の形(すなわち、2値化された状態)がある。すなわち、各実施の形態では、2値化された画像の切り抜き対象側の情報をなるべく保ちつつ、その上で境界形状をきれいに整形することができる。
【0084】
<第3の実施の形態>
第3の実施の形態では、円形切り抜き領域と多角形切り抜き領域とのいずれかから、画像を切り抜くための輪郭を選択する画像処理システムについて説明する。図16に示したように、画像処理システムSysは、第1の実施の形態の画像処理装置10及び第2の実施の形態の画像処理装置20に加えて選択部165を有する。
【0085】
選択部165は、画像処理装置10により決定された円形切り抜き領域(第1の輪郭)と画像処理装置20により決定された多角形切り抜き領域(第2の輪郭)とのいずれかを切り抜き対象側の画像を切り抜くための輪郭として選択する。
【0086】
選択条件の一例としては次の(1)〜(5)が挙げられる。
(1)ランダムに選択する。
(2)円形切り抜き領域及び多角形切り抜き領域の総面積が大きい方の結果を選択する。
(3)2値化領域(あるいは、円形の場合には穴埋め後の画像、多角形の場合には最大領域を選択後の画像)と、結果として得られた円形切り抜き領域及び多角形切り抜き領域との誤差が少ない方の結果を選択する。
(4)まず、多角形切り抜きを適当な凹部抑制率で実施し、凹部の頂点が一定数以上の場合(あるいは、鋭角な凹部の頂点が存在する場合等)には円形切り抜き領域を選択し、そうでなければ多角形切り抜き領域を選択する。
(5)2値化の結果、白画像領域が複数の小さい領域で構成される際には、円形切り抜き領域を選択し、そうでなければ多角形切り抜き領域を選択する。
【0087】
以上に説明した第1〜第3の実施の形態によれば、円形切り抜きと多角形切り抜きの好ましい方を自動選択することができる。この結果、ある規準に基づいて選択された画像中の領域を、距離変換を用いた円形当てはめにより、複数の円形で構成される領域形状に整形することができる。また、ある規準に基づいて選択された画像中の領域を、領域輪郭を構成する点列における各点の重要度に基づき点を間引くことにより、多角形の領域形状に整形することができる。
【0088】
これによれば、画像データを長方形ではないデータとして表現することが可能となる。特に、画像中の一部の領域を切り出したことで、切り出した部分を強調させた表現が可能となるため、見た目に楽しく、人の心を惹きつける画像表現が可能となる。
【0089】
領域選択基準として画像中の注目領域を選択する技術(例えば、ビジュアル アテンション)の技術を用いることができる。この技術を用いて元画像から注目領域を抽出した画像を生成する。そして、生成された画像を、所定の基準に基づいて選択された画像領域として2値化、距離変換、骨格抽出、切り抜き用輪郭決定等の上記画像処理を行う。これにより、画像中の注目領域をさらに強調させた表現を可能にできる。
【0090】
上記各実施の形態により生成された切り抜き画像の利用先としては、次のようなものが考えられる。たとえば、図17に示したように、複数の画像を一覧表示させる際のサムネイル表示の代用としての利用方法がある。
【0091】
たとえば、従来、オークションサイトに出品された画像は、長方形の枠内に出品物が収まる形で表されている。そのため、画像は、表示機器においてもそのままの長方形、あるいはそれをアフィン変換や射影変換させた四角形として表現される。しかしながら、データ自体は、たまたま長方形の画像情報として保存されているが、保存画像中の目を引く物体は本来長方形ではなく不定な形状をしていることがほとんどである。よって、画像を常に四角形として扱わなければならないとすると、デザイン上の自由度が少なくおもしろみに欠けてしまう。
【0092】
また、長方形のサムネイル画像では、画像を隙間なく並べると背景が完全に隠れてしまい、また隙間を開けても格子状の隙間からのみ背景が見えるだけである。しかしながら、図17の切り抜き画像によれば、画像が長方形でなくなることで単に画像を均一に並べても画像間に隙間ができるため、背景をデザインの一部として有効に利用することができる。
【0093】
また、複数の長方形の画像を不均一に並べようとすると、無駄な隙間があいてしまうか、あるいは画像の一部が別の画像と重なってしまうことになる。しかし各実施の形態の画像処理方法を用いた画像の切り出しにより、無駄な隙間を空けずにかつ不均一な見た目におもしろみのある方法で画像を並べることも可能となる。
【0094】
また、画像をスクラップブック風に表現する際にも利用できる。紙のスクラップブックを作成する際に写真をハサミで切り抜くようなことは習慣的に行われているため、これを模した方法を実行するアプリケーションをコンピュータに搭載することにより、コンピュータ上でのスクラップブックを実現することができる。
【0095】
従来から行われている、コンピュータ上でのスクラップブックを模した表現では、あらかじめ用意された形の枠に従い写真を当てはめる技術が用いられている。しかしながら、本実施形態の切り抜き画像では、画像に写っているものの内容を考慮した切り抜き方法で画像を切り抜いた表現が可能となる。
【0096】
また、複数の切り抜き画像をもちいて一枚のコラージュ画像を生成する用途に用いることもできる。また、切り抜いた画像を、現実世界におけるステッカーのように用いることもできる。
【0097】
切り抜き対象となった画像そのものを表現する場ではなく、別のものを表示している場において、切り抜き画像をワンポイントのイラストやアイコンのようにして使うことも考えられる。
【0098】
各実施形態にて得られた領域形状は、ベクタデータとして、例えば以下のような形式で情報を記憶部130に保存することができる。円形切り抜きデータは以下のように表現する。
(1)円形切り抜きのデータを表現するために、「楕円」型を定義する。円を楕円として表現するのは、画像の縦横方向の伸縮にも柔軟に対応するためである。楕円のパラメータとして、中心座標cx、cyおよび水平及び垂直方向の半径rx、ryを保持する。これらの各値は、円形切り抜き実行時の画像の幅、高さに対する相対値、つまり0.0〜1.0の値として表現される。
(2)円形切り抜きデータは、円形当てはめで使用した円を上記のように中心座標及び水平及び垂直方向の半径にて表現した複数の楕円と、楕円の個数で表現することができる。
【0099】
多角形切り抜きデータは以下のように表現する。
(1)多角形切り抜きデータを表現するために、「点」型を定義する。点のパラメータとして、その点の位置座標x、yを保持する。これらの各値は、多角形切り抜き実施時の画像の幅、高さに対する相対値、つまり0.0〜1.0の値として表現する。
(2)多角形切り抜きデータは、多角形の頂点を構成する複数の点と、点の個数で表現することができる。
【0100】
以上のように、上記画商処理により得られた領域形状データをベクタデータとして保存することで、適用先の画像サイズに影響を受けずに円形切り抜き領域及び多角形切り抜き領域のデータを保存することができる。ベクタデータであるために、領域形状とその適用先画像を独立に管理でき、また、画像の拡大、縮小の影響を受けない形で保存できる。
【0101】
上記実施の形態において、各部の動作はお互いに関連しており、互いの関連を考慮しながら、一連の動作として置き換えることができる。これにより、画像処理装置の実施の形態を、画像処理方法の実施の形態および画像処理装置の機能をコンピュータに実現させるためのプログラムの実施の形態とすることができる。
【0102】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0103】
たとえば、本発明により切り抜きされた画像は、そのまま使用してもよいが、切り抜きの結果、領域面積が元の四角形より小さくなっているため、元の四角形相当の大きさまで拡大して使用してもよい。このような使い方の場合、切り抜きによって選択された領域を強調表示するような効果が得られる。
【0104】
また、本発明では、画像を円形に切り抜く場合、画像に対して外側に向かう円の集まりで切り抜くだけでなく、画像に対して内側に向かう円と外側に向かう円とを混在させた集まりで切り抜くようにしてもよい。。たとえば、図6の極大点P1を中心とした円を画像に対して内側に向かう円とすると、極大点P2を中心とした円をえぐる輪郭を形成することができる。ただし、画像に対して内側に向かう円は、切り抜き対象側の画像をえぐる方向に向かって切り抜く。よって、たとえば、切り抜き対象側の画像の中央に位置する点を中心とした円や所定半径以上の円には、画像に対して内側に向かう円は適用しない等の限定を設けると好ましい。
【0105】
また、本発明では、画像を多角形に切り抜く場合、輪郭点と輪郭点とを直線で結ぶだけでなく、曲線で結んでもよい。また、本発明で処理された結果の多角形の頂点(輪郭点)を丸める加工を行ってもよい。
【図面の簡単な説明】
【0106】
【図1】第1の実施の形態にかかる画像処理装置の概略構成図である。
【図2A】同実施形態にかかる画像処理中の画像状態を示した図である。
【図2B】図2Aに続く画像状態を示した図である。
【図3】同実施形態にかかる距離変換を説明するための図である。
【図4】同実施形態にかかる極大点抽出を説明するための図である。
【図5】同実施形態にかかる円描画を説明するための図である。
【図6】画像領域を左上から順に走査しながら円描画する動作を説明するための図である。
【図7】同実施の形態にかかる円形切り抜き処理を示したフローチャートである。
【図8】同実施の形態にかかる円描画処理を示したフローチャートである。
【図9】第2の実施の形態にかかる画像処理装置の概略構成図である。
【図10A】同実施形態にかかる画像処理中の画像状態を示した図である。
【図10B】図10Aに続く画像状態を示した図である。
【図10C】図10Bに続く画像状態を示した図である。
【図11】同実施形態にかかる平滑化を説明するための図である。
【図12】同実施形態にかかる輪郭点除去を説明するための図である。
【図13】同実施形態にかかる重み付けに応じた画像状態を示した図である。
【図14】同実施の形態にかかる多角形切り抜き処理を示したフローチャートである。
【図15】同実施の形態にかかる輪郭点除去処理を示したフローチャートである。
【図16】第3の実施の形態にかかる画像処理システムの概略構成図である。
【図17】各実施の形態にかかる切り抜き画像のサムネイル表示の一例である。
【符号の説明】
【0107】
10、20 画像処理装置
105 2値化変換部
110 穴埋め処理部
115 距離変換部
120 極大点抽出部
125 切り抜き用輪郭決定部(第1の切り抜き用輪郭決定部)
130 記憶部
135 画像処理部
140 最大領域決定部
145 輪郭点抽出部
150 間引き部
155 平滑化部
160 切り抜き用輪郭決定部(第2の切り抜き用輪郭決定部)
165 選択部
【技術分野】
【0001】
本発明は、画像の輪郭を幾何学的に整形する画像処理方法、画像処理装置、プログラム及び画像処理システムに関し、特に、円形又は多角形に画像を整形する画像処理に関する。
【背景技術】
【0002】
画像情報は、一般に撮影機器の都合上、長方形の2次元データとして表現されることが多い。たとえば、オークションサイトに出品された画像は、長方形の枠内に出品物が収まる形で表されている。そのため、画像は、表示機器においてもそのままの長方形、あるいはそれをアフィン変換や射影変換させた四角形として表現される。写真閲覧ブラウザ上での写真表示や、サムネイル表示、コンピュータ上で提供されるスクラップブック等のアプリケーションにおいても、画像は四角形として表現されることがほとんどである。しかしながら、データ自体は、たまたま長方形の画像情報として保存されているが、保存画像中の目を引く物体は本来長方形ではなく不定な形状をしていることがほとんどである。よって、画像を常に四角形として扱わなければならないとすると、デザイン上の自由度が少なくおもしろみに欠けてしまう。
【0003】
そこで、長方形以外の形で画像を表現する方法の一つとして、例えばあらかじめ画像の切り抜き形状を用意しておき、そこに与えられた画像を当てはめる技術がある。しかしながら、この方法では、切り抜き形状を用意する際、当てはめる側の画像に何がどのような形で含まれているのかは考慮されないため、画像の特徴部分を考慮した切り抜きは困難である。
【0004】
一方、画像の特徴部分を考慮して、画像内容に応じて画像の一部の領域を抽出、選択する種々の技術が提案されている。その中には、たとえば画像中のある色域に含まれる色のみを残す、通称2値化と呼ばれる方法がある。これは、領域を選択する最も簡単な方法の一つである。また人間の認知の仕組みに基づき、画像中から視覚的に注目を得やすい領域を選択する、ビジュアルアテンション(Visual Attention)と言われる技術も提案されている(例えば、特許文献1参照。)。
【0005】
【特許文献1】特開2008−53775号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、画像内容に応じて画像の一部を抽出する技術では、抽出された画像の輪郭領域の形状については何ら考慮されていない。そのため、上記抽出された領域は、コンピュータ処理上都合のよい領域であったとしても、画像を切り抜いて表現するための領域としては形状が醜く、視覚的に訴える画像表現には適さない場合が多い。
【0007】
また、画像内の物体を意味のある単位で複数の領域に分割する領域分割と呼ばれる方法や、画像中の物体そのものを認識し、その物体の存在する領域そのものを選択する技術も提案されている。これらは、正しい認識がなされれば物体の形状どおりに領域が選択されるものの、コンピュータによる自動処理では、人間の通常の認識に従って正しく物体が認識されるばかりではない。また、たとえ正しく物体が認識されたとしても、物体の機械的認識が細かすぎて、選択された領域がかえって見栄えのよくない形状となる場合もある。
【0008】
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、所定の画像領域を所望の幾何学な輪郭に整形する画像処理を提案することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のある観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換ステップと、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出ステップと、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法が提案される。
【0010】
かかる構成によれば、第1の画素領域の骨格を示す複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円が描画される。描画された複数の楕円又は真円の外縁は、切り抜き対象側の画像を切り抜くための輪郭となる。これにより、注目する画像を複数の円形で構成される領域形状に整形することができる。
【0011】
特に、輪郭を決定するに当たっては、所定の条件に基づいて重要度が低いと判断される骨格を示した点は省かれる。このため、画像を切り抜く際に重要度が高い点を中心としたまとまりある円弧状の集まりを輪郭とすることができる。この結果、切り抜き対象側の画像を視覚的に美しい円弧状に切り抜くことができる。
【0012】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化ステップと、前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋めステップと、をさらに含んでいても良い。
【0013】
第1の画素領域の骨格を示す複数の点のうち、重要度が低い点を省くための所定の条件の一例としては、前記切り抜き用輪郭決定ステップは、抽出された複数の点のうち、既に描画した楕円又は真円内に位置する点を重要度が低いと判断して省いてもよい。
【0014】
また、前記切り抜き用輪郭決定ステップは、前記抽出された複数の点のうち、各点の画素の距離値が所与の閾値以下の点を重要度が低いと判断して省いてもよい。
【0015】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の点のうち、前記選択された画像領域を左上から順に走査して検出された点の順に各点の画素の距離値に応じた楕円又は真円を描画してもよい。
【0016】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の点のうち、前記距離値の大きい画素の点の順にその距離値に応じた楕円又は真円を所定個描画してもよい。
【0017】
前記切り抜き用輪郭決定ステップは、前記点の位置を中心とした楕円又は真円の数が所定個より大きくなったら、当該ステップを終了してもよい。
【0018】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出ステップと、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出ステップと、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法が提供される。
【0019】
かかる構成によれば、第1の画素領域の輪郭を示す複数の離隔点のうち、所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を対象側の画像を切り抜くための輪郭として決定する。これによれば、重要度の低い輪郭点は省かれているため、重要な輪郭点のみを頂点とする多角形の領域形状に切り抜きの輪郭を整形することができる。これにより、たとえば、コンピュータ処理であるにも拘わらず、はさみを用いて人がザクザクと画像を切り取った感覚に輪郭を整形することができる。この結果、切り抜き対象側の画像を視覚的に美しく切り抜くことができる。
【0020】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の輪郭点のうち、隣接する3点以上の輪郭点から構成される多角形の面積が最も小さくなる多角形を検出し、検出された多角形を構成する3点以上の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省いてもよい。
【0021】
前記切り抜き用輪郭決定ステップは、前記抽出された複数の輪郭点のうち、隣接する3点の輪郭点から構成される三角形の面積に対して、当該三角形が前記複数の輪郭点の隣接点同士を繋いだ多角形の凸部又は凹部のいずれを形成するかにより異なる重み付けをし、重み付け後の面積が最も小さくなる三角形を検出し、検出された三角形を構成する3点の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省いてもよい。
【0022】
前記切り抜き用輪郭決定ステップは、前記重要度が低いと判断された輪郭点を省く処理を繰り返した結果、輪郭点の数が所定個以下になったら終了してもよい。
【0023】
前記輪郭点抽出ステップにより抽出された複数の輪郭点を一つ又は複数個おきに省く間引ステップをさらに含み、前記切り抜き用輪郭決定ステップは、前記間引ステップ後の輪郭点に対して実行してもよい。
【0024】
前記輪郭点抽出ステップにより抽出された輪郭点を各輪郭点の隣接点の位置に応じて平滑化する平滑化ステップをさらに含み、前記切り抜き用輪郭決定ステップは、前記平滑化ステップ後の輪郭点に対して実行してもよい。
【0025】
前記選択された画像領域は、所定の基準に基づき画像中の注目領域を抽出する技術を用いて元画像から抽出してもよい。
【0026】
前記画像を切り抜くための輪郭として決定した複数の楕円又は真円の外縁又は多角形に関するデータをベクタデータとして記憶部に記憶してもよい。
【0027】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置が提供される。
【0028】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化変換部と、
前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋め処理部と、をさらに備えていてもよい。
【0029】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置が提供される。
【0030】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める処理と、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する処理と、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラムが提供される。
【0031】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する処理と、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する処理と、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラムが提供される。
【0032】
また、上記課題を解決するために、本発明の他の観点によれば、2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第1の切り抜き用輪郭決定部と、を有し、前記2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第2の切り抜き用輪郭決定部と、を有し、さらに、前記第1の切り抜き用輪郭決定部により決定された第1の輪郭と前記第2の切り抜き用輪郭決定部により決定された第2の輪郭とのいずれかを選択する選択部を備えた画像処理システムが提供される。
【0033】
このとき、前記選択部は、次の(1)〜(4)のいずれかの条件に従い、前記第1の輪郭及び前記第2の輪郭のいずれかを選択してもよい。
(1)ランダムに選択する。
(2)前記第1の輪郭内の総面積と前記第2の輪郭内の総面積との比に基づき選択する。(3)前記第1の輪郭又は第2の輪郭の少なくともいずれかの形状に基づき選択する。
(4)前記2値化後の第1の画素領域に対する前記第1の輪郭の形状及び前記第2の輪郭の形状の誤差に基づき選択する。
【発明の効果】
【0034】
以上説明したように、本発明によれば、ある基準により選択された画像領域の境界を視覚的に美しい幾何学な輪郭に整形することができる。
【発明を実施するための最良の形態】
【0035】
以下に添付図面を参照しながら、発明を実施するための最良の形態(以下実施の形態とする)について説明する。但し、本明細書及び図面において、実質的に同一の機能を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0036】
なお、説明は以下の順序で行う。
1.第1の実施の形態(円形切り抜き:複数の真円により画像を切り抜く例)
2.第2の実施の形態(多角形切り抜き:輪郭点を結んだ多角形により画像を切り抜く例)
3.第3の実施の形態(システム:円形切り抜き又は多角形切り抜きのいずれかを選択する例)
【0037】
<第1の実施の形態>
[画像処理装置]
まず、本発明の第1の実施の形態に係る画像処理装置について、図1に示したブロック図を参照しながら説明する。画像処理装置10は、2値化変換部105、穴埋め処理部110、距離変換部115、極大点抽出部120、切り抜き用輪郭決定部125(第1の切り抜き用輪郭決定部)、記憶部130及び画像処理部135にて示された機能ブロックを有する。
【0038】
画像処理装置10は、たとえばテレビ下のレコーダやPC(Personal Computer)に内蔵されたICチップ等の回路(図示せず)から構成されていてもよい。。この場合、画像処理装置10の主な機能は、レコーダやPCに入力される画像(元画像)を示す信号S10をICチップ内に入力し、切り抜き処理後の画像を示す信号S20をレコーダやPCに出力する。また、画像処理装置10は、図示しないCPU、ROM、RAMから構成されていてもよい。たとえばレコーダやPCに内蔵されたROM等に画像処理装置10の主な機能を実現するための処理手順を記述したプログラムやデータを格納しておく。そして、画像処理装置10の主な機能は、CPUがプログラムを読み出して解釈しながら画像処理を実行することにより達成されてもよい。
【0039】
さて、具体的な各機能を説明する。たとえば、ここで取り扱う元画像は、撮像装置により撮像した画像、ネットワークを通じて取得した画像、PCで作成した画像等広く適用することができる。
【0040】
このようにして取得した元画像に対して、2値化変換部105は、元画像から所定の基準に基づいて選択された画像領域を2値化する。図2Aには、元画像から2値化された画像が生成される状態が示されている。ここでは、2値化後の切り抜き対象側の第1の画素領域は白で示され、バックグラウンド側の第2の画素領域は黒で示されている。元画像から所定の基準に基づいて特定の画像領域を選択して2値化する例としては、次の(a)〜(j)の方法が一例として挙げられる。
(a)輝度(あるいは彩度、色相)に対して所与の閾値処理を施すことにより2値化する方法。
(b)特定の色域(例えば、画像の平均色)に納まっているか否かで2値化する方法。
(c)時間的に連続する複数フレームにおいて、動く物体領域を抽出し、抽出した動く物体領域とそれ以外の物体領域とを2値化する方法。
(d)ステレオビジョン(多眼視)によって得られる物体までの距離において、近距離物体を抽出し、抽出した近距離物体とそれ以外の物体領域とを2値化する方法。
(e)画像を領域分割した結果から特定の領域を選択し、2値化する方法。
(f)人間の認知の仕組みに基づき、画像中から視覚的に注目を得やすい領域を選択する、ビジュアルアテンションの技術を利用した結果として得られる誘目領域を2値化する方法。
(g)特定の周波数帯に納まっているか否かで2値化する方法(例えば、エッジのある部分、エッジのない部分等)。
(h)物体認識技術(例:顔認識、人物認識など)の結果に基づいて特定の物体領域に応じて2値化する方法。
(i)被写界深度の合っている部分のみを抽出した領域に基づき2値化する方法。
(j)赤外カメラで写した物体の高輝度部分に基づき2値化する方法。
【0041】
穴埋め処理部110は、2値化後の白画像に囲まれた黒画像を白画像の数値に置き換えることにより、白画像領域内の穴を埋める。図2Aには、2値化された画像から穴埋め後の画像が生成される状態が示されている。
【0042】
距離変換部115は、穴埋め後の白画像領域内の画素から最近隣の黒画素までの距離値を白画素毎に求める。図2Aには、穴埋め後の画像から距離変換後の画像が生成される状態が示されている。ここで実行される距離変換について、図3を参照しながら具体的に説明する。距離変換は、白画素から最近隣の黒画素までの距離を数値化する処理である。たとえば、図3の画像領域内の白画素(2,3)から最近隣の黒画素までの距離は2である。よって、白画素(2,3)に距離値を示す「2」を代入する。これらを画像領域内の全ての白画素について行うと図3の下部に示したように、画像領域内が数値化される。
【0043】
なお、距離変換部115は、上述したように、2値化処理と穴埋め処理による画像形成後、上記距離値を白画素毎に求めてもよいし、予め切り抜き対象となる画像が2値化や穴埋め処理されていて、2値化ステップや穴埋めステップを実行することなく処理後の画像に対して上記距離値を白画素毎に求めてもよい。
【0044】
極大点抽出部120は、各白画素の距離値が、その白画素に対して最近隣の所定個の白画素の距離値より大きい場合、当該白画素を極大点として抽出する。図2A及び図2Bには、距離変換後の画像から極大点抽出後の画像が生成される状態が示されている。ここで実行される極大点抽出について、図4を参照しながら具体的に説明する。たとえば、画像領域内の白画素(3,3)に対して最も近い4近傍である白画素(3,2)、白画素(2,3)、白画素(4,3)、白画素(3,4)についてその距離値を比較する。比較の結果、白画素(3,3)の距離値「3」は、4近傍の距離値「2」より大きいので、白画素(3,3)は極大点として採用される。一方、白画素(4,2)に対してその4近傍の距離値を比較すると、白画素(4,2)の距離値「2」は4近傍の距離値より大きくないので、白画素(4,2)は極大点として採用されない。これを全ての白画素について実行する。なお、4近傍の替わりに当該白画像を囲む8近傍を対象としてもよい。また、それ以上の近傍画素と比較してもよい。
【0045】
なお、極大点抽出部120は、各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部の一例である。つまり、極大点抽出部120が抽出する極大点は、骨格抽出部が抽出する骨格を示す複数の点の一例である。極大点抽出の替わりに、画像の骨格、すなわち、画像領域の境界からの距離の中心を検出する骨格変換(スケルトン変換)を行ってもよい。この骨格変換も、各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部の一例である。
【0046】
切り抜き用輪郭決定部125は、抽出された骨格に含まれる複数の点のうち所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する。
【0047】
例えば、切り抜き用輪郭決定部125は、図5に示したように、距離値から長径rl及び短径rs及び所望の回転θを定め、上記省かれなかった極大点を中心(x、y)とした楕円を描画してもよいし、距離値から半径rを定め、上記省かれなかった極大点を中心(x、y)とした真円を描画してもよい。ここでは、真円を描画する際の半径は距離値の1.5倍(半径倍率)としている。
【0048】
切り抜き用輪郭決定部125は、図6に示したように、選択された画像領域を左上から順に走査した結果、検出した極大点Pの順に点毎の画素の距離値に応じた楕円又は真円を描画する。図6では、まず初めに極大点P1を中心とした真円が描かれ、極大点P2、P3を中心とした真円が描かれる。極大点P4、P5は、既に描画した点P3の真円内に位置するため、重要度が低いと判断して省かれる。また、切り抜き用輪郭決定部125は、距離値が所与の閾値(描画最小距離値:たとえば、入力画像(選択された画像)の縦横の長さの小さい方の1/20)以下の極大点は、重要度が低いと判断して省く。ここでは、描画最小距離値×半径倍率は、真円の最小半径である。その後、このような処理を繰り返して、極大点P6〜15を中心とした真円が描かれる。
【0049】
重要度が低いと判断して円の数を減らす方法は、上記方法に限られない。たとえば、各円に対して、他の円と重複しない領域の面積をスコアとし、スコアの低い円ほど重要度が低いと判断してスコアの低い円から順に除去することにより円の数を減らすようにしてもよい。各円に対して他の円と重複しない領域の面積割合をスコアとし、スコアの低い円から順に除去することにより円の数を減らすようにしてもよい。また、上記除去方法を行う場合、画像領域を左上から順に走査する時点では、図6のP4及びP5の円も他の円と同様に描画され、後から上記除去方法により除去される。
【0050】
切り抜き用輪郭決定部125は、このようにして描画した複数の真円(又は楕円)の外縁を、画像を切り抜くための輪郭として決定する(図2B:円描画)。なお、切り抜き用輪郭決定部125は、左上から順に走査する替わりに距離値の大きい極大点の順に所定個の以下の真円を描くようにしてもよい。
【0051】
記憶部130は、輪郭として決定した複数の真円の領域形状データのベクタデータを記憶する。ベクタデータについては後述する。
【0052】
画像処理部135は、ベクタデータに基づき決定される輪郭に切り抜き対象画像をオーバラップする(図2B:切り出し画像)。なお、画像処理部135における画像処理は、前記処理の他、例えば、マスクの生成、画質の補正等、種々の画像処理を広く適用することができる。
【0053】
[動作説明]
次に、画像処理装置10の動作について図7及び図8のフローチャートを参照しながら説明する。図7は、本実施形態に係る円形切り抜き処理を示したフローチャート(メインルーチン)である。図8は、円形切り抜き処理から呼び出される円描画処理を示したフローチャート(サブルーチン)である。
【0054】
(円形切り抜き処理)
本処理はステップS700からスタートし、ステップS705にて元画像を取り込む。次に、2値化変換部105は、ステップS710にて元画像の各画素の輝度と所与の閾値とを比較し、その大小に応じて元画像を2値化する。これにより、切り抜き対象側の画像が白画素で表現される。
【0055】
次に、穴埋め処理部110は、ステップS715にて白画素に囲まれた黒画素の数値を反転させて白画素に置換する。これにより白画像領域が穴埋めされる。ついで、距離変換部115は、ステップS720にて各白画素に対して最近隣の黒画素までの距離値を求める。次に、極大点抽出部120は、ステップS725にて各白画素の距離値が、該当白画素に最も近い4つの白画素(4近傍)の各距離値より大きいかを判断する。大きい場合、極大点抽出部120は、該当白画素を極大点として採用するが、同じか小さい場合、極大点抽出部120は、該当白画素を極大点として採用しない。これにより、白画像領域の輪郭からの距離の変化に応じて定められ、白画像領域の骨格を示す点が極大点として選択される。次に、ステップS730にて図8の円描画処理が呼び出される。
【0056】
(円描画処理)
本処理はステップS800からスタートし、ステップS805にて極大点が抽出された画像(スケルトン結果:図2B参照)と黒で塗りつぶされたマスク画像を取り込む。次に、切り抜き用輪郭決定部125は、ステップS810に進んでスケルトン結果が白く、マスク画像が白でない極大点Pを検出するまで画像位置を左上から順に走査する。次に、切り抜き用輪郭決定部125は、ステップS815に進み、極大点Pの距離値が前述した描画最小距離値以下であるかを判定する。極大点Pの距離値が描画最小距離値以下の場合、ステップS810に戻り、次の極大点Pを検出する。これにより、小さすぎる円が描画されることを抑制することができる。前述したとおり、描画最小距離値は、入力画像(選択された画像)の縦横の長さの小さい方の1/20に設定されている。
【0057】
極大点Pの距離値が描画最小距離値より大きい場合、切り抜き用輪郭決定部125は、ステップS820に進み、極大点Pの位置を中心座標として半径r(=距離値×1.5(半径倍率))の円領域のマスク画像を白で塗りつぶす。ついで、記憶部130は、ステップS825にて極大点Pの位置及び半径rのベクタデータを保存する。次に、切り抜き用輪郭決定部125は、ステップS830にて走査が終了したかを判定し、走査が終了していない場合には、ステップS810に戻り極大点Pの走査を続ける。一方、走査が終了した場合には、ステップS895に進み本処理を終了する。
【0058】
円描画処理が終了すると再び図7のステップS735に戻り、画像処理部135は、ベクタデータに基づき定められる円形切り抜き領域に切り抜き対象画像をオーバラップし、ステップS795に進んで本処理を終了する。
【0059】
以上に説明したように、本実施形態によれば、所定の条件に基づいて重要度が低いと判断される極大点を省きながら、省かれなかった極大点の位置を中心として極大点毎に対応する距離値に応じた真円が描画される。描画された複数の真円の外縁は、前記選択された画像領域に描画された特徴部分である画像を切り抜くための輪郭として決定される。これにより、ある基準に基づいて選択された画像中の領域を、複数の円形で構成される領域形状に整形することができる。特に、本実施形態では、所定の条件に基づいて重要度が低いと判断される骨格の点が省かれているため、画像を切り抜く輪郭に細かい円弧状の突出がなくなる。この結果、選択された画像中の領域に対してその領域の境界を視覚的に美しい円弧状の輪郭に整形することができる。
【0060】
なお、極大点を中心(x、y)とした真円を描画する替わりに、距離値から長径rl及び短径rs及び所望の回転θを定め(図5参照)、極大点を中心(x、y)とした楕円を描画してもよい。これによれば、長径rlと短径rsとの比を変化させたり、回転θを変化させたりすることにより、意外性があり、魅力的でリズム感のある円形状の輪郭により画像を切り出すことができる。
【0061】
<第2の実施の形態>
[画像処理装置]
次に、本発明の第2の実施の形態に係る画像処理装置について、図9に示したブロック図を参照しながら説明する。第1の実施の形態に係る画像処理装置10は、複数の真円により画像を切り抜いたのに対して、第2の実施の形態に係る画像処理装置20は、多角形により画像を切り抜く点で相異する。よって、その相違点を中心に第2の実施の形態について説明する。
【0062】
画像処理装置20は、2値化変換部105、最大領域決定部140、輪郭点抽出部145、間引き部150、平滑化部155、切り抜き用輪郭決定部160(第2の切り抜き用輪郭決定部)、記憶部130及び画像処理部135にて示された機能ブロックを有する。
【0063】
図10Aに示したように元画像を2値化した画像領域に対して、最大領域決定部140は、白画像領域のうちの最大領域の画像以外の画像を黒画像の数値に置き換えることにより、白画像の最大領域を抽出する(図10A:最大領域)。輪郭点抽出部145は、白画像の最大領域の輪郭点を複数抽出する(図10A:輪郭点抽出)。なお、最大領域決定部140は、(画像を2値化処理するステップを実行することなく)予め2値化された画像に対して白画像の最大領域を抽出してもよい。
【0064】
間引き部150は、輪郭点抽出部145により抽出された輪郭点が所定個になるまで輪郭点を一つ又は複数個おきに均等に省く。本実施の形態では、輪郭点を一つ置きに間引く動作を輪郭点が所与の最大間引き後点数以下になるまで繰り返す。本実施の形態では、最大間引き後点数は「100」に設定される(図10B:輪郭点間引き)。
【0065】
平滑化部155は、間引き部150により間引かれた輪郭点を各輪郭点の隣接点の位置に基づき平滑化する。具体的には、輪郭点Piは、隣接点Pi−1及び隣接点Pi+1の位置に基づき、次の式(1)に従って平滑化される。
Pi=(Pi−1+Pi+Pi+1)/3・・・(1)
【0066】
たとえば、図11に示したように、輪郭点P2は、隣接点P1及びP3の位置に基づきP2’に平滑化され、輪郭点P3は、隣接点P2及びP4の位置に基づきP3’に平滑化される。平滑化部155は、この平滑化をすべての輪郭点について行う(図10B:輪郭点平滑化)。なお、間引き部150及び平滑化部155により実現する画像処理は省くことができる。
【0067】
切り抜き用輪郭決定部160は、抽出された輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら(図10B、10C:点の重要度に応じて輪郭点を除去)、省かれなかった輪郭点の隣接点同士を繋いだ多角形を、切り抜き対象画像を切り抜くための輪郭として決定する(図10C:点の重要度に応じて輪郭点を除去(最終)。
【0068】
所定の条件に基づいて重要度の低い輪郭点を省く方法について述べる。切り抜き用輪郭決定部160は、輪郭点のうち、隣接する3点の輪郭点から構成される三角形の面積に対して、面積が最も小さい場合、その面積の頂点を形成する3点の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省く。図12を参照しながら具体的に説明すると、図12のaに示した輪郭点P1〜P7について、隣接する3点の三角形の面積S1(P1,P2,P3)、S2(P2,P3,P4)、S3(P3,P4,P5)、S4(P4,P5,P6)、S5(P5,P6,P7)、S6(P6,P7,P1)、S7(P7,P1,P2)を比較すると、面積S4が最も小さい。よって、この場合には、図12のbに示したように、切り抜き用輪郭決定部160は、P5を重要度が低いと判断して省く(図10B、図10C:輪郭点除去、切り出し画像)。
【0069】
なお、以上の説明では、三角形を構成する部分が、輪郭点内領域の凸部か凹部かを考慮しなかった。このように、輪郭点内領域の凹部を抑制しない場合、上記重要度の判断に重み付けはされない。つまり、たとえば、図12のbに示した面積S1と面積S2を直接比較して面積S1のほうが小さい場合、図12のcに示したように、切り抜き用輪郭決定部160は、P2を重要度が低いと判断して省く。
【0070】
一方、輪郭点内領域の凹部を抑制する場合、上記重要度の判断に重み付けがされるため、結果は異なる場合がある。たとえば、凹部を抑制するために凸部の重みを1.0とし、凹部の重みを0.5とした場合、重み付け後の面積S1,S2の重み付け後の面積をS1’、S2’とすると、図12のbの状態では、面積S2のほうが小さくなる。この場合、図12のdに示したように、切り抜き用輪郭決定部160は、P3を重要度が低いと判断して省く。この結果、凹部抑制の重み付けをしなかった図12のcに比べ、凹部抑制の重み付けをした図12のdでは、輪郭点内領域の凹部が抑制された結果となっている。
【0071】
重み付けの相異による切り出し結果の違いの一例を示す。たとえば、図13では、重み付けをしなかった場合(凸部の重み1.0、凹部の重み1.0)、凹部を抑制する重み付けをした場合(凸部の重み1.0、凹部の重み0.5)、凹部をさらに抑制する重み付けをした場合(凸1.0、凹0.25)、凹部を完全に抑制する重み付けをした場合(凸1.0、凹0.0)についての画像の輪郭の一例が示されている。これによれば、凹部の抑制度により異なる切り口の輪郭を形成することができる。いずれも魅力的な輪郭であり、たとえば、凸部の重みを1.0、凹部の重みを0.5とした場合の切り抜きを見ると、対象画像の犬のしっぽが少し切れるくらいの多角形により画像が切り抜かれている。このように、本実施形態では、たとえば、はさみを用いて人がザクザクと画像を切り取った感覚で対象画像を切り抜くことができる。このようにして、人の視覚に訴えるハンドメイド感覚の画像表現が可能となる。
【0072】
[動作説明]
次に、画像処理装置20の動作について図14及び図15のフローチャートを参照しながら説明する。図14は、本実施形態に係る多角形切り抜き処理を示したフローチャート(メインルーチン)である。図15は、図14の多角形切り抜き処理から呼び出される輪郭点除去処理を示したフローチャート(サブルーチン)である。
【0073】
(多角形切り抜き処理)
本処理はステップS1400からスタートし、ステップS1405にて元画像を取り込む。次に、2値化変換部105は、ステップS1410にて元画像の各画素の輝度に対して所与の閾値と比較し、その大小に応じて元画像を2値化する。
【0074】
次に、最大領域決定部140は、ステップS1415にて白画素領域の最大領域以外の領域を黒画素の数値に反転することにより、白画像の最大領域のみ残す。ついで、輪郭点抽出部145は、ステップS1420にて抽出された白画像の最大領域の輪郭点を複数抽出する。
【0075】
次に、ステップS1425にて、間引き部150は抽出された輪郭点を一つおきに間引く。次に、間引き部150は、ステップS1430に進んで、間引き後の輪郭点数が最大間引き後点数(ここでは、「100」)より大きい間、ステップS1425,S1430を繰り返す。間引き後の輪郭点数が最大間引き後点数以下になったら、ステップS1435に進み、平滑化部155は輪郭点を上記式(1)に従い平滑化する。次に、ステップS1440にて図15の輪郭点除去処理(サーブルーチン)が呼び出される。
【0076】
(輪郭点除去処理)
本処理はステップS1500からスタートし、ステップS1505にて、切り抜き用輪郭決定部160は、すべての輪郭点Piに対してその隣接点Pi―1、Pi+1の3点を結んだ三角形の面積Sを計算する。次に、ステップS1510に進んで輪郭点Piが凸部の頂点かを判定し、頂点である場合には、ステップS1515に進んで計算された輪郭点Piの面積Sを点Piのスコアとする。一方、頂点でない場合には、ステップS1520に進んで、計算された輪郭点Piの面積Sを重み付けした値を点Piのスコアとする。ここでの重みは0.25である。
【0077】
次に、ステップS1525に進んで、切り抜き用輪郭決定部160は、全輪郭点の中からスコアが最小となる点を削除し、ステップS1530に進み輪郭点数が最大点数(ここでは、「10」)より大きい場合、ステップS1535に進んで、輪郭点Pi―1及びPi+1に関して三角形の面積を再計算して、ステップS1510に戻る。ステップS1525にてある点が削除されたことにより、削除した点の両隣の点(輪郭点Pi―1及びPi+1)を中心とする三角形の面積が変化するため、ステップS1535では変化した輪郭点Pi―1及びPi+1に関して、三角形の面積を再計算している。このようにして、ステップS1530にて輪郭点数が最大点数より大きい間、ステップS1510〜S1535の処理を繰り返す。輪郭点の個数が最大点数以下になったらステップS1540に進み、輪郭点Pの位置を表すベクタデータを記憶部130に保存し、ステップS1595に進み本処理を終了する。
【0078】
輪郭点除去処理が終了すると再び図14のステップS1445に戻り、画像処理部135は、ベクタデータに基づき定められる多角形切り抜き領域に、切り抜き対象画像をオーバラップし、ステップS1495に進んで本処理を終了する。
【0079】
以上に説明したように、本実施形態によれば、白画素領域の輪郭を示す複数の離隔点Pのうち、所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を対象側の画像を切り抜くための輪郭として決定する。重要度の低い輪郭点Pは省かれているため、重要な輪郭点のみを頂点とする多角形の領域形状に輪郭を整形することができる。より具体的には、面積の小さい三角形から順に削除していくことで、もともとの2値化した画像の切り抜き対象側の形状をなるべく保ちつつ、その形状を少ない点で構成される多角形にすることができる。これにより、たとえば、はさみを用いて人がザクザクと画像を切り取った大胆で美しい輪郭に切り抜き対象側の画像を切り抜くことができる。
【0080】
なお、ステップS1425、S1430の間引き部150の動作は省くことができる。同様に、ステップS1435の平滑部155も省くことができる。また、凹部を抑制しない場合には、切り抜き用輪郭決定部160のステップS1510〜S1520の動作は行わない。
【0081】
また、ステップS1530にて、輪郭点除去の終了条件として輪郭点数が、例えば10点と設定しているが、別の終了判定方法も考えられる。例えば、すべての輪郭点(頂点)角の絶対値がある角度以下(例えば150度)になったら終了するようにしてもよい。
【0082】
また、輪郭点のうち、隣接する3点以上の輪郭点から構成される多角形の面積が最も小さくなる多角形を検出し、検出された多角形を構成する3点以上の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省いてもよい。たとえば、4点の輪郭点から構成される四角形の面積が最も小さくなるものを検出し、検出された四角形の4点中の中間に位置する2点の輪郭点を省くようにしてもよい。
【0083】
以上に説明した第1の実施の形態に係る円形切り抜き及び第2の実施の形態に係る多角形切り抜きによれば、選択された画像領域の境界を視覚的に美しい幾何学な輪郭に整形することができる。ここで、「画像の領域境界を整形する」場合、前提としてあくまで整形前の形(すなわち、2値化された状態)がある。すなわち、各実施の形態では、2値化された画像の切り抜き対象側の情報をなるべく保ちつつ、その上で境界形状をきれいに整形することができる。
【0084】
<第3の実施の形態>
第3の実施の形態では、円形切り抜き領域と多角形切り抜き領域とのいずれかから、画像を切り抜くための輪郭を選択する画像処理システムについて説明する。図16に示したように、画像処理システムSysは、第1の実施の形態の画像処理装置10及び第2の実施の形態の画像処理装置20に加えて選択部165を有する。
【0085】
選択部165は、画像処理装置10により決定された円形切り抜き領域(第1の輪郭)と画像処理装置20により決定された多角形切り抜き領域(第2の輪郭)とのいずれかを切り抜き対象側の画像を切り抜くための輪郭として選択する。
【0086】
選択条件の一例としては次の(1)〜(5)が挙げられる。
(1)ランダムに選択する。
(2)円形切り抜き領域及び多角形切り抜き領域の総面積が大きい方の結果を選択する。
(3)2値化領域(あるいは、円形の場合には穴埋め後の画像、多角形の場合には最大領域を選択後の画像)と、結果として得られた円形切り抜き領域及び多角形切り抜き領域との誤差が少ない方の結果を選択する。
(4)まず、多角形切り抜きを適当な凹部抑制率で実施し、凹部の頂点が一定数以上の場合(あるいは、鋭角な凹部の頂点が存在する場合等)には円形切り抜き領域を選択し、そうでなければ多角形切り抜き領域を選択する。
(5)2値化の結果、白画像領域が複数の小さい領域で構成される際には、円形切り抜き領域を選択し、そうでなければ多角形切り抜き領域を選択する。
【0087】
以上に説明した第1〜第3の実施の形態によれば、円形切り抜きと多角形切り抜きの好ましい方を自動選択することができる。この結果、ある規準に基づいて選択された画像中の領域を、距離変換を用いた円形当てはめにより、複数の円形で構成される領域形状に整形することができる。また、ある規準に基づいて選択された画像中の領域を、領域輪郭を構成する点列における各点の重要度に基づき点を間引くことにより、多角形の領域形状に整形することができる。
【0088】
これによれば、画像データを長方形ではないデータとして表現することが可能となる。特に、画像中の一部の領域を切り出したことで、切り出した部分を強調させた表現が可能となるため、見た目に楽しく、人の心を惹きつける画像表現が可能となる。
【0089】
領域選択基準として画像中の注目領域を選択する技術(例えば、ビジュアル アテンション)の技術を用いることができる。この技術を用いて元画像から注目領域を抽出した画像を生成する。そして、生成された画像を、所定の基準に基づいて選択された画像領域として2値化、距離変換、骨格抽出、切り抜き用輪郭決定等の上記画像処理を行う。これにより、画像中の注目領域をさらに強調させた表現を可能にできる。
【0090】
上記各実施の形態により生成された切り抜き画像の利用先としては、次のようなものが考えられる。たとえば、図17に示したように、複数の画像を一覧表示させる際のサムネイル表示の代用としての利用方法がある。
【0091】
たとえば、従来、オークションサイトに出品された画像は、長方形の枠内に出品物が収まる形で表されている。そのため、画像は、表示機器においてもそのままの長方形、あるいはそれをアフィン変換や射影変換させた四角形として表現される。しかしながら、データ自体は、たまたま長方形の画像情報として保存されているが、保存画像中の目を引く物体は本来長方形ではなく不定な形状をしていることがほとんどである。よって、画像を常に四角形として扱わなければならないとすると、デザイン上の自由度が少なくおもしろみに欠けてしまう。
【0092】
また、長方形のサムネイル画像では、画像を隙間なく並べると背景が完全に隠れてしまい、また隙間を開けても格子状の隙間からのみ背景が見えるだけである。しかしながら、図17の切り抜き画像によれば、画像が長方形でなくなることで単に画像を均一に並べても画像間に隙間ができるため、背景をデザインの一部として有効に利用することができる。
【0093】
また、複数の長方形の画像を不均一に並べようとすると、無駄な隙間があいてしまうか、あるいは画像の一部が別の画像と重なってしまうことになる。しかし各実施の形態の画像処理方法を用いた画像の切り出しにより、無駄な隙間を空けずにかつ不均一な見た目におもしろみのある方法で画像を並べることも可能となる。
【0094】
また、画像をスクラップブック風に表現する際にも利用できる。紙のスクラップブックを作成する際に写真をハサミで切り抜くようなことは習慣的に行われているため、これを模した方法を実行するアプリケーションをコンピュータに搭載することにより、コンピュータ上でのスクラップブックを実現することができる。
【0095】
従来から行われている、コンピュータ上でのスクラップブックを模した表現では、あらかじめ用意された形の枠に従い写真を当てはめる技術が用いられている。しかしながら、本実施形態の切り抜き画像では、画像に写っているものの内容を考慮した切り抜き方法で画像を切り抜いた表現が可能となる。
【0096】
また、複数の切り抜き画像をもちいて一枚のコラージュ画像を生成する用途に用いることもできる。また、切り抜いた画像を、現実世界におけるステッカーのように用いることもできる。
【0097】
切り抜き対象となった画像そのものを表現する場ではなく、別のものを表示している場において、切り抜き画像をワンポイントのイラストやアイコンのようにして使うことも考えられる。
【0098】
各実施形態にて得られた領域形状は、ベクタデータとして、例えば以下のような形式で情報を記憶部130に保存することができる。円形切り抜きデータは以下のように表現する。
(1)円形切り抜きのデータを表現するために、「楕円」型を定義する。円を楕円として表現するのは、画像の縦横方向の伸縮にも柔軟に対応するためである。楕円のパラメータとして、中心座標cx、cyおよび水平及び垂直方向の半径rx、ryを保持する。これらの各値は、円形切り抜き実行時の画像の幅、高さに対する相対値、つまり0.0〜1.0の値として表現される。
(2)円形切り抜きデータは、円形当てはめで使用した円を上記のように中心座標及び水平及び垂直方向の半径にて表現した複数の楕円と、楕円の個数で表現することができる。
【0099】
多角形切り抜きデータは以下のように表現する。
(1)多角形切り抜きデータを表現するために、「点」型を定義する。点のパラメータとして、その点の位置座標x、yを保持する。これらの各値は、多角形切り抜き実施時の画像の幅、高さに対する相対値、つまり0.0〜1.0の値として表現する。
(2)多角形切り抜きデータは、多角形の頂点を構成する複数の点と、点の個数で表現することができる。
【0100】
以上のように、上記画商処理により得られた領域形状データをベクタデータとして保存することで、適用先の画像サイズに影響を受けずに円形切り抜き領域及び多角形切り抜き領域のデータを保存することができる。ベクタデータであるために、領域形状とその適用先画像を独立に管理でき、また、画像の拡大、縮小の影響を受けない形で保存できる。
【0101】
上記実施の形態において、各部の動作はお互いに関連しており、互いの関連を考慮しながら、一連の動作として置き換えることができる。これにより、画像処理装置の実施の形態を、画像処理方法の実施の形態および画像処理装置の機能をコンピュータに実現させるためのプログラムの実施の形態とすることができる。
【0102】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0103】
たとえば、本発明により切り抜きされた画像は、そのまま使用してもよいが、切り抜きの結果、領域面積が元の四角形より小さくなっているため、元の四角形相当の大きさまで拡大して使用してもよい。このような使い方の場合、切り抜きによって選択された領域を強調表示するような効果が得られる。
【0104】
また、本発明では、画像を円形に切り抜く場合、画像に対して外側に向かう円の集まりで切り抜くだけでなく、画像に対して内側に向かう円と外側に向かう円とを混在させた集まりで切り抜くようにしてもよい。。たとえば、図6の極大点P1を中心とした円を画像に対して内側に向かう円とすると、極大点P2を中心とした円をえぐる輪郭を形成することができる。ただし、画像に対して内側に向かう円は、切り抜き対象側の画像をえぐる方向に向かって切り抜く。よって、たとえば、切り抜き対象側の画像の中央に位置する点を中心とした円や所定半径以上の円には、画像に対して内側に向かう円は適用しない等の限定を設けると好ましい。
【0105】
また、本発明では、画像を多角形に切り抜く場合、輪郭点と輪郭点とを直線で結ぶだけでなく、曲線で結んでもよい。また、本発明で処理された結果の多角形の頂点(輪郭点)を丸める加工を行ってもよい。
【図面の簡単な説明】
【0106】
【図1】第1の実施の形態にかかる画像処理装置の概略構成図である。
【図2A】同実施形態にかかる画像処理中の画像状態を示した図である。
【図2B】図2Aに続く画像状態を示した図である。
【図3】同実施形態にかかる距離変換を説明するための図である。
【図4】同実施形態にかかる極大点抽出を説明するための図である。
【図5】同実施形態にかかる円描画を説明するための図である。
【図6】画像領域を左上から順に走査しながら円描画する動作を説明するための図である。
【図7】同実施の形態にかかる円形切り抜き処理を示したフローチャートである。
【図8】同実施の形態にかかる円描画処理を示したフローチャートである。
【図9】第2の実施の形態にかかる画像処理装置の概略構成図である。
【図10A】同実施形態にかかる画像処理中の画像状態を示した図である。
【図10B】図10Aに続く画像状態を示した図である。
【図10C】図10Bに続く画像状態を示した図である。
【図11】同実施形態にかかる平滑化を説明するための図である。
【図12】同実施形態にかかる輪郭点除去を説明するための図である。
【図13】同実施形態にかかる重み付けに応じた画像状態を示した図である。
【図14】同実施の形態にかかる多角形切り抜き処理を示したフローチャートである。
【図15】同実施の形態にかかる輪郭点除去処理を示したフローチャートである。
【図16】第3の実施の形態にかかる画像処理システムの概略構成図である。
【図17】各実施の形態にかかる切り抜き画像のサムネイル表示の一例である。
【符号の説明】
【0107】
10、20 画像処理装置
105 2値化変換部
110 穴埋め処理部
115 距離変換部
120 極大点抽出部
125 切り抜き用輪郭決定部(第1の切り抜き用輪郭決定部)
130 記憶部
135 画像処理部
140 最大領域決定部
145 輪郭点抽出部
150 間引き部
155 平滑化部
160 切り抜き用輪郭決定部(第2の切り抜き用輪郭決定部)
165 選択部
【特許請求の範囲】
【請求項1】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換ステップと、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出ステップと、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法。
【請求項2】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、既に描画した楕円又は真円内に位置する点を重要度が低いと判断して省く請求項1に記載された画像処理方法。
【請求項3】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、各点の画素の距離値が所与の閾値以下の点を重要度が低いと判断して省く請求項1又は請求項2のいずれかに記載された画像処理方法。
【請求項4】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、前記選択された画像領域を左上から順に走査して検出された点の順に各点の画素の距離値に応じた楕円又は真円を描画する請求項1〜3のいずれかに記載された画像処理方法。
【請求項5】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、前記距離値の大きい画素の点の順にその距離値に応じた楕円又は真円を所定個描画する請求項1〜3のいずれかに記載された画像処理方法。
【請求項6】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化ステップと、
前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋めステップと、をさらに含み、
前記距離変換ステップは、前記穴埋めステップにより穴埋めされた第1の画素領域の各第1の画素から前記第2の画素領域までの距離値を求める請求項1〜5のいずれかに記載された画像処理方法。
【請求項7】
2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出ステップと、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出ステップと、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法。
【請求項8】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の輪郭点のうち、隣接する3点以上の輪郭点から構成される多角形の面積が最も小さくなる多角形を検出し、検出された多角形を構成する3点以上の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省く請求項7に記載された画像処理方法。
【請求項9】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の輪郭点のうち、隣接する3点の輪郭点から構成される三角形の面積に対して、当該三角形が前記複数の輪郭点の隣接点同士を繋いだ多角形の凸部又は凹部のいずれを形成するかにより異なる重み付けをし、重み付け後の面積が最も小さくなる三角形を検出し、検出された三角形を構成する3点の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省く請求項8に記載された画像処理方法。
【請求項10】
前記切り抜き用輪郭決定ステップは、
前記重要度が低いと判断された輪郭点を省く処理を繰り返した結果、輪郭点の数が所定個以下になったら終了する請求項7〜9のいずれかに記載された画像処理方法。
【請求項11】
前記輪郭点抽出ステップにより抽出された複数の輪郭点を一つ又は複数個おきに省く間引ステップをさらに含み、
前記切り抜き用輪郭決定ステップは、前記間引ステップ後の輪郭点に対して実行される請求項7〜10のいずれかに記載された画像処理方法。
【請求項12】
前記輪郭点抽出ステップにより抽出された輪郭点を各輪郭点の隣接点の位置に応じて平滑化する平滑化ステップをさらに含み、
前記切り抜き用輪郭決定ステップは、前記平滑化ステップ後の輪郭点に対して実行される請求項7〜11のいずれかに記載された画像処理方法。
【請求項13】
前記選択された画像領域は、所定の基準に基づき画像中の注目領域を抽出する技術を用いて元画像から抽出される請求項1〜12のいずれかに記載された画像処理方法。
【請求項14】
前記画像を切り抜くための輪郭として決定した複数の楕円又は真円の外縁又は多角形に関するデータをベクタデータとして記憶部に記憶する請求項1〜13のいずれかに記載された画像処理方法。
【請求項15】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置。
【請求項16】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化変換部と、
前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋め処理部と、をさらに備える請求項15に記載された画像処理装置。
【請求項17】
2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置。
【請求項18】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める処理と、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する処理と、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラム。
【請求項19】
2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する処理と、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する処理と、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラム。
【請求項20】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第1の切り抜き用輪郭決定部と、を有し、
前記2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第2の切り抜き用輪郭決定部と、を有し、さらに、
前記第1の切り抜き用輪郭決定部により決定された第1の輪郭と前記第2の切り抜き用輪郭決定部により決定された第2の輪郭とのいずれかを選択する選択部を備えた画像処理システム。
【請求項21】
前記選択部は、
ランダムに選択するか、
前記第1の輪郭内の総面積と前記第2の輪郭内の総面積との比に基づき選択するか、
前記第1の輪郭又は前記第2の輪郭の少なくともいずれかの形状に基づき選択するか、
前記2値化後の第1の画素領域に対する前記第1の輪郭の形状及び前記第2の輪郭の形状の誤差に基づき選択するか、
のいずれかの条件に従い、前記第1の輪郭及び前記第2の輪郭のいずれかを選択する請求項20に記載された画像処理システム。
【請求項1】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換ステップと、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出ステップと、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法。
【請求項2】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、既に描画した楕円又は真円内に位置する点を重要度が低いと判断して省く請求項1に記載された画像処理方法。
【請求項3】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、各点の画素の距離値が所与の閾値以下の点を重要度が低いと判断して省く請求項1又は請求項2のいずれかに記載された画像処理方法。
【請求項4】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、前記選択された画像領域を左上から順に走査して検出された点の順に各点の画素の距離値に応じた楕円又は真円を描画する請求項1〜3のいずれかに記載された画像処理方法。
【請求項5】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の点のうち、前記距離値の大きい画素の点の順にその距離値に応じた楕円又は真円を所定個描画する請求項1〜3のいずれかに記載された画像処理方法。
【請求項6】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化ステップと、
前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋めステップと、をさらに含み、
前記距離変換ステップは、前記穴埋めステップにより穴埋めされた第1の画素領域の各第1の画素から前記第2の画素領域までの距離値を求める請求項1〜5のいずれかに記載された画像処理方法。
【請求項7】
2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出ステップと、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出ステップと、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定ステップと、を含む画像処理方法。
【請求項8】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の輪郭点のうち、隣接する3点以上の輪郭点から構成される多角形の面積が最も小さくなる多角形を検出し、検出された多角形を構成する3点以上の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省く請求項7に記載された画像処理方法。
【請求項9】
前記切り抜き用輪郭決定ステップは、
前記抽出された複数の輪郭点のうち、隣接する3点の輪郭点から構成される三角形の面積に対して、当該三角形が前記複数の輪郭点の隣接点同士を繋いだ多角形の凸部又は凹部のいずれを形成するかにより異なる重み付けをし、重み付け後の面積が最も小さくなる三角形を検出し、検出された三角形を構成する3点の輪郭点の中間に位置する輪郭点を重要度が低いと判断して省く請求項8に記載された画像処理方法。
【請求項10】
前記切り抜き用輪郭決定ステップは、
前記重要度が低いと判断された輪郭点を省く処理を繰り返した結果、輪郭点の数が所定個以下になったら終了する請求項7〜9のいずれかに記載された画像処理方法。
【請求項11】
前記輪郭点抽出ステップにより抽出された複数の輪郭点を一つ又は複数個おきに省く間引ステップをさらに含み、
前記切り抜き用輪郭決定ステップは、前記間引ステップ後の輪郭点に対して実行される請求項7〜10のいずれかに記載された画像処理方法。
【請求項12】
前記輪郭点抽出ステップにより抽出された輪郭点を各輪郭点の隣接点の位置に応じて平滑化する平滑化ステップをさらに含み、
前記切り抜き用輪郭決定ステップは、前記平滑化ステップ後の輪郭点に対して実行される請求項7〜11のいずれかに記載された画像処理方法。
【請求項13】
前記選択された画像領域は、所定の基準に基づき画像中の注目領域を抽出する技術を用いて元画像から抽出される請求項1〜12のいずれかに記載された画像処理方法。
【請求項14】
前記画像を切り抜くための輪郭として決定した複数の楕円又は真円の外縁又は多角形に関するデータをベクタデータとして記憶部に記憶する請求項1〜13のいずれかに記載された画像処理方法。
【請求項15】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置。
【請求項16】
元画像から所定の基準に基づいて選択された画像領域を画像の切り抜き対象側の第1の画素領域とバックグラウンド側の第2の画素領域とに2値化する2値化変換部と、
前記第1の画素領域に囲まれた第2の画素を前記第1の画素の数値に変換することにより、第1の画素領域の穴を埋める穴埋め処理部と、をさらに備える請求項15に記載された画像処理装置。
【請求項17】
2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する切り抜き用輪郭決定部と、を備える画像処理装置。
【請求項18】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める処理と、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する処理と、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラム。
【請求項19】
2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する処理と、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する処理と、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する処理と、をコンピュータに実現させるためのプログラム。
【請求項20】
2値化された画像の切り抜き対象側の第1の画素領域からバックグラウンド側の第2の画素領域までの距離値を求める距離変換部と、
前記各第1の画素の距離値に応じて第1の画素領域の骨格を示す複数の点を抽出する骨格抽出部と、
前記抽出された複数の点のうち、所定の条件に基づいて重要度が低いと判断される点を省きながら、省かれなかった点の位置を中心として点毎の画素の距離値に応じた楕円又は真円を描画し、描画した複数の楕円又は真円の外縁を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第1の切り抜き用輪郭決定部と、を有し、
前記2値化された画像の切り抜き対象側の第1の画素領域のうち、最大領域を抽出する最大画像抽出部と、
前記抽出された第1の画素の最大領域の輪郭点を複数抽出する輪郭点抽出部と、
前記抽出された複数の輪郭点のうち所定の条件に基づいて重要度の低い輪郭点を省きながら、省かれなかった輪郭点の隣接点同士を繋いだ多角形を前記切り抜き対象側の画像を切り抜くための輪郭として決定する第2の切り抜き用輪郭決定部と、を有し、さらに、
前記第1の切り抜き用輪郭決定部により決定された第1の輪郭と前記第2の切り抜き用輪郭決定部により決定された第2の輪郭とのいずれかを選択する選択部を備えた画像処理システム。
【請求項21】
前記選択部は、
ランダムに選択するか、
前記第1の輪郭内の総面積と前記第2の輪郭内の総面積との比に基づき選択するか、
前記第1の輪郭又は前記第2の輪郭の少なくともいずれかの形状に基づき選択するか、
前記2値化後の第1の画素領域に対する前記第1の輪郭の形状及び前記第2の輪郭の形状の誤差に基づき選択するか、
のいずれかの条件に従い、前記第1の輪郭及び前記第2の輪郭のいずれかを選択する請求項20に記載された画像処理システム。
【図1】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2A】
【図2B】
【図10A】
【図10B】
【図10C】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2A】
【図2B】
【図10A】
【図10B】
【図10C】
【公開番号】特開2010−61500(P2010−61500A)
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願番号】特願2008−227881(P2008−227881)
【出願日】平成20年9月5日(2008.9.5)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願日】平成20年9月5日(2008.9.5)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]