JP2008299673A - 画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法 - Google Patents

画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法 Download PDF

Info

Publication number
JP2008299673A
JP2008299673A JP2007146188A JP2007146188A JP2008299673A JP 2008299673 A JP2008299673 A JP 2008299673A JP 2007146188 A JP2007146188 A JP 2007146188A JP 2007146188 A JP2007146188 A JP 2007146188A JP 2008299673 A JP2008299673 A JP 2008299673A
Authority
JP
Japan
Prior art keywords
block
image
area
image processing
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007146188A
Other languages
English (en)
Other versions
JP4890351B2 (ja
Inventor
Kei Iwata
圭 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2007146188A priority Critical patent/JP4890351B2/ja
Publication of JP2008299673A publication Critical patent/JP2008299673A/ja
Application granted granted Critical
Publication of JP4890351B2 publication Critical patent/JP4890351B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)
  • Character Discrimination (AREA)

Abstract

【課題】複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出し、より文字認識に適した二値画像を生成することを可能にする。
【解決手段】多値画像データを取得する画像取得部11と、当該多値画像のデータに対応する多値画像をブロックに分割する画像分割部13と、各ブロックについてエッジの有無を検出するエッジ検出部15と、エッジが検出されたブロックについて、二値化閾値を算出する二値化閾値算出部16と、エッジの有無の情報、またはエッジの有無の情報および二値化閾値に基づいて、対象とするブロックが、通常ブロックか、反転ブロックか、を判定するブロック判定部17と、判定結果に基づいてブロックを連結して領域を作成する領域作成部18とを備える。
【選択図】図1

Description

本発明は、特に明度反転文字を認識するための画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法に関するものである。
従来から、スキャナ等によって入力された文書画像を解析して文字データを抽出し、電子テキスト化する光学文字認識(OCR:Optical Character Recognition)を行う画像処理装置が知られている。近年では、携帯情報端末等の普及により、携帯情報端末に備えられている撮像装置によって入力された文書画像から文字データを抽出し、電子テキスト化する光学文字認識の技術も普及してきている。
しかしながら、携帯情報端末等に備えられている撮像装置によって入力された画像を二値化するために、画像全体として前景色と背景色とを分離して二値画像を生成することは難しい。なぜなら、携帯情報端末等に備えられている撮像装置によって入力された画像は、スキャナ等によって入力された画像とは異なり、光源の位置および強さ等の撮像状況によって、紙面上では同じ明度であっても、入力画像においては明度にむらができるためである。また、スキャナ等によって入力された画像であっても、複数の前景色および背景色を持つ画像を二値化する場合に、画像全体として前景色と背景色を分離することは困難である。そこで、この問題を解決するため、画像全体をマトリクス状のブロックに分割し、分割したブロックごとに画素の二値化を行うという方法が知られている。
一方、文字認識を行う紙面においては、白地に黒などのように、文字は地よりも低い明度で書かれることが一般的であるが、文書の一部の文字を強調する目的で、地と文字との明度を逆転させる場合がある。上述したような、地と文字との明度を逆転させた領域である明度反転領域を含む画像において、明度反転領域に該当する文字部分は重要であることが多いにもかかわらず、明度反転領域を認識することは難しい。なぜなら、文字認識を行う画像処理装置は、一般的に、入力多値画像を前景色と背景色とに分離して二値画像を生成し、前景に描かれた部分を文字として文字認識を行うため、二値画像の前景と背景との画素値が逆転している明度反転領域については文字として文字認識されないためである。
この問題を解決するため、例えば、特許文献1では、明度反転領域を判定する画像処理装置が開示されている。すなわち、特許文献1の画像処理装置では、二値化した画像について、黒画素の連結成分の外接矩形を抽出して明度反転領域候補とし、明度反転領域候補内の白画素と黒画素との比率をもとに、明度反転領域を判定する構成が開示されている。
特開2002−279345号公報(平成14年9月27日公開)
しかしながら、特許文献1に開示の画像処理装置では、明度反転領域として判定できる領域の形状が矩形である場合に限られているという問題点を有している。例えば、特許文献1に開示の画像処理装置は、図18(b)に示したような四角形の形状を有する明度反転領域に対して、外接矩形の抽出を行って明度反転領域候補とした場合には、明度判定領域であるか否かの判定を適切に行うことができる。しかしながら、特許文献1に開示の画像処理装置は、図18(a)に示したような楕円の形状を有する明度反転領域に対して、外接矩形の抽出を行って明度反転領域候補とした場合、明度反転領域外の画素も明度反転領域候補内に大幅に含んでしまい、白画素の割合が大きくなってしまうため、明度判定領域であるか否かの判定を適切に行うことができないという問題点が生じる。また、仮に明度反転領域であると判定できたとしても、明度反転領域外の画素も明度反転領域として抽出してしまい、文字認識に適した二値画像を生成することが困難になるという問題点が生じる。
新聞、雑誌等の複雑なレイアウトをもつ紙面においては、明度反転領域も楕円、中抜き、菱形等のさまざまな形状を有することが考えられるため、特許文献1に開示の画像処理装置では、上述したような問題点が頻繁に生じるものと思われる。
本発明は、上記従来の問題点に鑑みなされたものであって、その目的は、複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出し、より文字認識に適した二値画像を生成することを可能にする画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法を提供することにある。
本発明の画像処理装置は、上記課題を解決するために、多値画像のデータを取得する画像取得手段と、当該多値画像のデータに対応する多値画像を、複数の画素からなる、マトリクス状のブロックに分割する画像分割手段と、上記画像分割手段によって得られた各ブロックについて、エッジの有無を検出するエッジ検出手段と、上記エッジ検出手段によってエッジが検出されたブロックについて、画像の二値化のための閾値である二値化閾値を算出する二値化閾値算出手段と、上記エッジ検出手段で検出したエッジの有無の情報、または上記エッジの有無の情報および上記二値化閾値算出手段で算出した二値化閾値に基づいて、対象とするブロックが、前景の画素が背景の画素よりも低い明度になっているブロックである通常ブロックか、前景の画素が背景の画素よりも高い明度になっているブロックである反転ブロックか、を判定するブロック判定手段と、上記ブロック判定手段で得られた判定結果に基づいて、上記ブロックを連結して領域を作成する領域作成手段とを備えることを特徴としている。
また、本発明の画像処理方法では、上記課題を解決するために、多値画像のデータを取得する画像取得ステップと、当該多値画像のデータに対応する多値画像をマトリクス状のブロックに分割する画像分割ステップと、上記画像分割ステップによって得られた各ブロックについて、エッジの有無を検出するエッジ検出ステップと、上記エッジ検出ステップによってエッジが検出されたブロックについて、画像の二値化のための閾値である二値化閾値を算出する二値化閾値算出ステップと、上記エッジ検出ステップで検出したエッジの有無の情報、または上記エッジの有無の情報および上記二値化閾値算出ステップで算出した二値化閾値に基づいて、対象とするブロックが、前景の画素が背景の画素よりも低い明度になっているブロックである通常ブロックか、前景の画素が背景の画素よりも高い明度になっているブロックである反転ブロックか、を判定するブロック判定ステップと、上記ブロック判定ステップで得られた判定結果に基づいて、上記ブロックを連結して領域を作成する領域作成ステップとを含むことを特徴としている。
上記の発明によれば、画像分割手段によって多値画像を分割したブロックごとに、ブロック判定手段が、前景の画素が背景の画素よりも低い明度になっているブロックである通常ブロックか、前景の画素が背景の画素よりも高い明度になっているブロックである反転ブロックかを判定し、領域作成手段によって、判定結果に基づいて上記ブロックを連結して領域を作成する構成になっている。よって、判定結果に基づいて反転ブロックからなる領域を作成すれば、矩形以外の形状の明度反転領域を抽出することができる。
さらに、上記の発明によれば、エッジの有無を検出するエッジ検出手段によって検出したエッジの有無の情報、または上記エッジの有無の情報および上記二値化閾値算出手段で算出した二値化閾値に基づいて、ブロック判定手段が、各ブロックについて通常ブロックか反転ブロックかの判定を行う構成になっている。よって、ブロック内に明度反転領域と明度反転領域でない領域とを含んでいた場合であっても、エッジの有無の情報によって、明度反転領域と明度反転領域でない領域とを含んでいるか否かを判定するとともに、二値化閾値を利用して、各ブロックについて通常ブロックか反転ブロックかの判定を行うことができる。従って、複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出することが可能である。また、本発明によって抽出した明度反転領域をもとに二値画像を生成した場合には、複雑な形状をもつ明度反転領域を、より適切に抽出した明度反転領域をもとに二値画像を生成することになるので、より文字認識に適した二値画像を生成することが可能になる。
その結果、複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出し、より文字認識に適した二値画像を生成することを可能にする。
また、本発明の画像処理装置では、前記領域が、前景の画素が背景の画素よりも低い明度になっている領域である通常領域か、前景の画素が背景の画素よりも高い明度になっている領域である反転領域か、を判定する領域判定手段をさらに備えることが好ましい。
これにより、領域判定手段によって、領域作成手段で作成した領域が、前景の画素が背景の画素よりも低い明度になっている領域である通常領域か、前景の画素が背景の画素よりも高い明度になっている領域である反転領域かを判定するので、領域作成手段で作成した領域が、明度反転領域であるか否かを判定することが可能になる。
また、本発明の画像処理装置では、前記領域判定手段は、前記領域に含まれる通常ブロックと反転ブロックとの比率に基づいて、前記領域が、前記通常領域か、前記反転領域か、を判定することが好ましい。
これにより、領域判定手段が、領域に含まれる通常ブロックと反転ブロックとの比率に基づいて、領域が通常領域であるのか、反転領域であるのかを判定するので、通常ブロックが含まれる領域であっても、反転ブロックの比率が高い領域を反転領域、すなわち明度反転領域として判定することが可能になる。よって、領域が明度反転領域であるかどうかをさらに精度良く判定することが可能になる。
また、本発明の画像処理装置では、前記領域作成手段は、前記ブロック判定手段で得られた判定結果に基づいて、前記反転ブロックを連結して前記領域を作成することが好ましい。
これにより、領域作成手段が、ブロック判定手段で得られた判定結果に基づいて、反転ブロックを連結して領域を作成するので、多値画像を分割したブロックを利用して、反転ブロックからなる複雑な形状の領域を作成することができる。すなわち、複雑な形状の明度反転領域を作成して、明度反転領域を抽出することが可能なる。
また、本発明の画像処理装置では、前記領域作成手段は、前記連結した反転ブロックの数が所定の数以上であった場合に前記領域を作成することが好ましい。
これにより、領域作成手段は、連結した反転ブロックの数が所定の数以上であった場合に領域を作成するので、連結した反転ブロックの数が所定の数よりも少ない場合には領域を作成しないことになる。よって、上記所定の数を、明度反転領域として作成しても意味が無い小領域にしかならない数とすれば、明度反転領域として作成しても意味が無い小領域を、作成する領域のうちから除くことが可能になる。
また、本発明の画像処理装置では、前記領域作成手段は、さらに、前記連結した反転ブロックに挟まれた前記通常ブロックを、上記連結した反転ブロックに加えて前記領域を作成することが好ましい。
これにより、領域作成手段が、連結した反転ブロックに挟まれた通常ブロックを、連結した反転ブロックに加えて領域を作成するので、反転ブロックに通常ブロックが挟まれているような箇所を部分的に補間し、明度反転領域を作成して明度反転領域を抽出することが可能になる。よって、明度反転領域をさらに精度良く抽出することが可能になる。
また、本発明の画像処理装置では、前記エッジ検出手段で検出した前記エッジの有無の情報、および前記領域判定手段で判定した通常領域と反転領域とのうちのいずれに前記ブロックが属しているかの情報、または上記エッジの有無の情報、上記通常領域と反転領域とのうちのいずれに上記ブロックが属しているかの情報、および前記二値化閾値算出手段で算出した前記二値化閾値に基づいて、上記ブロックごとに、上記ブロック内の各画素を、黒画素もしくは白画素として二値化を行い、前記多値画像に対応する二値画像を出力する二値画像生成手段をさらに備えることが好ましい。
これにより、エッジの有無の情報、および通常領域と反転領域とのうちのいずれにブロックが属しているかの情報、またはエッジの有無の情報、通常領域と反転領域とのうちのいずれにブロックが属しているかの情報、および二値化閾値に基づいて、ブロックごとに、ブロック内の各画素を、黒画素もしくは白画素として二値化を行うので、ブロック内にエッジが存在するか否か、ブロックが通常領域に属しているか、または反転領域に属しているかに応じて、ブロック内の各画素を黒画素もしくは白画素に二値化することが可能になる。よって、明度反転領域の各画素と通常領域の各画素とを区別して、文字認識に適した二値画像を生成することが可能になる。
なお、前記画像処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記各手段として動作させることにより上記画像処理装置をコンピュータにて実現させる画像処理プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明によれば、画像分割手段によって多値画像を分割したブロックごとに、通常ブロックか反転ブロックかを判定し、領域作成手段によって、判定結果に基づいて上記ブロックを連結して領域を作成するので、判定結果に基づいて反転ブロックからなる領域を作成すれば、矩形以外の形状の明度反転領域を抽出することができる。
さらに、本発明によれば、ブロック内に明度反転領域と明度反転領域でない領域とを含んでいた場合であっても、エッジの有無の情報によって、明度反転領域と明度反転領域でない領域とを含んでいるか否かを判定するとともに、二値化閾値を利用して、各ブロックについて通常ブロックか反転ブロックかの判定を行うことができる。よって、複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出することが可能である。また、本発明によって抽出した明度反転領域をもとに二値画像を生成した場合には、複雑な形状をもつ明度反転領域を、より適切に抽出した明度反転領域をもとに二値画像を生成することになるので、より文字認識に適した二値画像を生成することが可能になる。
従って、複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出し、より文字認識に適した二値画像を生成することを可能にするという効果を奏する。
〔実施の形態1〕
本発明の一実施形態について図1ないし図5に基づいて説明すれば、以下の通りである。なお、以下の説明に用いる図面は、同一の部材または同一の機能のものについては同一の符号を付してある。従って、それらについての詳細な説明は繰り返さない。
最初に、図1を用いて画像処理装置1の構成の概要について説明を行う。図1は、本実施の形態における画像処理装置1の概略的構成を示す機能ブロック図である。画像処理装置1は、図1に示すように、画像取得部(画像取得手段)11、画像メモリ12、画像分割部(画像分割手段)13、ブロック情報メモリ14、エッジ検出部(エッジ検出手段)15、二値化閾値算出部(二値化閾値算出手段)16、ブロック判定部(ブロック判定手段)17、および領域作成部(領域作成手段)18を備えている。
まず、画像取得部11は、スキャナで読み込んだ画像の多値画像データ、カメラなどの撮像装置で撮影した画像の多値画像データ等を取得するものである。また、画像メモリ12は、画像取得部11で取得された画像のデータを多値画像データとして記憶(格納)するものである。なお、ここで言うところの多値画像データとしては、フルカラーの画像のデータであってもよいし、白黒の二値画像を複数の濃度段階で表現する画像のデータであってもよい。
画像分割部13は、画像メモリ12に記憶された多値画像データに対応する多値画像をマトリクス状のブロックに分割するものである。また、ブロック情報メモリ14は、画像分割部13で分割されたブロックの情報(ブロック情報)などを記憶(格納)するものである。なお、ここで言うところのブロックとは、複数の画素からなるものである。また、ブロック情報メモリ14に格納する他の情報については後述する。ここで、画像分割部13では、実際に多値画像をブロックに分割したブロック画像を生成する必要はなく、個々のブロック画像の多値画像上での座標を求め、求めた座標の情報(座標情報)を、ブロック情報メモリ14に記憶させる構成であればよい。なお、分割する数、各ブロックの大きさは任意に設定可能なものである。しかしながら、ブロックの大きさが小さすぎる場合には、ブロック内の文字(前景)の領域の画素数と背景の領域の画素数との偏りが大きくなりやすくなることにより、二値化の閾値(二値化閾値)の算出が難しくなるといった問題が生じたり、ブロックが文字の線に含まれて、その部分の中抜けが発生する問題などが生じたりする。一方、ブロックの大きさが大きすぎればブロックを連結して複雑な形状をもつ明度反転領域を抽出することが難しくなる問題が生じる。従って、ブロックの大きさは、二値化閾値を算出するために十分な画素数をもつ程度の範囲に設定することが好ましい。また、分割する数、ブロックの大きさは、従来の画素の二値化を行う場合のブロックの分割の基準に従ったものであってもよい。
エッジ検出部15は、画像メモリ12に格納されている多値画像データとブロック情報メモリ14に格納されているブロック情報とに基づいて、分割した各ブロックのそれぞれにエッジがあるか否かを検出するものである。なお、エッジとは、画像中で明るさ、または色が急激に変化する境界を表している。また、エッジの検出方法としては、画像の一次微分を用いるもの、および画像の二次微分を用いるものなどの様々な手法があるが、ここでは、どのような手法を用いても構わない。
二値化閾値算出部16は、画像メモリ12に格納されている多値画像データとブロック情報メモリ14に格納されているブロック情報とに基づいて、分割した各ブロックのそれぞれの二値化閾値を算出するものである。なお、ここで言うところの二値化閾値とは、多値画像を二値化するための閾値である。また、二値化閾値の算出方法としては、2つのクラス間分散が最大になるように閾値を設定する判別分析法などがあるが、ここでは、どのような手法を用いても構わない。また、二値化閾値算出部16は、ブロックごとに算出した二値化閾値とともに、エッジ検出部15で検出した、ブロックごとのエッジがあるか否かの情報をブロック判定部17に送るものである。
ブロック判定部17は、画像メモリ12に格納されている多値画像データ、ブロック情報メモリ14に格納されているブロック情報、エッジ検出部15で検出した、ブロックごとのエッジがあるか否かの情報(エッジの有無の情報)、および二値化閾値算出部16で算出した、ブロックごとの二値化閾値に基づいて、分割した各ブロックが通常ブロックであるか反転ブロックであるかを判定し、各ブロックが反転ブロックであるか通常ブロックであるかの情報(ブロック判定情報)をブロック情報メモリ14に格納するものである。
そして、領域作成部18は、ブロック情報メモリ14を参照して各ブロックが反転ブロックであるか通常ブロックであるかの情報を取得し、分割した各ブロックのうち反転ブロックを連結して領域を作成するものである。
次に、図2を用いて、画像処理装置1での処理の流れについて説明を行う。図2は、画像処理装置1での動作フローを示すフローチャートである。
まず、ステップS1では、利用者がカメラで撮影したり、スキャナで読み取ったりなどした、文字を含む画像(文書画像)のデータを画像取得部11が取得し、画像メモリ12に多値画像データとして記憶して、ステップS2に移る。ステップS2では、画像分割部13は、画像メモリ12に記憶された多値画像データをマトリックス状のブロックに分割して、ステップS3に移る。
ステップS3では、画像メモリ12に記憶された多値画像データとブロック情報メモリ14に記憶されたブロックの座標情報とを参照して、各ブロックの画像データであるブロック画像データを得る。そして、全ブロックについて、前景が背景よりも低い明度で描かれたブロック(前景の画素が背景の画素よりも低い明度になっているブロック)である通常ブロックか、前景が背景よりも高い明度で描かれたブロック(前景の画素が背景の画素よりも高い明度になっているブロック)である反転ブロックかを判定して、各ブロックが通常ブロックと反転ブロックとのうちのどちらであるかの情報(ブロック判定情報)をブロック情報メモリ14に記憶する。なお、ここで言うところの前景、背景とは、画像処理の分野において一般的に定義されている前景、背景を表しているが、本実施の形態では、具体例として文書画像の文字、図、罫線などの意味のある部分を前景、それ以外の部分を背景として説明を行っている。
続いて、ステップS4では、領域作成部18がブロック情報メモリ14を参照して、ステップS3の判定で得たブロック判定情報に基づいて、反転ブロック同士を連結してラベリング(ラベルの付加)を行う。そして、反転ブロックに付加したラベルの情報(ラベル情報)を、ブロック情報メモリ14に記憶する。なお、ブロックを連結する処理にはさまざまな手法が考えられるが、ここでは、8方向に連結しているブロックに同じラベルを付加する、8近傍によるラベリング処理を用いる場合を例にあげて説明を行う。
さらに、ステップS5では、領域作成部18が、明度反転領域として抽出しても意味のない小領域を除くために、ブロック情報メモリ14に記憶された個々のラベルに属するブロック数を得て、個々のラベルに属するブロック数が所定数以下であるラベルについては、ラベルを削除する。そして、最終的にラベルが付加されていないブロックが、通常領域として抽出され、最終的にラベルが付加されているブロックが反転領域として抽出されることになる。なお、ここで言うところの所定数とは任意に設定可能な数であって、ブロックのサイズ、文書画像の認識対象とする文字のサイズなどによって定められるものである。一例としては、ブロックを連結した領域が、認識対象とする文字が含まれる程度の大きさでない場合のブロック数を所定数として定めることが挙げられる。
次に、図3を用いて、ステップS3での処理(ブロック判定処理)の流れの詳細について説明を行う。図3は、画像処理装置1での動作フローの一部の詳細を示すフローチャートである。以下では、マトリックス状に分割したi行j列(0≦i<N,0≦j<M;ただしNは縦方向の分割数、Mは横方向の分割数を表す)のブロックをB[i][j]とし、B[i][j]の二値化閾値を保持する配列をT[i][j]とする。ただしT[i][j]には、B[i][j]にエッジがある場合は0より大きい二値化閾値を格納し、B[i][j]にエッジがない場合は0を格納することにより、B[i][j]にエッジがあるかないかという情報ももつこととする。
まず、ステップS31では、iに0、jに0を代入し、ステップS32に移る。ステップS32では、i行j列のB[i][j]のブロックのブロック画像データを取得し、ステップS33に移る。ステップS33では、T[i][j]の値を0に初期化し、ステップS34に移る。
ステップS34では、エッジ検出部15が、B[i][j]のブロックのエッジの検出を行う。そして、B[i][j]のブロックにエッジが検出された場合(ステップS34でYes)には、ステップS35に移る。また、B[i][j]のブロックにエッジが検出されなかった場合(ステップS34でNo)には、ステップS36に移る。
ステップS35では、二値化閾値算出部16が、B[i][j]のブロックのブロック画像データの二値化閾値を算出してT[j][j]の値として代入し、ステップS40に移る。また、ステップS36では、B[i][j]のjが0(つまり、B[i][j]が左端のブロック)であった場合(ステップS36でYes)には、ステップS37に移る。一方、B[i][j]のjが0でなかった場合(ステップS36でNo)には、ステップS38に移る。
ステップS37では所定の閾値を取得し、ステップS40に移る。なお、ここで言うところの所定の閾値とは、ブロック内がほぼ同じような明度の画素で構成されている場合、それらの画素を黒とするのか白とするのかを判定するための二値化閾値であって、明度の最小値と最大値との間で妥当な値を定めて設定されるものである。また、ここで言うところの所定の閾値は、固定値として予め設定されて画像処理装置1の図示しないメモリに保持されているものとする。
ステップS38では、T[i][j−1]の値が0でなかった(すなわち、直前に判定したブロックにエッジがある)場合(ステップS38でYes)には、ステップS39に移る。また、T[i][j−1]の値が0であった(すなわち、直前に判定したブロックにエッジがない)場合(ステップS38でNo)には、ステップS43に移る。ステップS39では、既に算出されているB[i][j-1]の二値化閾値であるT[i][j−1]の値を取得し、ステップS40に移る。
ステップS40では、ブロック判定部17が、ブロック画像データ内の画素について、明度が閾値(ステップS35、ステップS37、ステップS39のいずれかの経路によって取得した値、つまり、ステップS35のT[j][j]の値、ステップS39のT[i][j−1]の値、またはステップS37の所定の閾値)よりも高い画素の割合が所定の割合以上であるか否かを調べ、所定の割合以上であった場合(ステップS40でYes)には、ステップS41に移る。また、所定の割合でなかった場合には、ステップS42に移る。なお、ここで言うところの所定の割合とは、当該閾値よりも明度の高い画素と低い画素との割合により、どちらが背景であるかを決定するための値であって、任意に設定可能な値である。一例としては、どちらが多いか、すなわち、どちらが50%以上であるかを所定の割合以上として定めることが挙げられる。
ステップS41では、ブロック判定部17が、B[i][j]のブロックを通常ブロックと判定して、ステップS44に移る。また、ステップS42では、ブロック判定部17が、B[i][j]のブロックを反転ブロックとして判定して、ステップS44に移る。さらに、ステップS43では、B[i][j−1]が通常ブロックであった場合に、B[i][j]を通常ブロック、B[i][j−1]が反転ブロックであった場合に、B[i][j]を反転ブロックとブロック判定部17が判定し、ステップS44に移る。
ステップS44では、jに1を加算し、ステップS45に移る。ステップS45では、ブロック判定部17が、jがMよりも小さいか否か(すなわち、i行でまだ処理が行われていないブロックがあるか否か)を判定する。そして、jがMよりも小さかった場合(ステップS44でYes)には、ステップS32に戻って、次のブロックの処理を開始する。また、jがMよりも小さくなかった場合(ステップS44でNo)には、ステップS46に移る。
ステップS46では、iに1を加算するとともに、jに0を代入して、ステップS47に移る。ステップS47では、ブロック判定部17が、iがNよりも小さいか否か(すなわち、まだ処理の行われていない行があるか否か)を判定する。そして、iがNよりも小さかった場合(ステップS47でYes)には、ステップS32に戻って、次の行の処理を開始する。また、iがNよりも小さくなかった場合(ステップS47でNo)には、フローを終了する。
ここで、以上のステップS3のブロック判定処理を、図4に示すような、ブロック分割した画像に対して行った場合の具体例を以下で説明する。
ステップS31からステップS32では、B[0][0]のブロックのブロック画像データを取得し、ステップS33では、T[0][0]の値を0に初期化する。続いて、ステップS34では、B[0][0]のブロックにはエッジがないことを検出し、ステップS36に移る。ステップS36では、j=0であるため、ステップS37に移り、ステップS37では、所定の閾値を取得してステップS40に移る。
ステップS40では、閾値(ステップS37の所定の閾値)とB[0][0]のブロックのブロック画像データ内の画素の明度との比較を行う。B[0][0]は、図4から明らかなように、ブロック全体が明度の高い画素で構成されているため、ステップS41に移り、B[0][0]のブロックを通常ブロックと判定する。
また、B[0][1]のブロックについての処理は、ステップS36までは、B[0][0]のブロックと同様にフローが進むが、B[0][1]のブロックは左端のブロックではないため、ステップS36からステップS38に移る。続いて、ステップS38では、T[0][0]の値が0であるため、ステップS43に移る。そして、ステップS43では、B[0][1]のブロックをB[0][0]のブロックと同種類のブロック、すなわち通常ブロックと判定する。
さらに、B[0][2]のブロックについての処理は、ステップS34まではB[0][0]およびB[0][1]のブロックと同様にフローが進むが、ステップS34でエッジがあることが検出されて、ステップS35に移る。ステップS35では、B[0][2]のブロックのブロック画像データの二値化閾値を算出してT[0][2]の値として代入し、ステップS40に移る。そして、ステップS40では、閾値(ステップS35のT[j][j]の値)とB[0][2]のブロックのブロック画像データ内の画素の明度との比較を行う。B[0][2]のブロックは、図4から明らかなように、明度の高い画素の比率が高いため、ステップS41に移り、B[0][2]のブロックを通常ブロックと判定する。
B[0][3]のブロックについては、B[0][2]のブロックと同様の処理によって、通常ブロックと判定する。
B[0][4]のブロックについての処理は、ステップS40まではB[0][2]のブロックと同様にフローが進み、ステップS40では、閾値(ステップS35のT[j][j]の値)とB[0][4]のブロックのブロック画像データ内の画素の明度との比較を行う。ここで、B[0][4]は、図4から明らかなように、明度の高い画素の比率が低いため、ステップS42に移り、B[0][4]のブロックを反転ブロックと判定する。以上の処理をすべてのブロックについて行い、通常ブロックと反転ブロックとを判定した結果を、例として図5に示す。
図5に示すように、全体画像を分割したブロックを利用して複雑な形状の明度反転領域内の反転ブロックをより正確に判定することができるので、以上の構成によれば、全体画像を分割したブロックを利用して複雑な形状の明度反転領域をより正確に抽出することが可能になる。
〔実施の形態2〕
本発明の他の実施の形態について図6ないし図13に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態1と同じである。また、説明の便宜上、前記の実施の形態1の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。
本実施の形態の画像処理装置1aは、前記実施の形態1の画像処理装置1の構成に加えて、領域判定部(領域判定手段)19が加わった点が異なっている。
最初に、図6を用いて画像処理装置1aの構成の概要について説明を行う。図6は、本実施の形態における画像処理装置1aの概略的構成を示す機能ブロック図である。画像処理装置1aは、図6に示すように、領域判定部19以外は、画像処理装置1と同様の部材を備えている。
画像処理装置1aにおいて、領域作成部18は、分割した各反転ブロックを連結するとともに、連結した反転ブロックに挟まれた通常ブロックを当該反転ブロックに連結し、当該反転ブロックに反転ブロックに挟まれた通常ブロックを加えて領域を作成するものである。また、領域判定部19は、領域に属する通常ブロックと反転ブロックとの比率に基づいて、当該領域が通常領域であるか反転領域であるかを判定するものである。なお、連結した反転ブロックに挟まれた通常ブロックとは、行方向または列方向のいずれかの方向において反転ブロックに挟まれている通常ブロックを表している。
次に、図7を用いて、画像処理装置1aでの処理の流れについて説明を行う。図7は、画像処理装置1aでの動作フローを示すフローチャートである。なお、ステップS1からステップS5までの処理は、前記実施の形態1において説明を行ったものと同様なので、ここでは説明を省略する。
ステップS6では、領域作成部18は、ブロック情報メモリ14を参照して、ブロック判定情報を取得し、所定ブロック数以内の、同じラベルが付加された反転ブロックで挟まれた、ラベルが付加されていない通常ブロックに、同じラベルを付加する処理を行う。
そして、ステップS7では、領域判定部19が、ブロック情報メモリ14を参照し、すべてのラベルについて、属するブロックの通常ブロックと反転ブロックとの比率を計算する。その上で、反転ブロックの割合が所定の割合よりも大きいラベルに属するブロックを反転領域と判定し、それ以外のブロックを通常領域と判定する。
次に、図8を用いて、ステップS6での処理の流れの詳細について説明を行う。図8は、画像処理装置1aでの動作フローの一部の詳細を示すフローチャートである。なお、列方向に行う処理については、以下の処理において行方向と列方向とを逆転させることにより、すなわち、ステップS62、ステップS68からS72において、iとjとを入れ替えるとともに、NとMとを入れ替えることによって実施することができる。
また、以下に述べるL[i][j]は、B[i][j]に付加されたラベルを表すものである。また、ラベルとしては0以外の値(ラベル情報)を使用し、ラベルがないブロックはL[i][j]を0(ラベル情報)とするものとする。なお、0以外の値としては複数の値があり、値の違うラベルが付加されたブロックごとに別の領域を形成することになる。
まず、ステップS61では、iに0、jに0を代入し、ステップS62に移る。ステップS62では、開始ブロックを表す変数Stにjを代入し、ステップS63に移る。そして、ステップS63では、領域作成部18がブロック情報メモリ14からL[i][j]の情報を取得し、ステップS64に移る。なお、ここで言うところの開始ブロックとは、行(または列)方向で同じラベルに挟まれた通常ブロックを見つける本フローの処理において、行(または列)の先頭から走査方向に1ブロックずつずらしていって見つけた通常ブロックを挟んだ同じラベルのブロックの塊の先頭のブロックを表しており、Stはその開始ブロックの座標を表している。
ステップS64では、領域作成部18が、L[i][j]の値が0でないか否か(すなわち、B[i][j]にラベルが付加されているか否か)を調べ、ラベルが付加されていた場合(ステップS64でYes)には、ステップS65に移る。また、ラベルが付加されていなかった場合(ステップS64でNo)には、ステップS69に移る。
ステップS65では、領域作成部18が、L[i][St]の値とL[i][j]の値とが同じか(すなわちB[i][St]のブロックとB[i][j]のブロックとに同じラベルが付加されているか)否かを調べる。そして、L[i][St]の値とL[i][j]の値とが同じであった場合(ステップS65でYes)には、ステップS66に移る。また、L[i][St]の値とL[i][j]の値とが同じでなかった場合(ステップS65でNo)には、ステップS68に移る。
ステップS66では、領域作成部18が、j−Stが2以上かつ所定数以内であるか否かを調べる。そして、j−Stの値が2以上かつ所定数以内であった場合(ステップS66でYes)には、ステップS67に移る。また、j−Stの値が2以上かつ所定数以内でなかった場合(ステップS66でNo)には、ステップS68に移る。ステップS67では、L[i][St+1]からL[i][j−1]までの値として、L[i][St]の値を代入する。すなわち、ラベルのないブロックであるB[i][St+1]のブロックからB[i][j−1]のブロックまでにL[i][St]を付加(ラベリング)し、ステップS68に移る。なお、ここで言うところの所定数とは、反転領域の抽出精度を上げるために、ブロックのサイズ、文書画像の認識対象とする文字のサイズなどによって定められるものであって、任意に設定可能な数である。一例として、太目の認識対象文字の中抜けが発生しない程度の数を所定数として定めることが挙げられる。
ステップS68では、開始ブロックを表す変数Stにjを代入し、ステップS69に移る。続いて、ステップS69では、jに1を加算し、ステップS70に移る。そして、ステップS70では、領域作成部18が、jがMよりも小さいか否か(すなわち、i行でまだ処理が行われていないブロックがあるか否か)を判定する。そして、jがMよりも小さかった場合(ステップS70でYes)には、ステップS63に戻って、次のブロックの処理を開始する。また、jがMよりも小さくなかった場合(ステップS70でNo)には、ステップS71に移る。
ステップS71では、iに1を加算するとともに、jに0を代入して、ステップS72に移る。ステップS72では、領域作成部18が、iがNよりも小さいか否か(すなわち、まだ処理の行われていない行があるか否か)を判定する。そして、iがNよりも小さかった場合(ステップS72でYes)には、ステップS63に戻って、次の行の処理を開始する。また、iがNよりも小さくなかった場合(ステップS72でNo)には、フローを終了する。
ここで、以上のステップS6およびステップS7の処理を、図9に示すような、ブロック分割した画像に対して、上述の所定数を4として行った場合の具体例を以下で説明する。なお、図10は、ステップS1からステップS3までの処理により、図9に示すような、ブロック分割した画像について、通常ブロックと反転ブロックとを判定した結果を示す図であり、図11はステップS4からステップS5の処理により、図10に示した反転ブロックのラベリングを行った結果得られた、L[i][j]の値を示す図である。
B[0][0]のブロックについての処理は、ステップS61からステップS63では、Stに0を代入し、L[0][0]の値を取得する。ステップS64では、L[0][0]の値が0であるため、ステップS69に移り、B[0][0]のブロックについての処理を終了する。以上の処理を、B[0][3]のブロックについてまで繰り返し行う。
B[0][4]のブロックについての処理は、ステップS64では、L[0][4]の値が1であるためステップS65に移る。続いて、ステップS65では、L[0][4]の値とL[0][0]の値との比較を行う。ここで、L[0][4]の値が1、L[0][0]の値が0であるため、ステップS68に移る。そして、ステップS68では、Stに4を代入してステップS69に移り、B[0][4]のブロックについての処理を終了する。
B[0][5]のブロックについての処理は、ステップS65では、L[0][5]の値とL[0][4]の値との比較を行う。ここで、L[0][5]の値とL[0][4]の値とが同じであるため、ステップS66に移る。続いて、ステップS66では、j−Stの値が1であるため、ステップS68に移る。以上のように、iが0の場合は、ブロックラベルを変化させることなく処理が進む。
iが1の場合にも同様に処理が進み、B[1][6]のブロックについての処理は、ステップS65では、Stが3でありL[1][6]の値とL[1][3]の値とが等しいため、ステップS66に移る。続いて、ステップS66では、j−Stの値が3であり、2以上かつ所定数の4以内であるため、ステップS67に移る。そして、ステップS67では、L[1][4]からL[1][5]までの値として、L[1][3]の値を代入する。この処理により、ラベル1が付加された反転ブロックで挟まれた通常ブロックB[1][4]とB[1][5]とに、ラベル1が付加されることになる。
なお、以上の処理を図11に示したすべてのブロックについて行った結果を図12に示す。すなわち、図12は、図10に示した反転ブロックで挟まれた通常ブロックに反転ブロックと同じラベルを付加した結果を示す図である。また、ステップS7での処理によって、図12のラベル1が付加されたブロックが反転領域と判定され、最終的に図9に示した画像から抽出された反転領域を図13に示す。
以上の構成によれば、図13に示すように、前記実施の形態1で抽出した明度反転領域を部分的に補完し、より精度良く明度反転領域を抽出することが可能になる。
〔実施の形態3〕
本発明の他の実施の形態について図14ないし図17に基づいて説明すれば、以下の通りである。なお、本実施の形態において説明すること以外の構成は、前記実施の形態2と同じである。また、説明の便宜上、前記の実施の形態2の図面に示した部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。
本実施の形態の画像処理装置1bは、前記実施の形態2の画像処理装置1aの構成に加えて、二値画像生成部(二値画像生成手段)20が加わった点が異なっている。
最初に、図14を用いて画像処理装置1bの構成の概要について説明を行う。図14は、本実施の形態における画像処理装置1bの概略的構成を示す機能ブロック図である。画像処理装置1bは、図14に示すように、二値画像生成部20以外は、画像処理装置1aと同様の部材を備えている。
画像処理装置1bにおいて、二値画像生成部20は、エッジ検出部15で検出したエッジの有無の情報、およびラベル情報、または上記エッジの有無の情報、上記ラベル情報、および上記二値化閾値に基づいて、ブロックごとに、上記ブロック内の各画素を、黒画素もしくは白画素として二値化を行い、上記多値画像に対応する二値画像を出力するものである。
次に、図15を用いて、画像処理装置1bでの処理の流れについて説明を行う。図15は、画像処理装置1bでの動作フローを示すフローチャートである。なお、ステップS1からステップS7までの処理は、前記実施の形態2において説明を行ったものと同様なので、ここでは説明を省略する。
ステップS8では、二値画像生成部20は、画像メモリ12およびブロック情報メモリ14を参照して、個々のブロックについてのブロック画像データ、ラベル情報、およびブロックごとの二値化閾値の値を取得し、ブロックごとに二値画像を生成する。なお、ブロック画像データは、画像メモリ12に格納されている多値画像データとブロック情報メモリ14に格納されているブロック情報とから得ることができる。
次に、図16を用いて、ステップS8での処理(二値画像生成処理)の流れの詳細について説明を行う。図16は、画像処理装置1bでの動作フローの一部の詳細を示すフローチャートである。
まず、ステップS81では、iに0、jに0を代入し、ステップS82に移る。ステップS82では、二値画像生成部20が、T[i][j]が0でないかどうか、すなわちB[i][j]のブロックがエッジのあるブロックか否かを調べ、エッジがあった場合(ステップS82でYes)には、ステップS83に移る。また、エッジがなかった場合(ステップS82でNo)には、ステップS87に移る。
ステップS83では、二値画像生成部20が、B[i][j]のブロックのブロック画像データとT[i][j]の値とを取得し、ステップS84に移る。ステップS84では、二値画像生成部20が、L[i][j]の値が0であるか否か(すなわち、B[i][j]のブロックが通常領域であるか反転領域であるか)を調べ、通常領域であった場合(ステップS84でYes)には、ステップS85に移る。また、反転領域であった場合(ステップS84でNo)には、ステップS86に移る。
ステップS85では、B[i][j]のブロックのブロック画像データ内の画素について、T[i][j]の値よりも明度が低い画素を黒画素、それ以外の画素を白画素として二値化し、ステップS90へ処理が進む。ステップS86では、B[i][j]のブロックのブロック画像データ内の画素について、T[i][j]の値よりも明度が低い画素を白画素、それ以外の画素を黒画素として二値化し、ステップS90に移る。
なお、ステップS85で、T[i][j]の値よりも明度が高い画素を白画素、それ以外の画素を黒画素として二値化する構成であってもよいし、ステップS86で、T[i][j]の値よりも明度が高い画素を黒画素、それ以外の画素を白画素として二値化する構成であってもよい。
一方、ステップS87では、二値画像生成部20が、L[i][j]の値が0であるか否か(すなわち、B[i][j]のブロックが通常領域であるか反転領域であるか)を調べ、通常領域であった場合(ステップS87でYes)には、ステップS88に移る。また、反転領域であった場合(ステップS87でNo)には、ステップS89に移る。ステップS88では、B[i][j]のブロックのブロック画像データ内の画素をすべて白画素として二値化し、ステップS90に移る。ステップS89では、B[i][j]のブロックのブロック画像データ内の画素をすべて黒画素として二値化し、ステップS90に移る。
ステップS90では、jに1を加算し、ステップS91に移る。ステップS91では、二値画像生成部20が、jがMよりも小さいか否か(すなわち、i行でまだ処理が行われていないブロックがあるか否か)を判定する。そして、jがMよりも小さかった場合(ステップS91でYes)には、ステップS82に戻って、次のブロックの処理を開始する。また、jがMよりも小さくなかった場合(ステップS91でNo)には、ステップS92に移る。
ステップS92では、iに1を加算するとともに、jに0を代入して、ステップS93に移る。ステップS93では、二値画像生成部20が、iがNよりも小さいか否か(すなわち、まだ処理の行われていない行があるか否か)を判定する。そして、iがNよりも小さかった場合(ステップS93でYes)には、ステップS82に戻って、次の行の処理を開始する。また、iがNよりも小さくなかった場合(ステップS93でNo)には、フローを終了する。
ここで、図13に示した、図9の画像から反転領域を抽出した結果を参照して、ステップS8の処理(二値画像生成処理)によって生成した二値画像を図17に示す。
以上の構成によれば、図17に示すように、明度反転領域を含む画像であっても、画像全体として前景を黒、背景を白とした、より文字認識に適した二値画像を生成することができる。
また、本実施の形態では、二値画像生成部20が、ブロックごとに前景を黒画素、背景を白画素として二値化を行う構成を示したが、必ずしもこれに限らず、ブロックごとに前景を白画素、背景を黒画素として二値化を行う構成であってもよい。この場合、ステップS81からステップS93までのフローは、白画素と黒画素とを入れ替えて行うようにすればよい。
なお、本実施の形態の画像処理装置1・1a・1bは、文字を含む画像を解析して文字のデータを抽出し、電子テキスト化する光学文字認識を行うための画像処理装置に適用されるものである。本実施の形態の画像処理装置1・1a・1bは、複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出し、より文字認識に適した二値画像を生成することを可能にするので、画像処理装置1・1a・1bを、上記光学文字認識を行うための画像処理装置に適用すれば、複雑な形状をもつ明度反転領域を含む画像からより正確に文字認識を行うことが可能になる。
上記ブロック判定手段で得られた判定結果に基づいて、上記ブロックを連結して領域を作成する領域作成手段とを備えることを特徴とする画像処理装置。
最後に、画像処理装置1・1a・1bの各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、画像処理装置1・1a・1bは、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである画像処理装置1・1a・1bの制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読取り可能に記録した記録媒体を、画像処理装置1・1a・1bに供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、画像処理装置1・1a・1bを通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
なお、本発明は、上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
以上のように、本発明の画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法は、複雑な形状をもつ明度反転領域であっても、より適切に明度反転領域として抽出し、より文字認識に適した二値画像を生成することを可能にする。従って、本発明は、文字認識の機能を有した画像処理装置に関連する産業分野に好適に用いることができる。
本発明における画像処理装置の概略的構成を示す機能ブロック図である。 上記画像処理装置での動作フローを示すフローチャートである。 上記画像処理装置での動作フローの一部の詳細を示すフローチャートである。 ブロック分割した画像の一例を示す図である。 図4に示した画像の通常ブロックと反転ブロックとを判定した結果を示す図である。 本発明における画像処理装置の他の実施の形態の概略的構成を示す機能ブロック図である。 上記画像処理装置での動作フローを示すフローチャートである。 上記画像処理装置での動作フローの一部の詳細を示すフローチャートである。 ブロック分割した画像の一例を示す図である。 図9に示した画像の通常ブロックと反転ブロックとを判定した結果を示す図である。 図10に示した反転ブロックのラベリングを行った結果を示す図である。 図10に示した反転ブロックで挟まれた通常ブロックに反転ブロックと同じラベルを付加した結果を示す図である。 上記画像処理装置によって、図9に示した画像から反転領域を抽出した結果を示す図である。 本発明における画像処理装置のさらに他の実施の形態の概略的構成を示す機能ブロック図である。 上記画像処理装置での動作フローを示すフローチャートである。 上記画像処理装置での動作フローの一部の詳細を示すフローチャートである。 図9に示した画像から二値画像を生成した結果を示す図である。 (a)および(b)は、明度反転領域を含む画像の例である。
符号の説明
1 画像処理装置
1a 画像処理装置
1b 画像処理装置
11 画像取得部(画像取得手段)
12 画像メモリ
13 画像分割部(画像分割手段)
14 ブロック情報メモリ
15 エッジ検出部(エッジ検出手段)
16 二値化閾値算出部(二値化閾値算出手段)
17 ブロック判定部(ブロック判定手段)
18 領域作成部(領域作成手段)
19 領域判定部(領域判定手段)
20 二値画像生成部(二値画像生成手段)

Claims (10)

  1. 多値画像のデータを取得する画像取得手段と、
    当該多値画像のデータに対応する多値画像を、複数の画素からなる、マトリクス状のブロックに分割する画像分割手段と、
    上記画像分割手段によって得られた各ブロックについて、エッジの有無を検出するエッジ検出手段と、
    上記エッジ検出手段によってエッジが検出されたブロックについて、画像の二値化のための閾値である二値化閾値を算出する二値化閾値算出手段と、
    上記エッジ検出手段で検出したエッジの有無の情報、または上記エッジの有無の情報および上記二値化閾値算出手段で算出した二値化閾値に基づいて、対象とするブロックが、前景の画素が背景の画素よりも低い明度になっているブロックである通常ブロックか、前景の画素が背景の画素よりも高い明度になっているブロックである反転ブロックか、を判定するブロック判定手段と、
    上記ブロック判定手段で得られた判定結果に基づいて、上記ブロックを連結して領域を作成する領域作成手段とを備えることを特徴とする画像処理装置。
  2. 前記領域が、前景の画素が背景の画素よりも低い明度になっている領域である通常領域か、前景の画素が背景の画素よりも高い明度になっている領域である反転領域か、を判定する領域判定手段をさらに備えることを特徴とする請求項1に記載の画像処理装置。
  3. 前記領域判定手段は、前記領域に含まれる通常ブロックと反転ブロックとの比率に基づいて、前記領域が、前記通常領域か、前記反転領域か、を判定することを特徴とする請求項2に記載の画像処理装置。
  4. 前記領域作成手段は、前記ブロック判定手段で得られた判定結果に基づいて、前記反転ブロックを連結して前記領域を作成することを特徴とする請求項1、2、または3に記載の画像処理装置。
  5. 前記領域作成手段は、前記連結した反転ブロックの数が所定の数以上であった場合に前記領域を作成することを特徴とする請求項4に記載の画像処理装置。
  6. 前記領域作成手段は、さらに、前記連結した反転ブロックに挟まれた前記通常ブロックを、上記連結した反転ブロックに加えて前記領域を作成することを特徴とする請求項4または5に記載の画像処理装置。
  7. 前記エッジ検出手段で検出した前記エッジの有無の情報、および前記領域判定手段で判定した通常領域と反転領域とのうちのいずれに前記ブロックが属しているかの情報、または上記エッジの有無の情報、上記通常領域と反転領域とのうちのいずれに上記ブロックが属しているかの情報、および前記二値化閾値算出手段で算出した前記二値化閾値に基づいて、上記ブロックごとに、上記ブロック内の各画素を、黒画素もしくは白画素として二値化を行い、前記多値画像に対応する二値画像を出力する二値画像生成手段をさらに備えることを特徴とする請求項2から6までのいずれか1項に記載の画像処理装置。
  8. 請求項1から7までのいずれか1項に記載の画像処理装置の備える前記各手段としてコンピュータを動作させるための画像処理プログラム。
  9. 請求項8に記載の画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
  10. 多値画像のデータを取得する画像取得ステップと、
    当該多値画像のデータに対応する多値画像をマトリクス状のブロックに分割する画像分割ステップと、
    上記画像分割ステップによって得られた各ブロックについて、エッジの有無を検出するエッジ検出ステップと、
    上記エッジ検出ステップによってエッジが検出されたブロックについて、画像の二値化のための閾値である二値化閾値を算出する二値化閾値算出ステップと、
    上記エッジ検出ステップで検出したエッジの有無の情報、または上記エッジの有無の情報および上記二値化閾値算出ステップで算出した二値化閾値に基づいて、対象とするブロックが、前景の画素が背景の画素よりも低い明度になっているブロックである通常ブロックか、前景の画素が背景の画素よりも高い明度になっているブロックである反転ブロックか、を判定するブロック判定ステップと、
    上記ブロック判定ステップで得られた判定結果に基づいて、上記ブロックを連結して領域を作成する領域作成ステップとを含むことを特徴とする画像処理方法。
JP2007146188A 2007-05-31 2007-05-31 画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法 Expired - Fee Related JP4890351B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007146188A JP4890351B2 (ja) 2007-05-31 2007-05-31 画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007146188A JP4890351B2 (ja) 2007-05-31 2007-05-31 画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法

Publications (2)

Publication Number Publication Date
JP2008299673A true JP2008299673A (ja) 2008-12-11
JP4890351B2 JP4890351B2 (ja) 2012-03-07

Family

ID=40173124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007146188A Expired - Fee Related JP4890351B2 (ja) 2007-05-31 2007-05-31 画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法

Country Status (1)

Country Link
JP (1) JP4890351B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2735997A1 (en) * 2012-11-27 2014-05-28 Kyocera Document Solutions Inc. Image processing apparatus

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480674A (zh) * 2017-07-25 2017-12-15 中国地质大学(武汉) 一种古文字识别系统及方法
JP7548625B1 (ja) 2023-09-05 2024-09-10 親和パッケージ株式会社 輸送用パレット

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62160593A (ja) * 1986-01-09 1987-07-16 Toshiba Corp 文字読取装置
JP2000331118A (ja) * 1999-05-17 2000-11-30 Ricoh Co Ltd 画像処理装置及び記録媒体
JP2004334461A (ja) * 2003-05-07 2004-11-25 Mitsubishi Electric Corp 文字認識装置及び文字認識プログラム
JP2005071088A (ja) * 2003-08-25 2005-03-17 Canon Inc 画像処理装置、画像処理方法ならびにプログラム、記憶媒体
JP2006277398A (ja) * 2005-03-29 2006-10-12 Toshiba Corp 画像処理装置、画像処理プログラムおよび画像処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62160593A (ja) * 1986-01-09 1987-07-16 Toshiba Corp 文字読取装置
JP2000331118A (ja) * 1999-05-17 2000-11-30 Ricoh Co Ltd 画像処理装置及び記録媒体
JP2004334461A (ja) * 2003-05-07 2004-11-25 Mitsubishi Electric Corp 文字認識装置及び文字認識プログラム
JP2005071088A (ja) * 2003-08-25 2005-03-17 Canon Inc 画像処理装置、画像処理方法ならびにプログラム、記憶媒体
JP2006277398A (ja) * 2005-03-29 2006-10-12 Toshiba Corp 画像処理装置、画像処理プログラムおよび画像処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2735997A1 (en) * 2012-11-27 2014-05-28 Kyocera Document Solutions Inc. Image processing apparatus

Also Published As

Publication number Publication date
JP4890351B2 (ja) 2012-03-07

Similar Documents

Publication Publication Date Title
CN106254933B (zh) 字幕提取方法及装置
CN108229490B (zh) 关键点检测方法、神经网络训练方法、装置和电子设备
JP4646797B2 (ja) 画像処理装置及びその制御方法、プログラム
US8155445B2 (en) Image processing apparatus, method, and processing program for image inversion with tree structure
US8023725B2 (en) Identification of a graphical symbol by identifying its constituent contiguous pixel groups as characters
JP5775225B2 (ja) マルチレイヤ連結成分をヒストグラムと共に用いるテキスト検出
JP5826081B2 (ja) 画像処理装置、文字認識方法及びコンピュータプログラム
US9171224B2 (en) Method of improving contrast for text extraction and recognition applications
JP4522468B2 (ja) 画像判別装置、画像検索装置、画像検索プログラムおよび記録媒体
JP2008257670A (ja) 画像文書の検索装置、画像文書の検索方法、プログラム、及び記録媒体
CN112101386B (zh) 文本检测方法、装置、计算机设备和存储介质
CN111461070B (zh) 文本识别方法、装置、电子设备及存储介质
JP2013042413A (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP2011248702A (ja) 画像処理装置、画像処理方法、画像処理プログラム及びプログラム記憶媒体
CN113436222A (zh) 图像处理方法、图像处理装置、电子设备及存储介质
JP4890351B2 (ja) 画像処理装置、画像処理プログラムおよび該画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに画像処理方法
JP2018152026A (ja) 文字認識方法及びコンピュータプログラム
US20100014752A1 (en) Image processing apparatus, image processing method and program
Rampurkar et al. An approach towards text detection from complex images using morphological techniques
Nor et al. Image segmentation and text extraction: application to the extraction of textual information in scene images
JP2021056796A (ja) 構造認識システム、構造認識装置、構造認識方法、及びプログラム
JP4986797B2 (ja) 画像処理装置及び画像処理方法
CN113469931B (zh) 图像检测模型训练、修改检测方法、装置以及存储介质
US20220406083A1 (en) Image processing apparatus, control method thereof, and storage medium
JP2016151978A (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111214

R150 Certificate of patent or registration of utility model

Ref document number: 4890351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees