(57)【要約】【課題】安価なシステムにおいて、用いる機器によって得られる処理速度が一定になり、かつプログラムの移植性がよい画像処理方法、画像処理プログラム及び画像処理装置を提供する。【解決手段】画像を入力する画像入力ステップと、入力された画像から一定の範囲の画素数の処理対象画像を生成する処理対象画像生成ステップと、前記処理対象画像を入力し所定の画像処理をする画像処理ステップとを具備し、前記画像処理ステップにおける処理時間を一定範囲に収めたことを特徴とする画像処理方法。【選択図】図１
2006101379.tif 000002
【特許請求の範囲】
【請求項１】
画像を入力する画像入力ステップと、
入力された画像から一定の範囲の画素数の処理対象画像を生成する処理対象画像生成ステップと、
前記処理対象画像を入力し所定の画像処理をする画像処理ステップとを具備し、
前記画像処理ステップにおける処理時間を一定範囲に収めたことを特徴とする画像処理方法。
【請求項２】
前記処理対象画像生成ステップは、一定の範囲の画素数の処理対象画像を生成するための処理パラメータを指定するための処理パラメータ入力ステップを具備することを特徴とする請求項１記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法に関し、特に、様々な装置において、様々な大きさの画像に対する認識処理を行う必要のある画像処理方法に関する。
【背景技術】
【０００２】
近年、様々な媒体における計算処理速度が向上し、また様々な装置が安価になって普及したことに伴って、これまで高性能スキャナのような専用の装置とワークステーションのような高価な専用機器を用いて行ってきた処理を、汎用スキャナあるいはデジタルカメラとパーソナルコンピュータや携帯情報端末（以下PDAと呼ぶ）といったような安価な普及機器を用いて行うという傾向が強くなっている。
【０００３】
一例として、これまでスキャナを用いて取り込んだ画像をパーソナルコンピュータやワークステーションで処理して認識を行っていた光学的文字読取りの機能が、カメラによって画像を入力することのできるカメラ付き携帯電話に搭載されるようになったことなどがあげられる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような安価なシステムを用いる場合の問題点として、用いられる機器の性能が様々に異なるため、用いる機器によって得られる処理速度、入力画像の質が一定にはならないので、用いる機器によって得られる結果がまちまちになってしまうという点が挙げられる。
【０００５】
特に機器の処理速度の違いによる実行時間の変化は顕著であり、例えば、ＰＤＡにワークステーションと同様のプログラムを用いた場合には、ワークステーションにおいて実用的な時間で動作しているプログラムであっても、ＰＤＡにおいては非実用的な時間がかかる場合が多い。
【０００６】
上述の処理速度や入力画像の質が一定にならないという問題点は、使用する機器ごとにプログラムやパラメータの調整を行うことによってある程度回避することが可能であるが、機器の組み合わせの種類が膨大であるため、実際に行うことは困難であった。また、このように個別の調整が必要であったため、プログラムの移植性が悪かった。
【０００７】
したがって、本発明の目的は、使用する機器によらず実行時間、処理結果が一定になり、かつプログラムの移植性がよい画像処理方法を提供することである。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、請求項１に係る画像処理方法は、画像を入力する画像入力ステップと、入力された画像から一定の範囲の画素数の処理対象画像を生成する処理対象画像生成ステップと、前記処理対象画像を入力し所定の画像処理をする画像処理ステップとを具備し、前記画像処理ステップにおける処理時間を一定範囲に収めたことを特徴とする。
【発明の効果】
【０００９】
本発明の画像処理方法によれば、様々な性能の機器によるさまざまな対象画像に対する画像処理において、処理に要する時間及び処理の結果を一定にすることができる。その結果、様々な機器に対して移植性の高く、一定の応答速度と性能を持った画像処理プログラムを構築することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【実施例１】
【００１１】
実施例１では、本発明の画像処理方法に基づくプログラムを搭載したパーソナルコンピュータでの画像処理例について説明する。
【００１２】
本実施例で対象となるものは、認識のための画像処理を行うものであり、許容される処理時間の中で、画質認識率を最適化しようとするものである。認識処理対象としては、具体的には、文字、顔、虹彩、指紋、掌紋などがあげられ、入力画像は静止画または動画である。
【００１３】
図１は、本発明の画像処理方法を実施した画像処理機能の基本的な構成図の一例である。
【００１４】
図１において、画像入力機能１は、スキャナーやデジタルカメラなどの画像入力機器やフラッシュメモリ等の記録媒体にファイルとして記録された処理対象の画像を入力するためのものである。画像入力機能１は、入力した入力画像Ｇを画像制御機能２へ出力する。画像制御機能２は、画像入力機能１が出力した入力画像Ｇを参照して、この入力画像Ｇを画像処理機能３で画像処理させるための所定範囲の画素数の処理対象画像を生成して画像処理機能３へ出力する。画像制御機能２において、所定範囲の画素数の処理対象画像を生成するための画像処理は、間引き、拡大、鮮鋭化、ぼかし等である。画像処理機能３は、画像制御機能２から出力された処理対象画像を所定の画像処理を行う機能を持つ。画像処理機能３は、画像処理した結果（実行結果）を画像制御機能２を介して結果出力機能４に出力する。結果出力機能４は、入力した画像処理機能３の処理結果を出力する機能を持つ。結果出力機能４の具体例としては、表示装置やＤＶＤ等の記録媒体へファイルとし出力する装置などがある。
【００１５】
ここで、鮮鋭化処理、ぼかし処理に対する処理選択の概要を示す。
【００１６】
鮮鋭化処理をするのか、ぼかし処理をするのかの判断を図２に示すフローチャートに従って行う。
【００１７】
まず、原画を微分し、微分値の絶対値を画素値とする画像を生成する（ステップＳ２１）。現画像を微分した微分画像の１例を図３に示す。簡単化のために、横方向のみの差分で例示している。次に原画像（図３）から画素値の最大値Ｘを求める（ステップＳ２２）。この場合、最大値Ｘは２５５である。
【００１８】
つぎに、最大値ＸをＢＬＵＲ＿ＴＨＲＥＳＨＯＵＬＤと比較する（ステップＳ２３）。最大値Xの値のほうが小さければ鮮鋭化パラメータαを求める（ステップＳ２４）。大きければ、最大値XをＳＨＡＲＰ＿ＴＨＲＥＳＨＯＬＤと比較する（ステップＳ２５）。このステップＳ２５の比較で最大値Xのほうが小さければ、ぼかしパラメータβを求める（ステップＳ２６）。大きければ、鮮鋭化処理、ぼかし処理は不要であると判定し処理を終了する（ステップＳ２７）。これらの情報を後述する画像処理機能３に対して与え、該当する画像処理を行わせる。
【００１９】
図４は、鮮鋭化処理・ぼかし処理の１例を示している。ｆ（ｘ、ｙ）は、処理前の画像中の位置（ｘ、ｙ）における画素値、ｆ’（ｘ、ｙ、αｏｒβ）は、該当パラメータを与えた場合の処理後の画素中の位置（ｘ、ｙ）における画素値である。なお、ぼかしの手段としては、例えばガウシアンフィルタ、平滑化フィルタ、帯域通過フィルタなどもあり、鮮鋭化の手段としては、ラプラシアンフィルタなどがある。また、位置の計算では、左上から右方向にｘ軸、下方向にｙ軸が伸びている。
【００２０】
本実施例では、画像制御機能２によって生成された画素数が、所定範囲の処理対象画像になるように、画像処理機能３が所定の画像処理を行うため、画像処理に要する処理時間が、入力画像の画素数によらず一定とすることができる。
【００２１】
これを実現するために、画像制御機能２は、処理対象画像の最大画素数（本実施例においてはPIXELMAXと定義する）および処理対象画像の最少画素数（本実施例においてはPIXELMINと定義する）を用いて、入力画像Ｇの横幅と高さに応じて入力画像Ｇに対する間引きするための間引き数Nないし拡大処理するための拡大数Mを決定する。画像制御機能２は、入力画像Ｇに対してN個間引きないしM倍拡大を行うことで処理対象画像の画素数を一定化することができ、結果として画像処理機能３での画像処理に要する時間が入力画像の大きさ（画素数）によらず一定化できる。なお、本実施例において、NおよびMは有理数であるものとする。また、N個間引きは、N画素の画素値から1画素の画素値を求める処理、M倍拡大は1画素の画素値からM画素の画素値を求める処理である。
【００２２】
図５は、画像制御機能２において、間引き数Nないし拡大数Mを決定するための動作を示したフローチャートである。
【００２３】
図５において、まず入力画像Ｇの横幅ｗｉｄｔｈと高さｈｅｉｇｈｔとを乗算して入力画像の画素数ｐｉｘｅｌｓを計算する（ステップＳ５１）。即ち、ｐｉｘｅｌｓ＝ｗｉｄｔｈ＊ｈｅｉｇｈｔの演算をする。
【００２４】
次にステップＳ５２において、演算で求めた入力画像Ｇの画素数ｐｉｘｅｌｓと最大画素数PIXELMAXとを比較する。この比較の結果、画素数ｐｉｘｅｌｓが最大画素数PIXELMAXより大きい場合にはステップＳ５３へ進み、画素数ｐｉｘｅｌｓが最大画素数PIXELMAXより小さい場合にはステップＳ５５へ進む。
【００２５】
ステップＳ５３では、次の式を満たす最小の値Ｘを求める。即ち、ｐｉｘｅｌｓ＜＝Ｘ＊Ｘ＊PIXELMAXを満たす最小の値Ｘを求める。この求めた値Ｘを間引き数Nとして設定する（ステップＳ５４）。
【００２６】
一方、ステップＳ５５では、入力画像Ｇの画素数ｐｉｘｅｌｓと最少画素数PIXELMINとを比較する。この比較の結果、画素数ｐｉｘｅｌｓが最少画素数PIXELMINより小さい場合には、間引き数N及び拡大数Mを１に設定する（ステップＳ５７）。また、画素数ｐｉｘｅｌｓが最少画素数PIXELMINより大きい場合には、次の式を満たす最大の値Ｘを求める（ステップＳ５７）。即ち、PIXELMIN＜＝Ｘ＊Ｘ＊ｐｉｘｅｌｓを満たす最大の値Ｘを求める。この求めた値Ｘを拡大数Mとして設定する（ステップＳ５８）。
【００２７】
次に画像制御機能２における画像のN個間引き、およびM倍拡大の例を図６及び図７に示す。
【００２８】
N個間引き処理とは、入力画像G中のN＊N個の画素の画素値から１つの画素の画素値を決定するフィルタリング処理である。
【００２９】
フィルタリング処理としては、図６に示すように、２＊２フィルタを用いて最左最上の画素を抽出し、その画素値を出力する２＊２フィルタリングによる２個間引き（図６上段）、３＊３メディアンフィルタを用いて９個の画素を抽出し、その画素数の大きさの順に並べて中央値を出力する３＊３メディアンフィルタリングによる3個間引き（図６中段）、２＊２フィルタを用いて最上の行の画素を抽出し、その画素値の平均値を出力するフィルタ（図６下段）だけでなく、その他に最大値フィルタ、最小値フィルタなどがある。
【００３０】
一方、M倍拡大処理とは、周囲の画素による補間処理を行うことにより、補間されるべき画素の画素値を計算する処理である。
【００３１】
補間処理としては、図７に示すように、周囲４画素による線形補間処理による２倍拡大があり、その他に周囲２画素による線形補間処理、周囲４画素による多項式補間処理、周囲４画素による非線形補間処理などがある。
【００３２】
上述した例から推定できるように、X画素は、N個間引きによってX／N画素に、また、M倍拡大によってMX−(M−1)画素に、それぞれ変換される。
【００３３】
なお、間引きまたは拡大の方法は、図６及び図７に示す方法に限らず、例えば間引く際に、高さ方向の間引き数N1と幅方向の間引き数N2、拡大する際に、高さ方向の拡大数M1と幅方向の拡大数M2、というように、方向、あるいは位置などによって異なる値を用いるようにしてもよいし、N個間引きを行う際にM倍拡大してからMN個間引きを行ってもよいし、M倍拡大を行う際にMN倍拡大してからN個間引きを行ってもよい。
【００３４】
また、間引き数N、拡大数Mの決定法は、図５に示す方法によらず、入力画像Gの大きさ、使用する機器（例えばパーソナルコンピュータであるか、ＰＤＡであるか、携帯電話であるか、専用機器であるかなど）、画像入力方法（デジタルカメラ撮影画像であるか、スキャナによるスキャン画像であるかなど）と間引き数N及び拡大数Mとの対応を定めたテーブル（例えば携帯電話でCIFテレビ画像であれば２倍拡大、パーソナルコンピュータでVGAビデオ画像であれば４倍拡大などとしたテーブル）から選択してもよいし、変数Aをテーブルから選択し、図５に示すPIXELMAXをA＊PIXELMAXと変更してもよい。
【００３５】
また、図５のフローチャートでは、入力画像Ｇの画素数pixelsに応じて間引き数Nと拡大数Mの両方が1より大きな値をもつことがあり得るが、例えば図２右側のようにpixels<=PIXELMAXとなった場合の間引き数Nと拡大数Mの値をN=M=1に固定して、拡大数Mが1より大きな値を持たないようにしてもよい。
【００３６】
上述のとおり、本実施例では、N個間引きの場合には最左最上の画素を抽出するN＊Nフィルタを用いたN個間引き（図６最上）について、M倍拡大の場合には周囲４画素での線形補間によるM倍拡大について説明した（図７）。なお、図６及び図７は濃淡画像における例を示しているが、複数色画像の場合であっても、色成分ごとに図中の処理を加えたり、色変換を行って処理を加えた後で逆変換を行うなどとすることにより、濃淡画像と同様の処理が実現できる。
【００３７】
画像処理機能３によって行われる画像処理としては、例えば文字認識処理、顔画像認識処理、指紋画像認識処理、QRコード解析処理、２値化処理、２値化閾値設定処理、文字行位置抽出処理、平滑化処理、鮮鋭化処理などがある。また、このような画像処理は、上記画像処理の組み合わせであってもよい。
【００３８】
画像制御機能２が処理対象画像を生成するための画像処理の内容は、入力画像Ｇを画像間引き・拡大処理すること、又は入力画像Ｇを画像間引き・拡大処理して作成された画像を幅方向に４つにブロック分割し、各ブロックに対して２値化を行うための閾値を設定し、各ブロックに対して求めた閾値を用いて２値化処理をすることである。各ブロックに対して２値化のための閾値を設定する処理としては、例えば各ブロックに対して大津の方法（大津展之、電子情報通信学会論文誌Ｖｏｌ．Ｊ６３−Ｄ  Ｎｏ．４  ｐｐ３４９−３５６）を用いるなどの方法がある。
【００３９】
図８は、２値化閾値設定処理により求められたブロックごとの閾値を用いて入力画像Gを２値化する手法の一例を示している。図８の例では、間引き数N=2としているが、他の場合も同様である。以下、図８について詳細に説明する。
【００４０】
まず、２個間引きによって作成された画像を用い、各ブロックに対する閾値を求める。閾値を求めた結果を、図８右図に示す。ただし、図８右図においては、求められた閾値をグレースケール値で表示している。
【００４１】
次に、各ブロックのブロック位置を拡大する。例えば、２個間引きされた画像において(0,0)〜(25,10)までを含むブロック（最も左のブロック）は、２倍に拡大して、(0,0)〜(50,20)までを含むブロックとする。
【００４２】
次に、このブロック情報、及び各ブロックにおける２値化の閾値を元に、入力画像Gを２値化する。２値化処理は、入力画像Gの各画素において、各画素が属するブロックにおける閾値よりも値が小さければ画素の２値化結果を1、同様に大きければ画素の２値化結果を0とする処理である。つまり、入力画像Gの各ブロックにおける画素値が、各ブロックの閾値より黒い画素が1、白い画素が0となる。
【００４３】
この処理を行った結果が、図８下の２値化結果Ｒである。なお、図８下の２値化結果Ｒにおいては、処理結果が1となった画素を黒で、0となった画素を白で表している。
【００４４】
ここで、入力画像Gを２値化する方法は、上記に限らず、画像処理機能３として、２値化閾値設定処理以外に行抽出処理を加え、この行抽出処理の結果行であると判断された位置のみを２値化するなどとしてもよい。
【００４５】
また、画像処理機能３が画像処理の結果として出力する２値化画像は入力した画像を２値化したものに限らず、入力した画像を鮮鋭化処理やぼかし処理、あるいはエッジ強調処理などを加えた画像を２値化してもよい。また、２値化した画像をN個間引きまたはM倍拡大するなどしてもよい。
【００４６】
図９は、画像入力機能１によって入力された画像に対して画像処理機能３が所定の画像処理を行い、結果出力手段に対して画像処理の結果を出力するまでの流れの１例を示したものである。ただし、図中入力画像G1、処理対象画像I1は、画素値として0〜255を取り、0が黒、255が白であり、ある画素Xの画素値Yが小さいほど該画素Xは黒く、同様に大きいほど白い、という条件を満たす画像とする。本実施例においては、グレースケール画像として上記の画像Ｉを定義する。
【００４７】
以後、図９に沿って処理の流れを説明する。なお、PIXELMAXの値は6250、PIXELMINの値は2000と設定されているものとする。
【００４８】
まず、画像入力機能１によって、例えばデジタルカメラによって撮影された幅500、高さ50の画像を読み込み、グレースケール画像である入力画像G1を取得する。
【００４９】
次に、画像制御機能２によって、処理対象画像Ｉ１を生成する。この処理は、図５に示すフローチャートに従って以下のように行われる。
【００５０】
まず、入力画像中の画素数pixelsを計算する。入力画像の幅は500、高さが50であるので、pixels=500＊50=25000ピクセルである。
【００５１】
次に、pixelsとPIXELMAXを比較する。25000>6250であるので、25000<=X＊X＊6250となる最大のXを求める。
【００５２】
1＊1＊6250<25000、2＊2＊6250=25000>=25000であるので、これよりX=2となる。従って、間引き数N=2となる。
【００５３】
次に、図６に示したサイズN＊Nの最左最上画素値フィルタにN=2を適用した2＊2フィルタによって、入力画像G1に対するフィルタリング処理を行い、間引きを行う。
【００５４】
この処理により、幅250、高さ25の処理対象画像I1が得られる。I1の画素数を計算すると、当然ながら、250＊25=6250である。
【００５５】
次に、画像処理機能３に対して前記I1を入力し、画像処理機能３が入力した処理対象画像I1の２値化処理を行う。この処理によって、処理時間T1で２値化結果である出力画像R1を得る。T1は、１画素あたりに要する処理時間をtとすれば、6250tと表すことができる。
【実施例２】
【００５６】
図１０は、図９と大きさの異なる入力画像G2に対して適用した場合の例を示したものである。
【００５７】
図９によって示した実施例１と同様にして、入力画像G2に対する間引き数Ｎを求めると、入力画像中の画素数が1000＊100=100000なので、3＊3＊6250=56250<100000、4＊4＊6250=100000>=100000より間引き数N=4を得る。
【００５８】
次に、先に示した実施例１と同様に、サイズN＊Nの最左最上画素値フィルタを用いて入力画像G2の間引きを行う。本実施例では、N=4であるので、これを適用すると、幅250、高さ25の処理対象画像I2が得られる。
【００５９】
次に、画像処理機能３に対して前記I2を入力し、２値化処理を行う。この処理によって、処理時間T2で２値化結果である出力画像R2を得る。T2は、１画素あたりに要する処理時間をtとすれば、6250tと表すことができる。
【００６０】
ここで、前述の２つの実施例１，２における画像処理機能３の処理時間T1とT2を比較すると、両者とも6250t時間で２値化処理が行われている。すなわち、500＊50の入力画像G1に対しても、1000＊100の入力画像G2に対しても、同様の時間6250tで２値化処理が終了することとなり、入力画像の大きさによらず処理時間を一定化することができている。
【００６１】
図１１は、PIXELMAX6250、PIXELMIN2000を用いた場合における、入力画像Gの画素数と処理対象画像Iの画素数の変化を表したグラフである。間引き数Nの決定方法、間引き方法などは全て前記実施例と同様である。
【００６２】
図１１からわかるように、入力画像Gの画素数が変化しても、処理対象画像Iの画素数はほぼ一定に保たれ、もって画像処理機能３における処理時間もほぼ一定に保たれることがわかる。
【００６３】
ここで、上記の実施例における機能（この機能を実現する処理プログラム）を、速度の異なる新たな機器に移植することを考える。この場合、上述のとおりPIXELMAX及びPIXELMINの変更によって処理時間が制御可能であるため、上記のPIXELMAX及びPIXELMINのみを変更すればプログラムを移植することが可能となる。すなわち、本発明によれば、異なる機器に対するプログラムの移植を容易に行うことができるようになる。なお、前記では移植する際にPIXELMAX及びPIXELMINの値を決定したが、これらの値は制御機能によってプログラムが実行される環境の情報、例えばCPUの演算速度などに基づいて自動的に決定されてもよい。
【実施例３】
【００６４】
実施例３では、実施例１，２と同様に画像処理プログラムを搭載したパーソナルコンピュータの例について説明する。
【００６５】
図１２は、実施の形態３における本発明のプログラムの基本的な構成図の一例を示したものである。図１２の画像処理プログラムは、実施の形態１，２と同様の画像入力機能１、画像制御機能２、画像処理機能３、結果出力機能４及び画像制御機能２において画像を制御する方法に加えて、前記制御に用いられるパラメータなどをユーザが指定する機能を提供するユーザ入力機能５を具備する。
【００６６】
ユーザ入力機能５は、画像制御機能２における処理選択情報の生成をユーザが制御する機能である。本実施例では、画像制御機能２におけるPIXELMAX、PIXELMINを設定する機能であるとするが、これ以外の処理、例えば画像処理機能２に実行可能な処理を複数、例えば文字認識処理とQRコード解析処理を用意し、動作させるべき画像処理をパラメータとして指定させるなどとしてもよい。上述の例では、例えば文字認識であれば文字行抽出処理を行い、QRコード解析処理であればQRコードの探索を行うように、画像制御機能２における動作を変更することができる。また、鮮鋭化処理・ぼかし処理のパラメータを決定する関数を設定するなどしてもよい。上述の例では、設定された関数によってパラメータを決定することにより、動作を変更することができる。
【００６７】
本実施例におけるユーザ入力機能５は、図１２に示すように、PIXELMAX及びPIXELMINの値を変化させることのできるスクロールバーを持ったユーザ設定画面を表示し、画面を通じた操作によって、ユーザにPIXELMAX及びPIXELMINの値を変更するインターフェースを提供することによって実現する。なお、この場合は、スクロールバーによって実現したが、例えば値を直接入力可能にする設定を複数用意して、リストボックスなどから選択させてもよい。また、例えばPIXELMINをPIXELMAXの関数として定義し、PIXELMAXのみを上記のような手段で操作させたり、入力画像最大サイズ、入力画像最小サイズ、入力画像平均サイズを設定させ、上記３つの値からPIXELMAX及びPIXELMINを計算させてもよい。
【００６８】
図1３は、本実施例３の処理例である。最初に、図９に示した実施例１と同様のPIXELMAX=6250が設定されている場合を考える。
【００６９】
この場合、入力画像G3が図９に示した入力画像G1と同様の大きさであるから、前述の場合と同じく、間引き数N=2となり、処理対象画像I3はI1と同じく幅250、高さ25となる。
【００７０】
ここで、ユーザが、ユーザ設定画面に表示されているスクロールバーを右に動かし、PIXELMAXを25000に変更したとする。この状態で、同様に入力画像G3に対する処理を行うことを考える。
【００７１】
先に示した実施例１と同様に、図５に従って入力画像G3に対する間引き数ないし拡大数を計算すると、1＊1＊25000=50＊500=25000であるので、N=M=1となる。これにより、処理対象画像I3ａは幅500、高さ50となる。
【００７２】
以上によって示されるように、ユーザによる操作によって、処理対象画像の大きさが変更されている。すなわち、本実施例によれば、ユーザが、ユーザ入力機能５を介して画像制御機能２を操作することが可能である。
【００７３】
なお、上記では画像処理プログラムの例によって示したが、例えばこのような機能を搭載したＩＣチップなどによって構成される装置においても同様に制御機能を操作することが可能である。装置の場合、ユーザ入力機能は、例えばディップスイッチなどによって実現されてもよい。
【実施例４】
【００７４】
図１４は、実施例４として、実施例３と異なる動作方法を示した例である。ここで、PIXELMAX=6250が設定されている場合を考える。また、画像制御機能２は、可能な場合には鮮鋭化処理・ぼかし処理を行ってから２値化処理を行うように変更されているものとする。また、画像出力機能４によって結果が出力されるまでに要する時間の上限としてT、間引き処理に要する処理時間の予測値としてｔ１、鮮鋭化処理に要する処理時間の予測値としてｔ２、２値化処理に要する処理時間の予測値としてｔ３が、それぞれ設定されているものとする。
【００７５】
図１４の例では、画像制御機能２は、最初に間引き数Nを決定する。この場合、上述の通り間引き数N=2となり、処理対象画像I3が得られる。この間引き処理に要した時間をｔ１’とする。画像処理機能は、ｔ１’及び処理対象画像I3を出力する。
【００７６】
次に、画像制御機能２は、間引き処理に要した時間ｔ１’、間引き処理を行った結果の処理画像I3、選択可能な他の処理に要する時間の予測値ｔ２及びｔ３、及び実行時間の上限値Tに基づき、次の処理を選択する。この実施例では、図１４に示したとおり、ｔ１’+ｔ２＋ｔ３がTより小さければ鮮鋭化処理・ぼかし処理を行ってから２値化処理を行う。そうでない場合は、鮮鋭化処理・ぼかし処理を行わず、２値化処理を行う。
【００７７】
以上によって示されるように、実際の処理時間、および処理時間の予測値に基づいて処理を選択することにより、処理時間を一定範囲に保ちつつ、処理を変更することが可能となる。
【００７８】
なお、この実施例ではｔ１、ｔ２、ｔ３は設定されているものとしたが、これらの値は自動的に計算されてもよい。また、処理の選択に用いる処理に要する時間の予測値としては、ｔ２、ｔ３ではなく、ｔ１とｔ１’の比に基づいて補正したｔ２’、ｔ３’を用いてもよい。また、本実施例は、実施例３のプログラムに基づいているが、同様に実施例１のプログラムに基づいてもよい。
【００７９】
以上説明した各実施例では、画像制御機能２が処理対象画像を生成していたが、この処理対象画像を画像処理機能３自身が生成することでも良い。具体的には、画像制御機能２が画像入力機能１が出力した入力画像Ｇを参照して、この入力画像Ｇを画像処理機能３で上記処理対象画像を生成するための画像処理の内容を指定するための処理選択情報を決定し、入力画像Ｇと処理選択情報とを画像処理機能３へ出力する。
【００８０】
処理選択情報とは、画像処理機能３にどのような処理対象画像を生成するための画像処理を行わせるのか、その処理内容を指定する情報とその処理内容の詳細を指定するためのパラメーターとから構成されるものである。この処理選択情報で指定される画像処理としては、間引き、拡大、鮮鋭化、ぼかし等である。画像処理機能３は、画像制御機能２から入力した入力画像Ｇに対して処理選択情報により指定される画像処理を行い処理対象画像を生成する機能を持つ。画像処理機能３は、自身で生成した処理対象画像を用いて、上記した文字認識処理、顔画像認識処理、指紋画像認識処理、QRコード解析処理、２値化処理、２値化閾値設定処理、文字行位置抽出処理、平滑化処理、鮮鋭化処理等や、これらの処理の組み合わせの画像処理を行う。
【産業上の利用可能性】
【００８１】
様々な対象画像に対して、処理に要する時間を一定化させ、また、様々な機器に対する移植性の高い画像処理プログラムを構築することが不可欠な用途にも適用できる。
【図面の簡単な説明】
【００８２】
【図１】本発明における画像処理方法の構造を示した図である。    （実施例１）
【図２】鮮鋭化またはぼかしを判別するフローチャートである。    （実施例１）
【図３】微分画像の説明図である。                              （実施例１）
【図４】鮮鋭化またはぼかしの１例の説明図である。              （実施例１）
【図５】間引き数N、拡大数Mの決定方法を示した図である。      （実施例１）
【図６】画像間引き方法を示した図である。                      （実施例１）
【図７】画像拡大方法を示した図である。                        （実施例１）
【図８】処理結果を基に入力画像を２値化する方法を示した図である。（実施例１）
【図９】本発明の画像処理方法を用いた画像処理を示した図である。（実施例１）
【図１０】同上の画像処理の異なる一例を示した図である。        （実施例２）
【図１１】入力画像と処理対象画像の画素数の関係を示した図である。（実施例２）
【図１２】本発明における異なる画像処理方法の構造を示した図である。（実施例３）
【図１３】同上の画像処理方法の一例を示した図である。          （実施例３）
【図１４】同上の画像処理の異なる一例を示した図である。        （実施例４）
【符号の説明】
【００８３】
１…画像入力機能、2…画像制御機能、3…画像処理機能、4…結果出力機能、5…ユーザ入力機能、Ｇ，Ｇ１，Ｇ２，Ｇ３…入力画像、Ｈ…２値化結果、Ｉ，Ｉ１，Ｉ２，Ｉ３，Ｉ３ａ…処理対象画像、Ｒ1，Ｒ２…処理結果画像、ｔ１，ｔ２，ｔ３…処理の実行時間の予測値、ｔ１’…実行時間。
【図１】
2006101379.tif 000003
【図２】
2006101379.tif 000004
【図３】
2006101379.tif 000005
【図４】
2006101379.tif 000006
【図５】
2006101379.tif 000007
【図６】
2006101379.tif 000008
【図７】
2006101379.tif 000009
【図９】
2006101379.tif 000010
【図１０】
2006101379.tif 000011
【図１１】
2006101379.tif 000012
【図１２】
2006101379.tif 000013
【図１３】
2006101379.tif 000014
【図１４】
2006101379.tif 000015
【図８】
2006101379.tif 000016