JP2004040379A - 画像処理装置、画像処理プログラムおよびディジタルカメラ - Google Patents
画像処理装置、画像処理プログラムおよびディジタルカメラ Download PDFInfo
- Publication number
- JP2004040379A JP2004040379A JP2002193363A JP2002193363A JP2004040379A JP 2004040379 A JP2004040379 A JP 2004040379A JP 2002193363 A JP2002193363 A JP 2002193363A JP 2002193363 A JP2002193363 A JP 2002193363A JP 2004040379 A JP2004040379 A JP 2004040379A
- Authority
- JP
- Japan
- Prior art keywords
- image
- section
- image processing
- block
- processing
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 169
- 238000007781 pre-processing Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims description 50
- 238000003384 imaging method Methods 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000012937 correction Methods 0.000 abstract description 43
- 230000009191 jumping Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 21
- 238000003860 storage Methods 0.000 description 20
- 230000014509 gene expression Effects 0.000 description 14
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000013213 extrapolation Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000005520 cutting process Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 3
- 238000000691 measurement method Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005424 photoluminescence Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Studio Devices (AREA)
Abstract
【課題】本発明は、画像処理に必要な値を画像を区分けにより求めて、任意の画像サイズの画像を文字などの情報が明瞭となるように画像処理し得る画像処理装置、画像処理プログラムおよびディジタルカメラに関する。
【解決手段】本発明の画像処理装置は、画像サイズ判定部41、区分分け・切出し部42、ブロック下地レベル決定部43、端数ブロック下地レベル決定部44及び下地飛ばし階調補正部46等の画像処理手段とを備え、画像サイズ判定部41の結果に基づき区分分け・切出し部42は画像サイズの縦横両方向が所定ブロックの対応方向の長さに対して整数倍となる第1区分と残余の第2区分とに画像を分け、ブロック下地レベル決定部43は第1区分の画像処理するための前処理値を求め、端数ブロック下地レベル決定部44はこの前処理値に基づき第2区分の前処理値を求め、画像処理手段はこれら求められた前処理値に基づき画像を画像処理する。
【選択図】 図3
【解決手段】本発明の画像処理装置は、画像サイズ判定部41、区分分け・切出し部42、ブロック下地レベル決定部43、端数ブロック下地レベル決定部44及び下地飛ばし階調補正部46等の画像処理手段とを備え、画像サイズ判定部41の結果に基づき区分分け・切出し部42は画像サイズの縦横両方向が所定ブロックの対応方向の長さに対して整数倍となる第1区分と残余の第2区分とに画像を分け、ブロック下地レベル決定部43は第1区分の画像処理するための前処理値を求め、端数ブロック下地レベル決定部44はこの前処理値に基づき第2区分の前処理値を求め、画像処理手段はこれら求められた前処理値に基づき画像を画像処理する。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に、画像処理に必要な値を演算し得る部分を画像から区分けして該値を求め、演算し得ない部分に該値を充てることによって、任意の画像サイズの画像を文字などの情報が明瞭となるように画像処理し得る画像処理装置に関する。さらに、該画像処理装置に適用される画像処理プログラムおよび該画像処理装置を搭載したディジタルカメラに関する。
【0002】
【従来の技術】
近年、ディジタルカメラは、撮影後の現像処理が不要なことや画像処理により撮影した画像を様々な画像に容易に変更することができることなどから、急速に普及し始めている。ディジタルカメラは、この画像処理が容易という利点から、通常の写真撮影のためだけでなく、例えば、会議場や展示場などでホワイトボードやパネルなどに書かれた文字や図形などの情報を記録するための機器としても利用されている。このようなディジタルカメラの利用法では、ホワイトボードなどの上の情報を記録することが専ら主目的であるから、情報部分が認識できることが重要である。
【0003】
しかしながら、ホワイトボードなどは、例えば天井灯や窓外の太陽光などによって照明される場合のように、たいてい多方向から照明される。そのため、照明光の不均一により照度ムラが生じてしまって、ホワイトボードなどの上の情報が不明瞭となってしまう場合がある。
【0004】
そこで、本願発明者の一人は、カラー画像で撮影した場合にも適正に照度ムラ補正を行い、ホワイトボードなどの上に書かれた文字等の情報を明瞭にすることができる技術について、特願平9−13020号で提案し特開平10−210287号公報で開示された。この技術は、画像を所定の画素数より成る正方形のブロックに複数に分割し、各ブロックごとに輝度レベルを統計処理することによって画素ごとに閾値を決定し、画素の輝度レベルがこの閾値以上の場合には輝度レベルを白色飽和レベルに飛ばすことによってホワイトボードなどの画像部分を白色飽和レベルに階調補正して、ホワイトボードなどの上に書かれた文字等の情報を明瞭にするものである。このように画像処理を行うため、画像サイズは、アプリケーションソフトの設計の容易性やコストダウンの要請などから、ちょうど所定画素数の正方形ブロックで分割することができる画像サイズに限定していた。
【0005】
【発明が解決しようとする課題】
ところで、画像処理したい画像が、机や壁などの背景がホワイトボードの周囲に写っている画像である場合や、ユーザ(使用者)が取り出したい情報の部分を全体画像から切り出した画像である場合や、ユーザがホワイトボードなどの上の情報を撮像する際に、限定した画像サイズ以外の画像サイズで撮像した画像である場合などがある。このような場合には、画像サイズが限定した画像サイズに成り難く、そのまま上述の画像処理を行うと所定画素数の正方形ブロックで分割する際に端数が生じてしまう。例えば、1550画素×1140画素の画像を100画素の正方形ブロックで分割する場合では、1550画素×1140画素のうち1500画素×1100画素の部分は、この正方形ブロックで分割できるが残余の部分が正方形ブロックに満たない矩形の端数ブロックとして残ってしまう。そのため、従来の技術は、このような画像を取り扱うことができないという問題があった。
【0006】
そこで、本発明では、上述の問題に鑑みて為された発明であり、任意の画像サイズの画像でも適正に画像処理を行い、ホワイトボードなどの上に書かれた文字等の情報を明瞭にすることができる画像処理装置を提供することを目的とする。そして、この画像処理装置に採用されている画像処理プログラムおよびこの画像処理装置を搭載したディジタルカメラを提供することを目的とする。
【0007】
【課題を解決するための手段】
上述の目的を達成するために、本発明にかかる画像処理装置は、画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えて構成される。
【0008】
そして、本発明にかかる画像処理プログラムは、コンピュータに、画像の画像サイズを検出する第1ステップと、前記第1ステップの検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける第2ステップと、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第3ステップと、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求め第4ステップと、前記第3および第4ステップで求めた前処理値に基づいて前記画像を画像処理する第5ステップとを実行させるように構成される。
【0009】
また、本発明にかかるディジタルカメラは、複数の光電変換素子から成る画素を有し、被写体光像を画像信号に光電変換して取り込む撮像手段と、前記撮像手段で取り込んだ画像信号に基づいて、画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えて構成される。
【0010】
このような構成の画像処理装置、画像処理プログラムおよびディジタルカメラは、画像を所定ブロックで分割し得る第1区分と残余の第2区分とに分けるので、第1区分について画像処理に必要な前処理値を既存のソフトウェアを用いて所定ブロックごとに容易に求めることができる。そして、この前処理値を用いて第2区分における前処理値を求めるので、第1区分および第2区分における前処理値を用いて画像処理することができる。第1区分および第2区分の区分分けは、任意の画像サイズの画像に行うことができるから、任意の画像サイズの画像について画像処理を行うことができる。
【0011】
さらに、上述の画像処理装置において、好ましくは、前記画像処理は、画像の階調を調整するシェーディング処理である。このような画像処理装置は、画像の階調を調整するので、再現性の良い画像を得ることができる。
【0012】
また、この画像処理装置において、好ましくは、前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含む。このような画像処理装置は、下地飛ばし階調補正処理を行うので、画像がホワイトボードなどの上に書かれた文字などの情報を得る目的で撮られた場合に、文字などの情報が書かれたホワイトボードなどの下地部分の画像における照度ムラを軽減し、文字などの情報を明瞭化するので、容易に情報を判読することができる。
【0013】
【発明の実施の形態】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の構成については、同一の符号を付し、その説明を省略する。
(実施形態の構成)
図1は、本発明にかかる画像処理装置を搭載したディジタルカメラの外観を示す斜視図である。図2は、本発明にかかる画像処理装置を搭載したディジタルカメラの背面図である。図3は、本発明にかかる画像処理装置を搭載したディジタルカメラの構成を示すブロック図である。
【0014】
図1に基づいて外観を概説すると、ディジタルカメラ1は、前面の略中央に撮影レンズ2が配設され、その上部にアクティブ測距方式により被写体距離を測定するための投光窓4と受光窓5とが配設され、両窓の間に被写体の輝度を測定するための測光窓3が配設されている。また、投光窓4の左側にファインダー対物窓6が配設され、受光窓5の右側に閃光部7が配設されている。
【0015】
撮影レンズ2は、ズームレンズやフォーカスレンズを備えて構成され、被写体からの光を後述の撮像部20に適切な光量および合焦点で導光する撮像光学系である。投光窓4は、被写体に対して赤外光を照射する窓であり、受光窓5は、この赤外光が被写体によって反射した反射光を受光する窓である。なお、本実施形態では測距方式としてアクティブ測距方式を採用しているが、パッシブ測距方式でもよい。閃光部7は、被写体からの光量が不足する場合などに被写体を照明する閃光を撮像動作に合わせて発光するフラッシュである。
【0016】
ディジタルカメラ1の側面には、画像データを記憶するためのメモリカード13が装着脱されるカード挿入口8が設けられ、このカード挿入口8の上部にメモリカード13をイジェクトするためのカード取出ボタン9が設けられている。撮影結果を印刷する場合、カード取出ボタン9を押してメモリカード13をディジタルカメラ1から取り外し、メモリカードが装着可能なプリンタにこのメモリカード13を装着することによってプリントアウトすることができる。あるいは、プリンタが接続され、メモリカードが装着可能なパーソナルコンピュータ(以下、「パソコン」と略記する。)にこのメモリカード13を装着することによってプリントアウトすることもできる。さらに、メモリカードが装着可能なパソコンにこのメモリカード13を装着することによって、他のディジタルカメラやスキャナで生成した画像データを記憶することもできる。
【0017】
なお、ディジタルカメラ1にUSB(Universal Serial Bus)のインターフェースを設け、ディジタルカメラ1とプリンタまたはパソコンとをUSBのケーブルで接続することでディジタルカメラ1からプリンタまたはパソコンに画像データを直接転送させて撮影画像を印刷させるようにしてもよい。
【0018】
また、本実施形態では画像データの記録媒体としてPCMCIA(Personal Computer Memory Card International Association)準拠のメモリカードを採用しているが、撮影結果を画像データとして記録することができる記憶媒体であればよく、ハードディスクカード、ミニディスク(MD;Mini−Disk)およびCD−R(Compact Disc Recordable)などの他の記録媒体でもよい。
【0019】
ディジタルカメラ1の上面には左端部にシャッタボタン10が設けられ、右端部にズームスイッチ11と撮影/再生スイッチ12が設けられている。シャッタボタン10は、後述の制御装置26に接続され、半押しで焦点距離調節および露出制御値設定等の撮影準備を指示するS1スイッチがONになり、全押しでレリーズを指示するS2スイッチがONになる操作ボタンである。ズームスイッチ11は、制御装置26に接続され、左右にスライド可能な3接点スイッチから成り、ズームスイッチ11をT(TELL)側にスライドさせると望遠側に、また、W(WlDE)側にスライドさせると広角側に、撮影レンズ2のズーム比を連続的に変更することができる。
【0020】
撮影/再生スイッチ12は、制御装置26に接続され、撮影モードと再生モードとを切換設定するスイッチである。撮影/再生スイッチ12は、左右にスライド可能な2接点切換スイッチから成り、撮影/再生スイッチ12が撮影(REC)側に設定されていると、撮像部20で撮像されている画像がLCD表示部18にモニタ表示されると共に被写体の撮影が可能になり、再生(PLAY)側に設定されていると、メモリカード13に記録された画像データをLCD表示部18(図2参照)へ表示が可能になる。そして、再生側に設定されている場合に、図略のスイッチを操作することによりLCD表示部18に表示した画像に対して後述の画像処理の開始を指示することができる。
【0021】
そして、図2において、ディジタルカメラ1の背面には、電源投入用のメインスイッチ14が背面上部の左端部に設けられ、LCD表示部18が背面の略中央に設けられ、ファインダー接眼窓15が背面上部の右端部に設けられている。また、メインスイッチ14の下部に撮影モード設定スイッチ16と解像度選択スイッチ17とが設けられている。
【0022】
撮影モード設定スイッチ16は、制御装置26に接続された撮影モードを選択するスイッチであり、例えば、操作ボタンが左右にスライドするオン/オフスイッチで構成される。撮影モード設定スイッチ16がオフ(OFF、開)の場合には、通常撮影モードであることを示し、撮影モード設定スイッチ16がオン(ON、閉)の場合には、文字画撮影モードであることを示す。
【0023】
解像度選択スイッチ17は、制御装置26に接続された撮像画像の解像度を選択するスイッチである。解像度選択スイッチ17は、例えば、押しボタン式スイッチで構成され、スイッチが押されるごとに画像サイズが変更され、変更された画像サイズの情報がLCD表示部18に表示される。例えば、解像度選択スイッチ17が押されるごとに、2560画素×1920画素のスーパーファインから順次に1960画素×1440画素のファイン、1280画素×960画素のスタンダードおよび640画素×480画素のエコノミーに変更され、そして、更に押されるとスーパーファインに戻る。
【0024】
また、LCD表示部18は、撮影画像の表示だけでなく、撮影モードか再生モードかの表示や通常撮影モードか文字画撮影モードかの表示などのディジタルカメラ1の撮影設定状態なども表示される。なお、LCD表示部18は、液晶ではなく有機ホトルミネセンスなどを利用した表示装置でもよい。
【0025】
そして、図3に基づいてディジタルカメラ1の構成を説明すると、ディジタルカメラ1は、撮像部20、アナログ/ディジタル変換部(以下、「A/D」と略記する。)21、画像メモリ22、メモリカード13、撮像部駆動部23、カード制御部24、記憶部25、制御装置26、測距部28、ズーム駆動部30、レンズ駆動部31、絞り駆動部32、撮影モード設定スイッチ16、シャッタボタン10、撮影/再生スイッチ12、発光制御部33、LCD駆動部34、測光部35、撮影レンズ2、絞り36、解像度設定スイッチ17、ズームスイッチ11、閃光部7およびLCD表示部18を備えて構成される。そして、制御装置26は、画像サイズ判定部41、区分分け・切出し部42、ブロック下地レベル決定部43、端数ブロック下地レベル充当部44、画素下地レベル決定部45、下地飛ばし階調補正部46、LH/LS演算部47、ホワイトバランス(以下、「WB」と略記する。)微調整部48、RGB/YCrCb変換部49、エッジ強調部50、黒レベル引締め部51、階調拡大補正部52、AF制御値演算部53および露出制御値演算部54を備えて構成される。ここで、画像処理装置に相当する部分は、画像メモリ22、カード制御部24、記憶部25および制御装置26を備えて構成される部分である。
【0026】
撮像部駆動部23は、制御装置26から入力される露出制御値のシャッタスピードに基づいて撮像部20の撮像動作を制御する。撮像部20は、複数の光電変換素子から成る画素を有し、撮像部駆動部23から入力される制御信号に基づき撮像動作(電荷蓄積動作)を行うことによって、被写体光像をR,G,Bの各色成分の画像信号に光電変換して、この画像信号を時系列信号に変換しA/D21に出力する。撮像部20は、例えば、カラーエリアセンサのCCD(Charge−Coupled Devices)の固体撮像素子を備えて構成される。
【0027】
A/D21は、撮像部20から生成されたアナログの画像信号を例えば8ビットのディジタルの画像信号(画像データ)に変換し、画像データを画像メモリ22に出力する。画像メモリ22は、制御装置26に接続され、画像処理を行うために画像データを一時的に記憶するメモリであり、後述の画像処理を行った後に画像データをメモリカード13に出力する。画像メモリ22は、例えば、RAM(Random Access memory)を備えて構成され、後述の画像処理を一括処理し得る容量が用意される。
【0028】
カード制御部24は、画像データを記録するべく制御装置26の制御信号に基づいてメモリカード13の駆動を制御する。記憶部25は、制御装置26に接続され、ディジタルカメラ1を動作させるために必要な各種プログラムやプログラム実行中のデータなどの各種データを記憶するメモリである。記憶部25は、例えば、RAMやROM(Read Only Memory)を備えて構成される。
【0029】
測距部28は、投光窓4の後方位置に設けられた赤外光を発光する投光部27と、受光窓5の後方位置に設けられた被写体で反射した赤外光を受光する受光部29とを備えて構成され、制御装置26からの制御信号に基づいて被写体距離を検出し、検出結果を制御装置26に出力する。測光部35は、測光窓3の後方位置に設けられたSPDなどの受光素子を備えて構成され、制御装置26からの制御信号に基づいて被写体の輝度を測光し、測光結果を制御装置26に出力する。
【0030】
ズーム駆動部30は、制御装置26から入力される駆動信号に基づき撮影レンズ2のズーム動作を制御する。レンズ駆動部31は、制御装置26から入力されるAF制御値に基づき撮影レンズ2の合焦動作を制御する。また、絞り駆動部32は、制御装置26から入力される露出制御値の絞り値Avに基づき絞り36の開口量を制御する。LCD駆動部34は、制御装置26の制御信号に基づいて、画像メモリ22における画像データやディジタルカメラ1の撮影設定状態などをLCD表示部18に表示する制御を行う。発光制御部33は、制御装置26の制御信号に基づいて閃光部7の発光を制御する。
【0031】
制御回路26は、マイクロプロセッサなどを備えて構成され、後述するように各部41〜54によってディジタルカメラの撮影動作および画像処理などを集中制御する。画像サイズ判定部41は、被写体を撮像することによって生成された画像データの大きさを検出し、画像処理可能な画像サイズか?、下地飛ばし階調補正処理可能な画像サイズか?、WB微調整可能な画像サイズか?および区分処理可能な画像サイズか?を判定する。区分分け・切出し部42は、画像データを第1区分の画像データと第2区分の画像データとに分け、第1区分の画像データを切り出す。ブロック下地レベル決定部43は、第1区分において、統計処理によりエリアの下地レベルを演算した後にブロックの下地レベルを演算する。端数ブロック下地レベル充当部44は、第1区分の周辺のブロックにおける下地レベルに基づいて第2区分の端数ブロックに下地レベルを割り当てる。画素下地レベル決定部45は、ブロック下地レベル決定部43および端数ブロック下地レベル充当部44で設定されたブロックの下地レベルに基づいて画素の下地レベルを演算する。下地飛ばし階調補正部46は、照度ムラを軽減し画像の下地部分を明瞭にすべく、画素の下地レベルに基づく特性曲線によって画素の輝度レベルを変換する。LH/LS演算部47は、統計処理により画像のハイライトレベルLHおよびシャドーレベルLSを演算する。WB微調整部48は、所定の演算式に基づいて画像のWBを調整する。RGB/YCrCb変換部49は、RGBデータをYCrCbデータに、そして、YCrCbデータをRGBデータに所定の演算式に基づいて変換する。エッジ強調部50は、フィルタを用いて画像のエッジを強調する。黒レベル引締め部51は、画像の文字などの情報を明瞭にすべく、所定の特性曲線に基づいて画素の輝度レベルを変換する。階調拡大補正部52は、画像のハイライトレベルLHおよびシャドーレベルLSに基づく特性曲線によって画像の階調を伸長する。AF制御値演算部53は、測距部28の出力に基づいて被写体からの光が撮像部20の撮像素子に結像するように撮影レンズ2のフォーカスレンズの駆動量を演算する。露出制御値演算部54は、測光部35の出力に基づいてプログラム制御により絞り値Avおよび露光時間Tvを演算する。
(実施形態の動作)
次に、本発明にかかる画像処理装置を搭載したディジタルカメラの動作について概略を説明した後に詳細に説明する。まず、概略を説明する。
【0032】
図4は、本発明にかかる画像処理の概略のフローチャートを示す図である。
【0033】
図4において、まず、画像処理の対象となる画像データを取り込む(ステップ#1)。画像データは、例えば、その場で被写体を撮像した画像データでもよいし、予めディジタルカメラで被写体を撮像しメモリカード13に格納した画像データでもよいし、スチルカメラで被写体を写した写真をスキャナなどの画像読取装置で画像データ化しパソコンを介してメモリカード13に格納した画像データでもよい。
【0034】
次に、制御装置26は、文書画像処理を行い得るか否かの観点から、画像データの画像サイズおよび画像を判断し、ホワイトボードなどの上に書かれた文字などの情報を撮像した文字画等である場合にはステップ#3の処理を行い、一方、文字画等以外の画像である場合にはステップ#9の処理を行う(ステップ#2)。
【0035】
ステップ#3において、制御装置26は、画像データを第1区分と第2区分とに分ける必要があるか否かについて区分分けの要否を判断し、画像の画像サイズがブロックサイズの整数倍でない場合にはステップ#4の処理を行った後にステップ#5の処理を行い、一方、画像サイズがブロックサイズの整数倍である場合にはステップ#5の処理を行う。例えば、画像の画像サイズが1960画素×1440画素でブロックが128画素の正方形ブロックの場合には、横方向に40画素分、縦方向に32画素分だけ端数の部分が生じることになり、区分分けが必要となる。
【0036】
ステップ#4において、制御装置26は、画像データを第1区分の画像データと第2区分の画像データとに分け、第1区分の画像データを切り出す。第1区分の画像データは、画素数が横方向および縦方向共にブロックにおける各辺の画素数に対し整数倍になるように全体の画像データから切り出した部分であり、第2区分の画像データは、全体の画像データのうち第1区分の画像データを切り出した残余の部分である。例えば、上述の例において、図5に示すように、1960画素×1440画素の画像60のうち、1920画素×1408画素の部分が第1区分61となり、残余の部分が第2区分62となる。第2区分62は、第1区分61の設定の仕方によって異なり、図5(a)に示すように第1区分61−aを画像の中央に取れば第2区分62−aは周辺部分となり、横方向(行方向)に128画素×16画素の端数ブロックと、縦方向(列方向)に20画素×128画素の端数ブロックと、四隅に20画素×16画素の端数ブロックとが生じる。また、図5(b)に示すように第1区分61−bを画像の右上に取れば第2区分62−bは左部及び下部のL字状部分となり、図5(c)に示すように第1区分61−cを画像の左上に取れば第2区分62−cは右部及び下部の横鏡面L字状部分となり、図5(d)に示すように第1区分61−dを画像の右下に取れば第2区分62−dは左部及び上部の縦鏡面L字状部分となり、そして、図5(e)に示すように第1区分61−eを画像の左下に取れば第2区分62−eは右部及び上部の逆L字状部分となる。図5(b)ないし(e)においては、横方向(行方向)に128画素×32画素の端数ブロックと、縦方向(列方向)に40画素×128画素の端数ブロックと、隅に40画素×32画素の端数ブロックとが生じる。このように端数ブロックは、第1区分の設定の仕方によって異なるが、第1区分において正方形ブロックに分割するための横方向の分割境界線および縦方向の分割境界線をそれぞれ第2区分まで延長し、第2区分においてこの延長した分割境界線によって分割された矩形のブロックである。なお、図5は、図示の便宜上、第1区分と第2区分とは異なる尺度で表示されている。
【0037】
ステップ#5において、制御装置26は、下地飛ばし階調補正処理を行うための前処理として、画像60がブロックの整数倍の場合には画像60に対して、また、画像60がブロックの整数倍ではない場合には第1区分61に対して、ブロックごとに前処理値の下地レベルを決定する。
【0038】
そして、制御装置26は、区分分けおよび切出し処理をしたか否かを判断する(ステップ#6)。判断の結果、区分分けおよび切出し処理をした場合には、制御装置26は、第1区分61のブロックにおける下地レベルに基づいて第2区分62の各端数ブロックに前処理値の下地レベルを割り当て、ステップ#8の処理を行う(ステップ#7)。一方、判断の結果、区分分けおよび切出し処理をしていない場合には、制御装置26は、ステップ#8の処理を行う。
【0039】
ステップ#8において、制御装置26は、文字等の情報がより明瞭となるように、画素ごとに輝度レベルが所定の閾値以上の場合には最高輝度レベルに変更する下地飛ばし階調補正処理、フィルタによるエッジ強調処理、および、所定の閾値以下の輝度レベルを黒レベルに変換する黒レベル引締め処理の文書画像処理を行う。下地飛ばし階調補正処理の閾値は、ブロックごとに下地レベルを求めた後にこれを基に画素ごとに設定されるが、区分分け処理や充当処理により画像サイズがブロックの整数倍でない場合でもブロックの下地レベルを決定することができるので、画素ごとの下地レベル、すなわち、閾値を適切に設定することができる。
【0040】
一方、ステップ#9において、文字画等以外の画像の画像データに対し、階調拡大補正などの通常の画像処理を行い、処理を終了する。
【0041】
次に、本発明にかかる画像処理装置を搭載したディジタルカメラの動作について詳細に説明する。図6ないし図9は、本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャートを示す図である。
(撮像時の動作)
図6ないし図9において、撮影をしようと思いユーザが撮影/再生スイッチ12を撮影側に設定すると共にメインスイッチ14をオンにすると、ディジタルカメラ1が起動し、制御装置26は、記憶部に格納されているプログラムを読み込んで実行し、必要な初期化をディジタルカメラ1の各部に行って撮影可能な状態となる。ユーザは、LCD表示部18の解像度表示を参照しながら解像度選択スイッチ17を押すことによって所望の解像度を設定する(ステップ#10)。この状態で制御装置26は、ズームスイッチ11が操作されているか否かを判断する(ステップ#11)。
【0042】
判断の結果、ズームスイッチ11が操作されている場合には、制御装置26は、その操作方向および操作量に応じて撮影レンズ2内のズームレンズをズーム駆動部30で駆動することによってズーム比を変更し、その後ステップ#13の処理を行う(ステップ#12)。一方、判断の結果、ズームスイッチ11が操作されていない場合には、制御装置26は、撮影レンズ2内のズームレンズを駆動することなくそのままの状態でステップ#13の処理を行う。
【0043】
ステップ#13において、制御装置26は、シャッタボタン10が半押しされてS1スイッチがオンであるか否かを判断する。判断の結果、S1スイッチがオフである場合には、制御装置26は、処理をステップ#11に戻す。一方、判断の結果、S1スイッチがオンである場合には、制御装置26は、ステップ#14に移行し、撮影準備のための処理を行う。
【0044】
すなわち、ステップ#14において、制御装置26は、測距部28の投光部27から被写体に向けて測距用の赤外光を投光させ、その赤外光が被写体によって反射した反射光を測距部28の受光部29で受光することによって、測距用のデータを取り込み、被写体距離を演算する。
【0045】
次に、制御装置26は、撮影モード設定スイッチ16が何れに操作されているかを判断することによって撮影モードを判断する(ステップ#15)。判断の結果、文字画撮影モードである場合には、制御装置26は、発光制御部33に発光禁止の制御信号を出力することによって閃光部7の発光を禁止し(ステップ#16)、ステップ#17の処理を行う。一方、判断の結果、通常撮影モードである場合には、制御装置26は、ステップ#17の処理を行う。文字画撮影モードである場合に閃光部7の発光を禁止するのは、例えば、ホワイトボードに対して正面から撮影するシーンでは閃光部7が自動発光される可能性があるが、この撮影シーンでは、閃光がホワイトボ一ドで全反射されて撮像画像の文字が判読不能になる虞れがあるからである。
【0046】
ステップ#17において、制御装置26は、AF制御値演算部53を用いて、被写体距離に基づいて撮影レンズ2のフォーカスレンズを合焦位置に設定するレンズ駆動量を演算し(ステップ#17)、そして、露出制御値演算部54を用いて、測光部35で検出された測光データに基づいて露出制御値を演算する(ステップ#18)。これにより撮影準備処理は、終了してレリーズ待機状態となる。
【0047】
このレリーズ待機状態で、制御装置26は、シャッタボタン10が全押しされてS2スイッチがオンであるか否かを判断する(ステップ#19)。判断の結果、シャッタボタン10が全押しされてS2スイッチがONである場合には、制御装置26は、レリーズ動作を行う。一方、判断の結果、シャッタボタン10が全押しされていない場合には、制御装置26は、さらにシャッタボタン10が半押されS1スイッチがオンであるか否かを判断する(ステップ#20)。判断の結果、S1スイッチがオンである場合(シャッタボタン10の半押し状態が継続している場合)には、制御装置26は、処理をステップ#19に戻してレリーズ待機状態を継続し、一方、S1スイッチがオフである場合には、制御装置26は、処理をステップ#11に戻す。
【0048】
レリーズ動作に移行すると、制御装置26は、まず、レンズ駆動量のデータをレンズ駆動部31に出力して撮影レンズ2の焦点調節を行い(ステップ#21)、露出制御値の絞り値Avのデータを絞り駆動部32に出力して絞り36の開口量を調節する(ステップ#22)。そして、制御装置26は、ステップ#18で得られた露光時間に対応させて撮像部20の撮像素子を露光して電荷を蓄積することによって被写体を撮像し、撮像素子で得られた信号に周知の通常の処理を行って、A/D21を介して、解像度選択スイッチ17で設定された画像サイズの画像データを画像メモリ22に格納する(ステップ#23)。
(画像処理の動作)
次に、制御装置26は、画像サイズ判定部41を用いて、画像の各辺に相当する画素を計数するなどによって、格納した画像データが処理可能な画像サイズか否か判断する(ステップ#31)。画像サイズによって処理の可否を判断するのは、文字画像として画像処理(下地飛ばし階調補正処理)を行う場合でも写真画像として画像処理(階調拡大処理)を行う場合でも、後述するように画像データを統計処理するので、統計処理の性質上或る精度を得るためには、その精度に対応したデータ数が必要だからである。したがって、判断の結果、制御装置26は、画像データが必要なデータ数未満の場合、例えば、480画素×480画素未満の場合には、文字画像処理を行うことができない旨の警告表示をLCD表示部18に表示して(ステップ#32)、処理をステップ#11に戻す。
【0049】
一方、判断の結果、制御装置26は、画像データが必要なデータ数以上の場合には、画像サイズ判定部41を用いて、画像データが下地飛ばし階調補正処理可能な画像サイズか否か判断する(ステップ#33)。下地飛ばし階調補正処理は、後述するように、画像データを複数のブロックに分割してブロックごとに処理するが、或るブロックを処理する場合に当該ブロックの周囲の情報も考慮して処理を行う。このため、必要数のブロックが横方向および縦方向に無いと充分な精度で下地飛ばし階調補正処理を行うことができない。したがって、判断の結果、制御装置26は、画像データが必要なデータ数未満の場合、例えば、短辺が640画素未満の場合には、写真画像として画像処理すべくステップ#60の処理を行う。
【0050】
一方、判断の結果、制御装置26は、画像データが必要なデータ数以上の場合には、画像サイズ判定部41を用いて、WB微調整が可能な画像サイズであるか否かを判断する(ステップ#34)。WB微調整は、図10に示すように、横方向および縦方向ともに80パーセントに当たる画像の中央部(図10における斜線部分)における画素を用いて行うため、この画素数が画像全体の画素数に対し数パーセント未満の割合、例えば5パーセント未満の割合である場合には、使用する画素数が全体の画素数に対して少なすぎるため、WB微調整を行うのは適当ではない。したがって、判断の結果、制御装置26は、画像データがWB微調整を行うに足る画素未満の場合には、写真画像として画像処理すべくステップ#60の処理を行う。
【0051】
また、全体の80パーセントに当たる画像60の中央部をWB微調整の対象のゲイン演算領域61とするのは、画像の周辺部分には背景などが撮像されている場合が多いため、全体の80パーセントに当たる画像の中央部をWB微調整の対象とすれば確実に文字などの情報が撮像されている部分になると考えられるからである。したがって、本実施形態では80パーセントとしたが、この観点から他のパーセンテージを採用してもよい。
【0052】
一方、判断の結果、制御装置26は、生成した画像データがWB微調整を行うに足る画素以上の場合には、WB微調整部48を用いて、WBの微調整を行う(ステップ#35)。すなわち、このWB微調整において、制御装置26は、まず、横方向および縦方向ともに80パーセントに当たる画像の中央部における各画素に対し式1および式2を満たすか否かを判断し、両式を満たす画素を抽出する。
(R−G)2+(B−G)2<ThSwb ・・・ (式1)
0.3R+0.6G+0.1B>ThYwb ・・・ (式2)
【0053】
ここで、R、GおよびBはそれぞれ画素の赤成分のデータ、緑成分のデータおよび青成分のデータである。式1がWBを適切に調整するために有彩色の画素を除外するための式であるので、ThSwbは、このために画素を無彩色であるか有彩色であるかを弁別する値として実験的に決定され、例えば本実施形態ではThSwb=900とした。式2がWBを適切に調整するために輝度の暗い画素を除外するための式であるので、ThYwbは、このために暗い画素であるか明るい画素であるかを弁別する値として実験的に決定され、例えば本実施形態ではThYwb=190とした。そして、制御装置26は、抽出した画素におけるR、GおよびBのそれぞれの総和を求め、Gの総和を基準としてRおよびBに乗算するゲインGain_RおよびゲインGain_Bをそれぞれ求める。さらに、制御装置26は、画像データの全画素に対して求めたゲインGain_RおよびゲインGain_BをそれぞれRおよびBに乗算する。このようにしてWBが微調整される。
【0054】
次に、制御装置26は、画像サイズ判定部41を用いて、画像の各辺の画素を正方形ブロックの一辺の画素数で割り算するなどによって、画像データの画像サイズがブロックで分割した場合に端数が生じるか否かを判断する(ステップ#36)。これによって画像を第1区分と第2区分とに区分けすると共に第1区分を切出す区分分け・切出し処理が必要か否かが判断される。ブロックは、後述の縦方向の計算と横方向の計算とでブロックを容易に一致させ得る観点から、本実施形態では正方形とするが、ブロックを長方形としても本発明を適用することは可能である。また、ブロックを長方形とすると、ブロック内の絵に方向性がある場合に後述の縦方向の計算と横方向の計算との両結果に方向性が反映されてしまうが、ブロックを正方形にすることでこれが無くなるという利点もある。正方形ブロックの大きさは、ヒストグラムの統計処理により適切に下地レベルが検出することができる大きさに、撮像部における撮像素子の画素数や画像サイズなどを考慮して実験的に決定され、例えば本実施形態では128画素とした。
【0055】
判断の結果、端数が生じない場合、すなわち区分分け・切出し処理不要な場合には、制御装置26は、ステップ#38の処理を行う。一方、端数が生じる場合、すなわち区分分け・切出し処理が必要な場合には端数を解消すべく、制御装置26は、区分分け・切出し処理部42を用いて、画像データの画素数が横方向および縦方向共に正方形ブロックにおける一辺の画素数に対し整数倍となる第1区分と、残余の第2区分とに区分分けを行い、第1区分の画像データを画像メモリ22の所定のアドレスにおける記憶領域に格納して切出す。さらに、画像を区分分けした旨の情報を記憶部25の所定のアドレスにおける記憶領域に格納する(ステップ#37)。例えば、画像データの画像サイズが1960画素×1440画素である場合には、横方向が128画素の15以下の整数倍であって縦方向が128画素の12以下の整数倍である画像サイズになるように第1区分として切出すと、第1区分の画像データが正方形ブロックで分割可能となる。後述するように第2区分における下地レベルは第1区分の下地レベルに基づいて充当するので、画像劣化を抑制する観点から、切出す第1区分は、画像において最大の画像サイズであることが好ましい。このため、この場合では、制御装置26は、第1区分の画像サイズが1920画素×1408画素となるように切出す。ここで、1920は128の15倍であり、1408は128の11倍である。第1区分は、例えば、本実施形態では図5(a)に示すように画像の中央部に設定される。
【0056】
次に、制御装置26は、RGB/YCrCb変換部49を用いて、画像データのRGBデータを輝度Yと色差CrCbとの各データに式3ないし式5を用いて変換する(ステップ#38)。
Y=0.3R+0.59G+0.11B ・・・ (式3)
Cr=R−Y ・・・ (式4)
Cb=B−Y ・・・ (式5)
【0057】
次に、制御装置26は、図11に示すように、第1区分の画像データにおいて、周囲を正方形ブロックにおける一辺の画素数の整数倍で除いた中央部の領域を正方形ブロックで分割する。もちろん、ステップ#36において区分分け・切出し処理が不要な画像であった場合には画像そのものの画像データにおいてこの処理が行われる。画像データの周囲を正方形ブロックで分割する対象領域から除外するのは、WB微調整で中央部を対象領域としたのと同様の理由である。除外する周囲を正方形ブロックにおける一辺の画素数の整数倍とするのは、もちろん、正方形ブロックで端数を生じることなく中央部を分割可能とするためである。例えば、上述の1920画素×1408画素の画像サイズの場合には、128画素の幅で周囲の領域を除外し、1664画素×1152画素の中央部を一辺128画素の正方形ブロックで分割する。このように分割すると中央部は、正方形ブロックで13×9に分割される。次に、制御装置26は、各正方形ブロックにおいて、横方向および縦方向共に所定数の画素ごとに式6および式7を用いて彩度Snおよび輝度Ynをそれぞれ求める(ステップ#39)。
【0058】
【数1】
【0059】
【数2】
【0060】
ここで、i,jは所定数ごとの飛び飛びの値であり、nは正方形ブロックの番号である。例えば、正方形ブロックにおける一辺の画素数128の約数である16画素ごとに彩度Snおよび輝度Ynをそれぞれ求める場合には、i,jは0、15、31、・・・のように16ごとの飛び飛びの値であり、サンプリング画素総数は(128/16)×(128/16)=64となる。
【0061】
次に、制御装置26は、求めた彩度Snおよび輝度Ynを用いて、彩度Snの平均値P1、輝度Ynの標準偏差値P2、彩度Snの標準偏差値P3、輝度Ynのヒストグラムにおけるピークとなる階級(クラス)P4、輝度Ynのヒストグラムにおいて輝度Ynの平均値±20パーセントの累積度数P5、および輝度Ynのヒストグラムにおいて輝度Ynの平均値−20パーセント以下の累積度数P6を求める(ステップ#39)。ここで、P4、P5、P6のヒストグラムは、輝度Ynの階調を1/4にした64階調化したデータを用いる。次に、制御装置26は、これらP1ないしP6の6個のパラメータを用いて、予め標準的な文書画像を基に実験的に作成した基準空間に対するマハラノビス距離dを求め、マハラノビス距離dと閾値ThMとの大小を判断する。判断の結果、マハラノビス距離d>閾値ThMである場合には、制御装置26は、画像データが暗い下地の画像、濃い色の下地の画像あるいは写真画像であると判断し、ステップ#60を行う。一方、判断の結果、マハラノビス距離d≦閾値ThMである場合には、制御装置26は、画像データが処理可能な文書画像であると判断し、ステップ#41を行う(ステップ#40)。
【0062】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、画像を縦方向に所定の矩形領域(以下、「エリア」と称する。)65ごとに分割し、各エリア65における縦方向下地レベルVBL_Eを演算する(ステップ#41)。より具体的には、次のように各エリア65の縦方向下地レベルVBL_Eを演算する。まず、制御装置26は、画像を縦方向に所定のエリア65ごとに分割する。所定のエリア65における横方向の幅は、後述するように正方形ブロックにおける下地レベルも演算することから、正方形ブロックの一辺の長さに等しくすることが望ましい。このため、上述の例では、図12に示すように、制御装置26は、1920画素×1408画素の画像を128画素×1408画素のエリア65で分割する。次に、制御装置26は、各エリアにおいて、横方向に8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換すると共に、縦方向も8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換する。そして、制御装置26は、各エリア65において、変換したこれら64階調の輝度Yデータに対して、ヒストグラムを作成する。例えば、図13に示すようなヒストグラムが作成される。図13の横軸は64階調の輝度に合わせて0〜63までの階級であり、縦軸は度数である。次に、制御装置26は、作成したヒストグラムにおいて、式8および式9を満たす度数最大の階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これを当該エリア65の暫定的な縦方向下地レベルVBL_Eとする。
階級>Thc1 ・・・ (式8)
度数>352 ・・・ (式9)
【0063】
ここで、式8は、下地レベルとなるべき階級の範囲を決定する式である。下地レベルは、文字ではない、すなわち、ホワイトボードや紙などの白色の部分である輝度の明るいレベルとなるべきであるから、Thc1は、下地レベルとして不適切な輝度の暗い階級を除外する値として実験的に決定され、本実施形態では例えばThc1=70とした。式9は、下地レベルとなるべき階級における度数の範囲を決定する式である。下地レベルは、度数最大の階級として求めるので少なくとも度数が均等に分布した場合における度数を超える必要がある。そのため、例えば、本実施形態では、度数が均等に分布した場合における度数として、128画素×1408画素の画素数のエリアにおいて横方向および縦方向ともに8画素ごとにサンプリングし256階調を64階調に変換しているので、128×1408/64/8=352と計算される。
【0064】
なお、ヒストグラムを作成するための輝度Yデータにおけるサンプリング間隔は、短ければ精度が向上するが、輝度Yデータ数が増大し演算時間が増大する。このように精度と演算時間はトレードオフの関係にあり、サンプリング間隔は、精度と演算時間のバランスを考慮して決定される。したがって、例えば、制御装置26の演算速度が高速の場合には、縦方向および横方向ともに4画素ごとに輝度Yデータをサンプリングしてもよい。後述のサンプリング間隔も同様に精度と演算時間のバランスを考慮して決定される。
【0065】
次に、制御装置26は、着目するエリア65とこれに隣接するエリア65との3個のエリア65において、暫定的な縦方向下地レベルVBL_Eに対してメディアンを求める。例えば、着目するエリア65−nの暫定的な縦方向下地レベルVBL_E=200、一方に隣接するエリア65−(n−1)の暫定的な縦方向下地レベルVBL_E=210、他方に隣接するエリア65−(n+1)の暫定的な縦方向下地レベルVBL_E=220とすると、メディアンは、210となる。なお、これをmedian(200,210,220)=210と表現する。この着目するエリア65とこれに隣接するエリア65との3個のエリアにおいて、暫定的な縦方向下地レベルVBL_Eに対してメディアンを求めた結果を、着目するエリア65の縦方向下地レベルVBL_Eとする。そして、制御装置26は、このメディアン処理を各エリア65に対して行い、各エリア65の縦方向下地レベルVBL_Eを求める。さらに、制御装置26は、求めた各エリア65の縦方向下地レベルVBL_Eのうち、最大値と最小値とを除いて、各エリア65の縦方向下地レベルVBL_Eの平均値AVBL_Eを求める。そして、制御装置26は、着目するエリア65に対し隣接する両エリア65の縦方向下地レベルVBL_Eがこの縦方向下地レベルVBL_Eの平均値AVBL_Eと所定値(例えば50)以上離れている場合には、着目するエリア65の縦方向下地レベルVBL_Eを図12において左隣のエリア65の縦方向下地レベルVBL_Eに置き換えて修正する。
【0066】
このようにして、制御装置26は、各エリア65の縦方向下地レベルVBL_Eを演算する。
【0067】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、各エリア65を正方形ブロックごとに分割し、各正方形ブロックにおける縦方向下地レベルVBL_Bを演算する(ステップ#42)。より具体的には、次のように各正方形ブロックの縦方向下地レベルVBL_Bを演算する。まず、図14に示すように、制御装置26は、各エリア65を所定の正方形ブロックごとに分割する。上述の例では、制御装置26は、128画素×1408画素のエリアを128画素×128画素の正方形ブロックで分割する。次に、制御装置26は、各正方形ブロックにおいて、横方向に8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換すると共に、縦方向も8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換する。そして、制御装置26は、各正方形ブロックにおいて、変換したこれら64階調の輝度Yデータに対して、ヒストグラムを作成する。例えば、図15に示すようなヒストグラムが作成される。図15の横軸は64階調の輝度に合わせて0〜63までの階級であり、縦軸は度数である。次に、制御装置26は、作成したヒストグラムにおいて、高輝度側から低輝度側へ順に調べ、式10、式11および「当該階級より低輝度側3階級の各度数よりも度数が大きいこと」を満たす階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これを第1ピーク輝度とする。
階級>Thc2 ・・・ (式10)
度数>32 ・・・ (式11)
【0068】
ここで、Thc2は、Thc1と同様な考え方による数値であり、例えば本実施形態ではThc2=70とした。式11の32は、式9の384と同様な考え方による数値であり、度数が均等に分布した場合における度数として、128画素×128画素の画素数の正方形ブロックにおいて横方向および縦方向ともに8画素ごとにサンプリングし256階調を64階調に変換しているので、128×128/64/8=32として求まる数値である。
【0069】
さらに、制御装置26は、作成したヒストグラムにおいて、第1ピーク輝度に対応する階級から低輝度側へ順に調べ、式12、式13、「当該階級より1つ高輝度側の階級における度数よりも度数が大きいこと」および「当該階級より低輝度側への3つの階級における各度数よりも度数が大きいこと」を満たす階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これを第2ピーク輝度とする。
階級>Thc3 ・・・ (式12)
度数>32 ・・・ (式13)
【0070】
ここで、Thc3は、Thc1と同様な考え方による数値であるが第1ピーク輝度よりも低輝度側にあるべきであるから、例えば本実施形態では80とした。
【0071】
次に、制御装置26は、第1ピーク輝度と第2ピーク輝度とを当該正方形ブロックが属するエリア65における縦方向下地レベルVBL_Eとそれぞれ比較し、当該正方形ブロックが属するエリア65における縦方向下地レベルVBL_Eに近い方のピーク輝度を当該正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bとする。例えば、第1ピーク輝度=220、第2ピーク輝度=190で属するエリア65の縦方向下地レベル=200の場合には、第2ピーク輝度の方が近いので、正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=190となる。
【0072】
ここで、選択されたピーク輝度が、属するエリア65の縦方向下地レベルVBL_Eと60以上の差がある場合には、制御装置26は、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bを、属するエリア65における縦方向下地レベルVBL_Eに置き換える修正を行い、一方、選択されたピーク輝度が、属するエリアの縦方向下地レベルVBL_Eと40以上60未満の差がある場合には、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bを、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bと属するエリア65における縦方向下地レベルVBL_Eとの平均値で置き換える修正を行う。例えば、第1ピーク輝度=160、第2ピーク輝度=110で属するエリア65の縦方向下地レベル=230の場合には、第1ピーク輝度の方が近いが60以上離れているので(230−160=70)、正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=230となる。また例えば、第1ピーク輝度=180、第2ピーク輝度=110で属するエリア65の縦方向下地レベル=230の場合には、第1ピーク輝度の方が近いが40以上60未満だけ離れているので(230−180=50)、正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=(180+230)/2=205となる。
【0073】
全正方形ブロックについて上述のように正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bを求めた後に、制御装置26は、着目する正方形ブロックとこれに横方向および縦方向に隣接する4個の正方形ブロックとに対し、最大値と最小値とを除いた正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bの平均値を求め、求めた平均値を着目する正方形ブロックにおける縦方向下地レベルVBL_Bとする。例えば、着目する正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=200、これに横方向に左右に隣接する正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=210、220、および、これに縦方向に上下に隣接する正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=190、210の場合には、最大値220および最小値190とを除いた平均値(200+210+210)/3=207を着目する正方形ブロックにおける縦方向下地レベルVBL_Bとする。
【0074】
ここで、画像の周辺に位置する正方形ブロックの場合、および、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bが、属するエリア65の縦方向下地レベルVBL_Eの平均値AVBL_Eより所定値(例えば50)以上離れている場合には、上述の平均値を求める処理を行わずに、画像の内側隣にある正方形ブロックにおける縦方向下地レベルVBL_Bを当該正方形ブロックにおける縦方向下地レベルVBL_Bとする。例えば、図14において一番上の列にある正方形ブロックは、1個下の正方形ブロックにおける縦方向下地レベルVBL_Bを採用し、右上端の正方形ブロックは、左下の正方形ブロックにおける縦方向下地レベルVBL_Bを採用する。
【0075】
このようにして、制御装置26は、各正方形ブロックの縦方向下地レベルVBL_Bを演算する。
【0076】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、画像を横方向に所定のエリアごとに分割し、各エリアにおける横方向下地レベルHBL_Eをステップ#41で求めたエリアにおける縦方向下地レベルVBL_Eと同様に演算する(ステップ#43)。エリアは、例えば、1920画素×1408画素の画像を1920画素×128画素のエリアで分割する。
【0077】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、横方向に分割した各エリアを所定の正方形ブロックごとに分割し、各正方形ブロックにおける横方向下地レベルHBL_Bをステップ#42で求めた正方形ブロックにおける縦方向下地レベルVBL_Bと同様に演算する(ステップ#44)。
【0078】
制御装置26は、ステップ#41ないしステップ#44のように動作することによって、画像の一のブロックに対して縦方向と横方向との2方向から下地レベルを算出する。
【0079】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、正方形ブロックにおける縦方向下地レベルVBL_Bと横方向下地レベルHBL_Bとを比較し、値の大きい方(輝度の高い方)を当該正方形ブロックにおける下地レベルBL_Bとし、ステップ#42とステップ#44で求めた値を統合する(ステップ#45)。
【0080】
以上の処理により、第1区分の画像または画像そのものの画像データにおいて、画像を正方形ブロックに分割し、正方形ブロック単位で前処理値である下地レベルBL_Bが求められたので、次に、制御装置26は、第2区分の画像において、端数ブロックの前処理値である下地レベルBL_Bを演算する。
【0081】
まず、制御装置26は、記憶部25の所定のアドレスにおける記憶領域を参照して、画像を区分分け・切出し処理を行ったか否かを判断する(ステップ#46)。判断の結果、区分分け・切出し処理を行っていない場合には、制御装置26は、ステップ#48の処理を行う。一方、判断の結果、区分分け・切出し処理を行っている場合には、制御装置26は、端数ブロック下地レベル充当部44を用いて、端数ブロックに対してブロックの下地レベルを第1区分のブロックの下地レベルBL_Bに基づいて充当する(ステップ#37)。
【0082】
図16は、ブロックの下地レベルと端数ブロックの下地レベルとの関係を説明するための、画像のコーナ部分を示す図である。
【0083】
例えば、端数ブロック72におけるブロックの下地レベルBL_Bは、当該端数ブロックに隣接する第1区分に属するブロック71におけるブロックの下地レベルBL_B=zをそのまま採用することによって充当され、コーナの端数ブロックにおけるブロックの下地レベルBL_Bは、最も近い第1区分に属するコーナのブロックにおけるブロックの下地レベルBL_Bによって充当される。
【0084】
すなわち、図16において、図5(a)に示すように第1区分61を画像60の中央部に設定すると第2区分62は、第1区分61の周辺部分となる。第2区分62および第1区分61におけるi行j列(i,jは、0から始まる整数)のブロック(端数ブロック72または正方形ブロック71)におけるブロックの下地レベルBL_B−ij=Zijと表すと、0行の各端数ブロック72−0jにおけるブロックの下地レベルBL_B−0jは、1行の各正方形ブロック71−1jにおけるブロックの下地レベルBL_B−1j=Z1jがそれぞれ採用される。0列の各端数ブロック72−i0におけるブロックの下地レベルBL_B−i0は、1列の各正方形ブロック71−i1におけるブロックの下地レベルBL_B−i1=Zi1がそれぞれ採用される。コーナの端数ブロック72−00におけるブロックの下地レベルBL_B−00は、最も近い第1区分に属するコーナのブロック71−11におけるブロックの下地レベルBL_B−11=Z11が採用される。他のコーナの端数ブロックも同様である。
【0085】
また例えば、端数ブロック72におけるブロックの下地レベルBL_Bは、当該端数ブロックに隣接する第1区分に属するブロック71におけるブロックの下地レベルBL_Bと、この隣接するブロック71の方向における1個または複数個のブロック71の下地レベルBL_Bとを用いて線形外挿することによって充当され、コーナの端数ブロックにおけるブロックの下地レベルBL_Bは、当該コーナの端数ブロックに隣接する2個の端数ブロックにおけるブロックの下地レベルBL_Bを平均することによって充当されるようにしてもよい。
【0086】
すなわち、図16において、0行の各端数ブロック72−0jにおけるブロックの下地レベルBL_B−0jは、2個のブロックの下地レベルBL_Bで線形外挿する場合には、1行の各正方形ブロック71−1jにおけるブロックの下地レベルBL_B−1j=Z1jと2行の各正方形ブロック71−1jにおけるブロックの下地レベルBL_B−2j=Z2jとを用いて線形外挿することによって求めた値Z1j−(Z1j+Z2j)/2がそれぞれ採用される。0列の各端数ブロック72−i0におけるブロックの下地レベルBL_B−i0は、2個のブロックの下地レベルBL_Bで線形外挿する場合には、1列の各正方形ブロック71−i1におけるブロックの下地レベルBL_B−i1=Zi1と2列の各正方形ブロック71−i2におけるブロックの下地レベルBL_B−i2=Zi2とを用いて線形外挿することによって求めた値Zi1−(Zi1+Zi2)/2がそれぞれ採用される。コーナの端数ブロック72−00におけるブロックの下地レベルBL_B−00は、隣接する端数ブロック72−01、72−10におけるブロックの下地レベルBL_B−01、BL_B−10を平均することによって求めた値(Z11+Z11)/2が採用される。
【0087】
このようにして、制御装置26は、第2区分の各端数ブロックにおけるブロックの下地レベルBL_Bを第1区分のブロックにおけるブロックの下地レベルBL_Bに基づいて充当する。
【0088】
次に、制御装置26は、画素下地レベル決定部45を用いて、これら端数ブロックおよび正方形ブロックにおけるブロックの下地レベルを基に各画素の下地レベルを演算する(ステップ#48)。
【0089】
すなわち、p行r列のブロック(正方形ブロックまたは端数ブロック)の下地レベルをBL_Bp、rとすると、制御装置26は、図17に示すように、p行r列のブロック、p+1行r列のブロック、p行r+1列のブロック、および、p+1行r+1列のブロックの各中心画素PQRSを4頂点とする領域を設定し、この領域において横方向および縦方向ともに4画素ごとに各画素Ta,bの下地レベルBL_Ta,bをBL_Bp、r、BL_Bp+1、r、BL_Bp、r+1、BL_Bp+1、r+1に基づいて線形内挿(式14)によって計算する。
【0090】
【数3】
【0091】
ここで、PQをx軸にPRをy軸にした点Pを座標原点とするxy座標系を考えると、aはPQRSを4頂点とする領域の一辺の長さであり、bは計算対象の画素Ta,bにおけるx軸の座標値であり、cは計算対象の画素Ta,bにおけるy軸の座標値である。
【0092】
本実施形態にかかるディジタルカメラ1は、このように4画素ごとの画素の下地レベルBL_Tを近隣の4個のブロックの下地レベルBL_Bp、r、BL_Bp+1、r、BL_Bp、r+1、BL_Bp+1、r+1を用いて求めるので、ブロック間の下地レベルBL_Bの相違に基づく画質の不連続を緩和することができる。
【0093】
このように横方向および縦方向ともに4画素ごとに画素の下地レベルBL_Tを求めたので、図18に示すように、4画素×4画素のセルのうちで1画素の下地レベルBL_Tを求めたことになる。そこで、制御装置26は、セル内で唯一求められているこの下地レベルBL_Tを、セル内で下地レベルを求めていない画素の下地レベルBL_Tとする。
【0094】
上記で下地レベルBL_Tを求めることができる画素は、図17から分かるように、端数ブロックの一辺の半分の画素だけ横方向に内側にあって、且つ、端数ブロックの一辺の半分の画素だけ縦方向にも内側にある中央部の領域における画素である。図5(a)に示すように中央部に第1区分を設定すると、1940画素×1424画素の中央部の領域における画素について求めることができる。
【0095】
したがって、この中央部を除いた周辺部分の画素の下地レベルBL_Tは、次にように決定する。すなわち、制御装置26は、図19(a)(b)に示すように、周辺部分の画素の下地レベルBL_Tを中央部分の領域における最外辺の画素の下地レベルBL_Tをそのまま使用する。つまり、周辺部分のうち横方向の部分は、横方向における最外辺の各画素の下地レベルBL_Tを縦方向にそれぞれ延長してそのまま使用し、周辺部分のうち縦方向の部分は、縦方向における最外辺の各画素の下地レベルBL_Tを横方向にそれぞれ延長してそのまま使用し、周辺部分のうち角の部分は、最外辺の角の下地レベルを拡大してそのまま使用する。
【0096】
このようにして制御装置26は、総ての画素の下地レベルBL_Tを決定する。
【0097】
次に、制御装置26は、エッジ強調部50を用いて、各画素の輝度Yデータにフィルタを用いてエッジ強調する(ステップ#49)。フィルタは、エッジ強調の程度によって最適なフィルタが選択されるが、例えば、図20に示すように、対象画素を2倍し、対象画素に対し横方向および縦方向に隣接する画素を−1/4にするフィルタを使用する。
【0098】
次に、制御装置26は、下地飛ばし階調補正部46を用いて、各画素に対して下地飛ばし補正特性を用いて下地飛ばし階調補正を行う(ステップ#50)。すなわち、下地飛ばし補正特性は、図21に示すように、画素Ta,bにおいて、零から画素Ta,bの下地レベルBL_Ta,bまでは入力Yinを線形変換し、下地レベルBL_Ta,b以上では入力Yinを最高の輝度レベル(例えば、256階調では255レベル)に変換する。すなわち、画素Tabの輝度Yデータは、画素Tabの下地レベルBL_Tabを閾値として線形変換するか可能な最高の輝度レベルに変換するかが決定される。したがって、この閾値は、画素に固有な値である。例えば、画素Tabの輝度Yデータは、入力輝度データYin≦閾値BL_Ta,bの場合では、出力Yout=(最高輝度階調値255×入力Yin)/BL_Ta,bと線形変換され、入力輝度データYin>閾値BL_Ta,bの場合では、出力Yout=最高輝度階調値255と変換される。
【0099】
次に、制御装置26は、黒レベル引締め部51を用いて、各画素に対して黒レベル引締め処理を行う(ステップ#51)。黒レベル引締め処理は、例えば、図22に示す補正特性を用いて、輝度Yデータを変換する。黒レベル引締め処理に使用される補正特性は、図22に示すように、閾値(図では一例として144)より小さい輝度Yデータの入力Yinに対しては黒レベルに変換する特性である。
【0100】
次に、制御装置26は、RGB/YCrCb変換部49を用いて、輝度Y色差CrCbデータをRGBデータに式15ないし式17を用いて再変換する(ステップ#52)。
R=Y+Cr ・・・ 式15
G=Y−0.51Cr−0.19Cb ・・・ 式16
B=Y+Cb ・・・ 式17
【0101】
次に、制御装置26は、カード制御部24などを用いて、画像データをメモリカード13に格納し(ステップ#53)、ステップ#11の処理に戻る。
【0102】
以上のように、本実施形態にかかるディジタルカメラ1は、正方形ブロックで端数を生じることなく分割することができるように撮像画像を区分分けするので、下地飛ばし階調補正処理に必要な値をブロックごとに容易に求めることができる。このため、任意の画像サイズにおける文字画像に対して、ホワイトボードなどの白地部分に対する文字情報部分のコントラストを高くして文字情報の明瞭化を図るとともに照度ムラを低減して全体的に見やすくする画像処理を行うことができる。よって、描写性よりも情報の判読性の高い画質という、文字画像に対する要求に応えることができる。
(下地飛ばし補正処理不可能な画像、WB微調整不可能な画像、暗い下地の画像、濃い色の下地の画像または写真画像の場合における画像処理)
一方、下地飛ばし補正処理不可能な画像、WB微調整不可能な画像、暗い下地の画像、濃い色の下地の画像または写真画像の場合には、制御装置26は、RGB/YCrCb変換部49を用いて、画像データのRGBデータを輝度Yと色差CrCbとの各データに式3ないし式5を用いて変換する(ステップ#60)。
【0103】
次に、制御装置26は、LH/LS演算部を用いて、ハイライトレベルLHおよびシャドーレベルLSを演算する(ステップ#61)。すなわち、制御装置26は、まず、全画像領域において、階調を1/4にした64階調のデータに輝度Yデータを変換する。次に、制御装置26は、変換したこれら64階調の輝度Yデータに対して、図23に示すようなヒストグラムを作成する。次に、制御装置26は、高輝度側である最高階級(63)から度数を積算し、積算した度数が全度数の数パーセント(例えば1パーセント)を超えた時点の階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これをハイライトレベルLHとする。次に、制御装置26は、低輝度側である最低階級(0)から度数を積算し、積算した度数が全度数の数パーセント(例えば1パーセント)を超えた時点の階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これをシャドーレベルLSとする。
【0104】
次に、制御装置26は、階調拡大補正部52を用いて、各画素に対して階調拡大補正特性を用いて階調拡大補正を行う(ステップ#62)。階調拡大補正特性は、図24に示すように、零からシャドーレベルLSまでは入力Yinを黒レベルに変換し、シャドーレベルLSからハイライトレベルまでは入力Yinを線形変換し、ハイライトレベル以上では入力Yinを最高の輝度レベル(例えば、256階調では255レベル)に変換する。
【0105】
次に、制御装置26は、RGB/YCrCb変換部49を用いて、輝度Y色差CrCbデータをRGBデータに式15ないし式17を用いて再変換し(ステップ#63)、ステップ#52を処理する。
【0106】
このように本実施形態にかかるディジタルカメラ1は、下地飛ばし補正処理不可能な画像、WB微調整不可能な画像、暗い下地の画像、濃い色の下地の画像および写真画像の場合には、ステップ#33、ステップ#34およびステップ#40でそれぞれ自動的に判別され、ステップ#60ないしステップ63によって適切な階調拡大補正処理がなされる。このため、このような画像の場合でも、本実施形態にかかるディジタルカメラ1は、階調のレンジ(本実施形態では256階調)を有効に活用して適切な階調で撮像画像を変換し、描写性の高い画質を得ることができる。
【0107】
なお、上述の実施形態では、RGBの画像データをYCrCbの画像データに変換して輝度Yデータを用いて画像処理を行ったが、特開平10−210287号公報に開示されているように、RGBの画像データのままでGデータに基づいて照度ムラ補正用の特性を設定し、さらにRおよびBの照度ムラ補正用の特性を設定することによって画像処理を行ってもよい。
【0108】
また、上述の実施形態では、ディジタルカメラで撮影した画像データをリアルタイムで文書画像処理を行う実施形態を説明したが、予め文書画像を撮像した画像データまたはスチルカメラで文書画像を撮影した写真をスキャナなどの画像読取装置で読み取った画像データなどを画像処理装置で文書画像処理を行うようにしてもよい。画像読取装置は、例えば、画像メモリ22、カード制御部24、記憶部25、コマンドなどを入力するキーボードやマウスなどの入力装置、画像や入力されたコマンドなどを表示するLCDやCRTなどの出力装置およびこれら画像メモリ22、カード制御部24、記憶部25、入力装置および出力装置を制御すると共に図7ないし図9のステップ#31ないしステップ#53およびステップ#60ないしステップ#63を処理する制御装置26を備えて構成する。あるいは、画像読取装置は、図7ないし図9のステップ#31ないしステップ53およびステップ#60ないしステップ#63を処理するコンピュータプログラムを記録したコンピュータ読取可能な記憶媒体からインストールすることによってコンピュータを利用するようにしてもよい。コンピュータは、例えば、プログラムおよびプログラム実行中の各種データなどを記憶する記憶部と、コマンド(命令)や必要なデータなどを入力する入力部(例えばキーボードやマウスなど)と、画像や各種データなどを外部に出力する出力部(例えばディスプレイやプリンタなど)と、これら記憶部、入力部および出力部を制御すると共にプログラムの実行など各種演算処理を行うプロセッサとを備え、さらに、必要に応じて、補助記憶装置、外部記憶装置または通信インターフェースなどを備える。記憶媒体は、例えば、フレキシブルディスク、CD−ROM、CD−R、DVDおよびメモリーカードなどである。文書画像処理対象の画像データは、メモリカードなどの記憶媒体に一端記憶させて画像処理装置に入力する。
【0109】
以上、本明細書に開示された主な発明を以下にまとめる。
(付記1) 画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えることを特徴とする画像処理装置。
(付記2) 前記画像処理は、画像の階調を調整するシェーディング処理であることを特徴とする付記1に記載の画像処理装置。
(付記3) 前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含むことを特徴とする付記2に記載の画像処理装置。
(付記4) 前記所定ブロックは、正方形であることを特徴とする付記1に記載の画像処理装置。
(付記5) 前記第2演算手段は、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を線形外挿により求めることを特徴とする付記1に記載の画像処理装置。
(付記6) コンピュータに、画像の画像サイズを検出する第1ステップと、前記第1ステップの検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける第2ステップと、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第3ステップと、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求め第4ステップと、前記第3および第4ステップで求めた前処理値に基づいて前記画像を画像処理する第5ステップとを実行させるための画像処理プログラム。
(付記7) 前記画像処理は、画像の階調を調整するシェーディング処理であることを特徴とする付記6に記載の画像処理プログラム。
(付記8) 前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含むことを特徴とする付記7に記載の画像処理プログラム。
(付記9) 前記所定ブロックは、正方形であることを特徴とする付記6に記載の画像処理プログラム。
(付記10) 前記第4ステップは、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を線形外挿により求めることを特徴とする付記6に記載の画像処理プログラム。
(付記11) 複数の光電変換素子から成る画素を有し、被写体光像を画像信号に光電変換して取り込む撮像手段と、前記撮像手段で取り込んだ画像信号に基づいて、画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において前記所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えることを特徴とするディジタルカメラ。
(付記12) 前記画像処理は、画像の階調を調整するシェーディング処理であることを特徴とする付記10に記載のディジタルカメラ。
(付記13) 前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含むことを特徴とする付記12に記載のディジタルカメラ。
(付記14) 前記所定ブロックは、正方形であることを特徴とする付記10に記載のディジタルカメラ。
(付記15) 前記第2演算手段は、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を線形外挿により求めることを特徴とする付記10に記載のディジタルカメラ。
(付記16) コンピュータに、画像の画像サイズを検出する第1ステップと、前記第1ステップの検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける第2ステップと、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第3ステップと、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求め第4ステップと、前記第3および第4ステップで求めた前処理値に基づいて前記画像を画像処理する第5ステップとを実行させるための画像処理プログラムが記録されたコンピュータ読取可能な記憶媒体。
【0110】
【発明の効果】
以上のように、本発明によれば、画像の画像サイズが横方向および縦方向の一方向または両方向が所定ブロックの対応する方向の長さに対して整数倍ではない場合には、画像の画像サイズが横方向および縦方向共に所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに画像を区分分けするので、任意の画像サイズの画像に対して画像処理を施すことができる。
【0111】
さらに、本発明によれば、画像の画像サイズを所定ブロックの整数倍になるように第1区分を分けるので、この第1区分について従来のソフトウェアを用いて下地レベルを容易に求めることができる。そして、第2区分における下地レベルも第1区分における下地レベルを用いて求めることができるので、下地飛ばし階調補正処理を行うことができる。このため、画像がホワイトボードなどの上に書かれた文字などの情報を得る目的で撮られたとしても、文字などの情報が書かれたホワイトボードなどの下地部分の画像における照度ムラを軽減し、文字などの情報を明瞭化することができ、容易に情報を判読することができる。
【図面の簡単な説明】
【図1】本発明にかかる画像処理装置を搭載したディジタルカメラの外観を示す斜視図である。
【図2】本発明にかかる画像処理装置を搭載したディジタルカメラの背面図である。
【図3】本発明にかかる画像処理装置を搭載したディジタルカメラの構成を示すブロック図である。
【図4】本発明にかかる画像処理の概略のフローチャートを示す図である。
【図5】画像を第1区分と第2区分とに区分けする態様の一例を示す図である。
【図6】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その1)を示す図である。
【図7】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その2)を示す図である。
【図8】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その3)を示す図である。
【図9】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その4)を示す図である。
【図10】ホワイトバランスを微調整する場合に使用する画像データを示す図である。
【図11】正方形ブロックで分割する画像の中央部を示す図である。
【図12】画像をエリアごとに分割した状況を説明する図である。
【図13】或るエリアにおける64階調の輝度Yデータに対するヒストグラムの一例を示す図である。
【図14】画像を正方形ブロックごとに分割した状況を説明する図である。
【図15】或る正方形ブロックにおける64階調の輝度Yデータに対するヒストグラムの一例を示す図である。
【図16】ブロックの下地レベルと端数ブロックの下地レベルとの関係を説明するための、画像のコーナ部分を示す図である。
【図17】4個の正方形ブロックの各下地レベルから画素の下地レベルを線形内挿によって求める方法を説明する図である。
【図18】線形内挿によって求める画素の下地レベルとセルとの関係を示す図である。
【図19】画像の周辺部分の画素における下地レベルの決定方法を説明する図である。
【図20】エッジ強調におけるフィルタの一例を示す図である。
【図21】下地飛ばし階調補正に使用する補正特性の一例を示す図である。
【図22】黒レベル引締め処理に使用する補正特性の一例を示す図である。
【図23】画像の64階調の輝度Yデータに対するヒストグラムの一例を示す図である。
【図24】階調拡大補正に使用する補正特性の一例を示す図である。
【符号の説明】
1 ディジタルカメラ
13 メモリカード
22 画像メモリ
25 記憶部
26 制御装置
41 画像サイズ判定部
42 区分分け・切出し部
43 ブロック下地レベル決定部
44 端数ブロック下地レベル決定部
45 画素下地レベル決定部
46 下地飛ばし階調補正部
47 LH/LS演算部
48 WB微調整部
49 RGB/YCrCb変換部
50 エッジ強調部
51 黒レベル引締め部
52 階調拡大補正部
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に、画像処理に必要な値を演算し得る部分を画像から区分けして該値を求め、演算し得ない部分に該値を充てることによって、任意の画像サイズの画像を文字などの情報が明瞭となるように画像処理し得る画像処理装置に関する。さらに、該画像処理装置に適用される画像処理プログラムおよび該画像処理装置を搭載したディジタルカメラに関する。
【0002】
【従来の技術】
近年、ディジタルカメラは、撮影後の現像処理が不要なことや画像処理により撮影した画像を様々な画像に容易に変更することができることなどから、急速に普及し始めている。ディジタルカメラは、この画像処理が容易という利点から、通常の写真撮影のためだけでなく、例えば、会議場や展示場などでホワイトボードやパネルなどに書かれた文字や図形などの情報を記録するための機器としても利用されている。このようなディジタルカメラの利用法では、ホワイトボードなどの上の情報を記録することが専ら主目的であるから、情報部分が認識できることが重要である。
【0003】
しかしながら、ホワイトボードなどは、例えば天井灯や窓外の太陽光などによって照明される場合のように、たいてい多方向から照明される。そのため、照明光の不均一により照度ムラが生じてしまって、ホワイトボードなどの上の情報が不明瞭となってしまう場合がある。
【0004】
そこで、本願発明者の一人は、カラー画像で撮影した場合にも適正に照度ムラ補正を行い、ホワイトボードなどの上に書かれた文字等の情報を明瞭にすることができる技術について、特願平9−13020号で提案し特開平10−210287号公報で開示された。この技術は、画像を所定の画素数より成る正方形のブロックに複数に分割し、各ブロックごとに輝度レベルを統計処理することによって画素ごとに閾値を決定し、画素の輝度レベルがこの閾値以上の場合には輝度レベルを白色飽和レベルに飛ばすことによってホワイトボードなどの画像部分を白色飽和レベルに階調補正して、ホワイトボードなどの上に書かれた文字等の情報を明瞭にするものである。このように画像処理を行うため、画像サイズは、アプリケーションソフトの設計の容易性やコストダウンの要請などから、ちょうど所定画素数の正方形ブロックで分割することができる画像サイズに限定していた。
【0005】
【発明が解決しようとする課題】
ところで、画像処理したい画像が、机や壁などの背景がホワイトボードの周囲に写っている画像である場合や、ユーザ(使用者)が取り出したい情報の部分を全体画像から切り出した画像である場合や、ユーザがホワイトボードなどの上の情報を撮像する際に、限定した画像サイズ以外の画像サイズで撮像した画像である場合などがある。このような場合には、画像サイズが限定した画像サイズに成り難く、そのまま上述の画像処理を行うと所定画素数の正方形ブロックで分割する際に端数が生じてしまう。例えば、1550画素×1140画素の画像を100画素の正方形ブロックで分割する場合では、1550画素×1140画素のうち1500画素×1100画素の部分は、この正方形ブロックで分割できるが残余の部分が正方形ブロックに満たない矩形の端数ブロックとして残ってしまう。そのため、従来の技術は、このような画像を取り扱うことができないという問題があった。
【0006】
そこで、本発明では、上述の問題に鑑みて為された発明であり、任意の画像サイズの画像でも適正に画像処理を行い、ホワイトボードなどの上に書かれた文字等の情報を明瞭にすることができる画像処理装置を提供することを目的とする。そして、この画像処理装置に採用されている画像処理プログラムおよびこの画像処理装置を搭載したディジタルカメラを提供することを目的とする。
【0007】
【課題を解決するための手段】
上述の目的を達成するために、本発明にかかる画像処理装置は、画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えて構成される。
【0008】
そして、本発明にかかる画像処理プログラムは、コンピュータに、画像の画像サイズを検出する第1ステップと、前記第1ステップの検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける第2ステップと、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第3ステップと、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求め第4ステップと、前記第3および第4ステップで求めた前処理値に基づいて前記画像を画像処理する第5ステップとを実行させるように構成される。
【0009】
また、本発明にかかるディジタルカメラは、複数の光電変換素子から成る画素を有し、被写体光像を画像信号に光電変換して取り込む撮像手段と、前記撮像手段で取り込んだ画像信号に基づいて、画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えて構成される。
【0010】
このような構成の画像処理装置、画像処理プログラムおよびディジタルカメラは、画像を所定ブロックで分割し得る第1区分と残余の第2区分とに分けるので、第1区分について画像処理に必要な前処理値を既存のソフトウェアを用いて所定ブロックごとに容易に求めることができる。そして、この前処理値を用いて第2区分における前処理値を求めるので、第1区分および第2区分における前処理値を用いて画像処理することができる。第1区分および第2区分の区分分けは、任意の画像サイズの画像に行うことができるから、任意の画像サイズの画像について画像処理を行うことができる。
【0011】
さらに、上述の画像処理装置において、好ましくは、前記画像処理は、画像の階調を調整するシェーディング処理である。このような画像処理装置は、画像の階調を調整するので、再現性の良い画像を得ることができる。
【0012】
また、この画像処理装置において、好ましくは、前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含む。このような画像処理装置は、下地飛ばし階調補正処理を行うので、画像がホワイトボードなどの上に書かれた文字などの情報を得る目的で撮られた場合に、文字などの情報が書かれたホワイトボードなどの下地部分の画像における照度ムラを軽減し、文字などの情報を明瞭化するので、容易に情報を判読することができる。
【0013】
【発明の実施の形態】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の構成については、同一の符号を付し、その説明を省略する。
(実施形態の構成)
図1は、本発明にかかる画像処理装置を搭載したディジタルカメラの外観を示す斜視図である。図2は、本発明にかかる画像処理装置を搭載したディジタルカメラの背面図である。図3は、本発明にかかる画像処理装置を搭載したディジタルカメラの構成を示すブロック図である。
【0014】
図1に基づいて外観を概説すると、ディジタルカメラ1は、前面の略中央に撮影レンズ2が配設され、その上部にアクティブ測距方式により被写体距離を測定するための投光窓4と受光窓5とが配設され、両窓の間に被写体の輝度を測定するための測光窓3が配設されている。また、投光窓4の左側にファインダー対物窓6が配設され、受光窓5の右側に閃光部7が配設されている。
【0015】
撮影レンズ2は、ズームレンズやフォーカスレンズを備えて構成され、被写体からの光を後述の撮像部20に適切な光量および合焦点で導光する撮像光学系である。投光窓4は、被写体に対して赤外光を照射する窓であり、受光窓5は、この赤外光が被写体によって反射した反射光を受光する窓である。なお、本実施形態では測距方式としてアクティブ測距方式を採用しているが、パッシブ測距方式でもよい。閃光部7は、被写体からの光量が不足する場合などに被写体を照明する閃光を撮像動作に合わせて発光するフラッシュである。
【0016】
ディジタルカメラ1の側面には、画像データを記憶するためのメモリカード13が装着脱されるカード挿入口8が設けられ、このカード挿入口8の上部にメモリカード13をイジェクトするためのカード取出ボタン9が設けられている。撮影結果を印刷する場合、カード取出ボタン9を押してメモリカード13をディジタルカメラ1から取り外し、メモリカードが装着可能なプリンタにこのメモリカード13を装着することによってプリントアウトすることができる。あるいは、プリンタが接続され、メモリカードが装着可能なパーソナルコンピュータ(以下、「パソコン」と略記する。)にこのメモリカード13を装着することによってプリントアウトすることもできる。さらに、メモリカードが装着可能なパソコンにこのメモリカード13を装着することによって、他のディジタルカメラやスキャナで生成した画像データを記憶することもできる。
【0017】
なお、ディジタルカメラ1にUSB(Universal Serial Bus)のインターフェースを設け、ディジタルカメラ1とプリンタまたはパソコンとをUSBのケーブルで接続することでディジタルカメラ1からプリンタまたはパソコンに画像データを直接転送させて撮影画像を印刷させるようにしてもよい。
【0018】
また、本実施形態では画像データの記録媒体としてPCMCIA(Personal Computer Memory Card International Association)準拠のメモリカードを採用しているが、撮影結果を画像データとして記録することができる記憶媒体であればよく、ハードディスクカード、ミニディスク(MD;Mini−Disk)およびCD−R(Compact Disc Recordable)などの他の記録媒体でもよい。
【0019】
ディジタルカメラ1の上面には左端部にシャッタボタン10が設けられ、右端部にズームスイッチ11と撮影/再生スイッチ12が設けられている。シャッタボタン10は、後述の制御装置26に接続され、半押しで焦点距離調節および露出制御値設定等の撮影準備を指示するS1スイッチがONになり、全押しでレリーズを指示するS2スイッチがONになる操作ボタンである。ズームスイッチ11は、制御装置26に接続され、左右にスライド可能な3接点スイッチから成り、ズームスイッチ11をT(TELL)側にスライドさせると望遠側に、また、W(WlDE)側にスライドさせると広角側に、撮影レンズ2のズーム比を連続的に変更することができる。
【0020】
撮影/再生スイッチ12は、制御装置26に接続され、撮影モードと再生モードとを切換設定するスイッチである。撮影/再生スイッチ12は、左右にスライド可能な2接点切換スイッチから成り、撮影/再生スイッチ12が撮影(REC)側に設定されていると、撮像部20で撮像されている画像がLCD表示部18にモニタ表示されると共に被写体の撮影が可能になり、再生(PLAY)側に設定されていると、メモリカード13に記録された画像データをLCD表示部18(図2参照)へ表示が可能になる。そして、再生側に設定されている場合に、図略のスイッチを操作することによりLCD表示部18に表示した画像に対して後述の画像処理の開始を指示することができる。
【0021】
そして、図2において、ディジタルカメラ1の背面には、電源投入用のメインスイッチ14が背面上部の左端部に設けられ、LCD表示部18が背面の略中央に設けられ、ファインダー接眼窓15が背面上部の右端部に設けられている。また、メインスイッチ14の下部に撮影モード設定スイッチ16と解像度選択スイッチ17とが設けられている。
【0022】
撮影モード設定スイッチ16は、制御装置26に接続された撮影モードを選択するスイッチであり、例えば、操作ボタンが左右にスライドするオン/オフスイッチで構成される。撮影モード設定スイッチ16がオフ(OFF、開)の場合には、通常撮影モードであることを示し、撮影モード設定スイッチ16がオン(ON、閉)の場合には、文字画撮影モードであることを示す。
【0023】
解像度選択スイッチ17は、制御装置26に接続された撮像画像の解像度を選択するスイッチである。解像度選択スイッチ17は、例えば、押しボタン式スイッチで構成され、スイッチが押されるごとに画像サイズが変更され、変更された画像サイズの情報がLCD表示部18に表示される。例えば、解像度選択スイッチ17が押されるごとに、2560画素×1920画素のスーパーファインから順次に1960画素×1440画素のファイン、1280画素×960画素のスタンダードおよび640画素×480画素のエコノミーに変更され、そして、更に押されるとスーパーファインに戻る。
【0024】
また、LCD表示部18は、撮影画像の表示だけでなく、撮影モードか再生モードかの表示や通常撮影モードか文字画撮影モードかの表示などのディジタルカメラ1の撮影設定状態なども表示される。なお、LCD表示部18は、液晶ではなく有機ホトルミネセンスなどを利用した表示装置でもよい。
【0025】
そして、図3に基づいてディジタルカメラ1の構成を説明すると、ディジタルカメラ1は、撮像部20、アナログ/ディジタル変換部(以下、「A/D」と略記する。)21、画像メモリ22、メモリカード13、撮像部駆動部23、カード制御部24、記憶部25、制御装置26、測距部28、ズーム駆動部30、レンズ駆動部31、絞り駆動部32、撮影モード設定スイッチ16、シャッタボタン10、撮影/再生スイッチ12、発光制御部33、LCD駆動部34、測光部35、撮影レンズ2、絞り36、解像度設定スイッチ17、ズームスイッチ11、閃光部7およびLCD表示部18を備えて構成される。そして、制御装置26は、画像サイズ判定部41、区分分け・切出し部42、ブロック下地レベル決定部43、端数ブロック下地レベル充当部44、画素下地レベル決定部45、下地飛ばし階調補正部46、LH/LS演算部47、ホワイトバランス(以下、「WB」と略記する。)微調整部48、RGB/YCrCb変換部49、エッジ強調部50、黒レベル引締め部51、階調拡大補正部52、AF制御値演算部53および露出制御値演算部54を備えて構成される。ここで、画像処理装置に相当する部分は、画像メモリ22、カード制御部24、記憶部25および制御装置26を備えて構成される部分である。
【0026】
撮像部駆動部23は、制御装置26から入力される露出制御値のシャッタスピードに基づいて撮像部20の撮像動作を制御する。撮像部20は、複数の光電変換素子から成る画素を有し、撮像部駆動部23から入力される制御信号に基づき撮像動作(電荷蓄積動作)を行うことによって、被写体光像をR,G,Bの各色成分の画像信号に光電変換して、この画像信号を時系列信号に変換しA/D21に出力する。撮像部20は、例えば、カラーエリアセンサのCCD(Charge−Coupled Devices)の固体撮像素子を備えて構成される。
【0027】
A/D21は、撮像部20から生成されたアナログの画像信号を例えば8ビットのディジタルの画像信号(画像データ)に変換し、画像データを画像メモリ22に出力する。画像メモリ22は、制御装置26に接続され、画像処理を行うために画像データを一時的に記憶するメモリであり、後述の画像処理を行った後に画像データをメモリカード13に出力する。画像メモリ22は、例えば、RAM(Random Access memory)を備えて構成され、後述の画像処理を一括処理し得る容量が用意される。
【0028】
カード制御部24は、画像データを記録するべく制御装置26の制御信号に基づいてメモリカード13の駆動を制御する。記憶部25は、制御装置26に接続され、ディジタルカメラ1を動作させるために必要な各種プログラムやプログラム実行中のデータなどの各種データを記憶するメモリである。記憶部25は、例えば、RAMやROM(Read Only Memory)を備えて構成される。
【0029】
測距部28は、投光窓4の後方位置に設けられた赤外光を発光する投光部27と、受光窓5の後方位置に設けられた被写体で反射した赤外光を受光する受光部29とを備えて構成され、制御装置26からの制御信号に基づいて被写体距離を検出し、検出結果を制御装置26に出力する。測光部35は、測光窓3の後方位置に設けられたSPDなどの受光素子を備えて構成され、制御装置26からの制御信号に基づいて被写体の輝度を測光し、測光結果を制御装置26に出力する。
【0030】
ズーム駆動部30は、制御装置26から入力される駆動信号に基づき撮影レンズ2のズーム動作を制御する。レンズ駆動部31は、制御装置26から入力されるAF制御値に基づき撮影レンズ2の合焦動作を制御する。また、絞り駆動部32は、制御装置26から入力される露出制御値の絞り値Avに基づき絞り36の開口量を制御する。LCD駆動部34は、制御装置26の制御信号に基づいて、画像メモリ22における画像データやディジタルカメラ1の撮影設定状態などをLCD表示部18に表示する制御を行う。発光制御部33は、制御装置26の制御信号に基づいて閃光部7の発光を制御する。
【0031】
制御回路26は、マイクロプロセッサなどを備えて構成され、後述するように各部41〜54によってディジタルカメラの撮影動作および画像処理などを集中制御する。画像サイズ判定部41は、被写体を撮像することによって生成された画像データの大きさを検出し、画像処理可能な画像サイズか?、下地飛ばし階調補正処理可能な画像サイズか?、WB微調整可能な画像サイズか?および区分処理可能な画像サイズか?を判定する。区分分け・切出し部42は、画像データを第1区分の画像データと第2区分の画像データとに分け、第1区分の画像データを切り出す。ブロック下地レベル決定部43は、第1区分において、統計処理によりエリアの下地レベルを演算した後にブロックの下地レベルを演算する。端数ブロック下地レベル充当部44は、第1区分の周辺のブロックにおける下地レベルに基づいて第2区分の端数ブロックに下地レベルを割り当てる。画素下地レベル決定部45は、ブロック下地レベル決定部43および端数ブロック下地レベル充当部44で設定されたブロックの下地レベルに基づいて画素の下地レベルを演算する。下地飛ばし階調補正部46は、照度ムラを軽減し画像の下地部分を明瞭にすべく、画素の下地レベルに基づく特性曲線によって画素の輝度レベルを変換する。LH/LS演算部47は、統計処理により画像のハイライトレベルLHおよびシャドーレベルLSを演算する。WB微調整部48は、所定の演算式に基づいて画像のWBを調整する。RGB/YCrCb変換部49は、RGBデータをYCrCbデータに、そして、YCrCbデータをRGBデータに所定の演算式に基づいて変換する。エッジ強調部50は、フィルタを用いて画像のエッジを強調する。黒レベル引締め部51は、画像の文字などの情報を明瞭にすべく、所定の特性曲線に基づいて画素の輝度レベルを変換する。階調拡大補正部52は、画像のハイライトレベルLHおよびシャドーレベルLSに基づく特性曲線によって画像の階調を伸長する。AF制御値演算部53は、測距部28の出力に基づいて被写体からの光が撮像部20の撮像素子に結像するように撮影レンズ2のフォーカスレンズの駆動量を演算する。露出制御値演算部54は、測光部35の出力に基づいてプログラム制御により絞り値Avおよび露光時間Tvを演算する。
(実施形態の動作)
次に、本発明にかかる画像処理装置を搭載したディジタルカメラの動作について概略を説明した後に詳細に説明する。まず、概略を説明する。
【0032】
図4は、本発明にかかる画像処理の概略のフローチャートを示す図である。
【0033】
図4において、まず、画像処理の対象となる画像データを取り込む(ステップ#1)。画像データは、例えば、その場で被写体を撮像した画像データでもよいし、予めディジタルカメラで被写体を撮像しメモリカード13に格納した画像データでもよいし、スチルカメラで被写体を写した写真をスキャナなどの画像読取装置で画像データ化しパソコンを介してメモリカード13に格納した画像データでもよい。
【0034】
次に、制御装置26は、文書画像処理を行い得るか否かの観点から、画像データの画像サイズおよび画像を判断し、ホワイトボードなどの上に書かれた文字などの情報を撮像した文字画等である場合にはステップ#3の処理を行い、一方、文字画等以外の画像である場合にはステップ#9の処理を行う(ステップ#2)。
【0035】
ステップ#3において、制御装置26は、画像データを第1区分と第2区分とに分ける必要があるか否かについて区分分けの要否を判断し、画像の画像サイズがブロックサイズの整数倍でない場合にはステップ#4の処理を行った後にステップ#5の処理を行い、一方、画像サイズがブロックサイズの整数倍である場合にはステップ#5の処理を行う。例えば、画像の画像サイズが1960画素×1440画素でブロックが128画素の正方形ブロックの場合には、横方向に40画素分、縦方向に32画素分だけ端数の部分が生じることになり、区分分けが必要となる。
【0036】
ステップ#4において、制御装置26は、画像データを第1区分の画像データと第2区分の画像データとに分け、第1区分の画像データを切り出す。第1区分の画像データは、画素数が横方向および縦方向共にブロックにおける各辺の画素数に対し整数倍になるように全体の画像データから切り出した部分であり、第2区分の画像データは、全体の画像データのうち第1区分の画像データを切り出した残余の部分である。例えば、上述の例において、図5に示すように、1960画素×1440画素の画像60のうち、1920画素×1408画素の部分が第1区分61となり、残余の部分が第2区分62となる。第2区分62は、第1区分61の設定の仕方によって異なり、図5(a)に示すように第1区分61−aを画像の中央に取れば第2区分62−aは周辺部分となり、横方向(行方向)に128画素×16画素の端数ブロックと、縦方向(列方向)に20画素×128画素の端数ブロックと、四隅に20画素×16画素の端数ブロックとが生じる。また、図5(b)に示すように第1区分61−bを画像の右上に取れば第2区分62−bは左部及び下部のL字状部分となり、図5(c)に示すように第1区分61−cを画像の左上に取れば第2区分62−cは右部及び下部の横鏡面L字状部分となり、図5(d)に示すように第1区分61−dを画像の右下に取れば第2区分62−dは左部及び上部の縦鏡面L字状部分となり、そして、図5(e)に示すように第1区分61−eを画像の左下に取れば第2区分62−eは右部及び上部の逆L字状部分となる。図5(b)ないし(e)においては、横方向(行方向)に128画素×32画素の端数ブロックと、縦方向(列方向)に40画素×128画素の端数ブロックと、隅に40画素×32画素の端数ブロックとが生じる。このように端数ブロックは、第1区分の設定の仕方によって異なるが、第1区分において正方形ブロックに分割するための横方向の分割境界線および縦方向の分割境界線をそれぞれ第2区分まで延長し、第2区分においてこの延長した分割境界線によって分割された矩形のブロックである。なお、図5は、図示の便宜上、第1区分と第2区分とは異なる尺度で表示されている。
【0037】
ステップ#5において、制御装置26は、下地飛ばし階調補正処理を行うための前処理として、画像60がブロックの整数倍の場合には画像60に対して、また、画像60がブロックの整数倍ではない場合には第1区分61に対して、ブロックごとに前処理値の下地レベルを決定する。
【0038】
そして、制御装置26は、区分分けおよび切出し処理をしたか否かを判断する(ステップ#6)。判断の結果、区分分けおよび切出し処理をした場合には、制御装置26は、第1区分61のブロックにおける下地レベルに基づいて第2区分62の各端数ブロックに前処理値の下地レベルを割り当て、ステップ#8の処理を行う(ステップ#7)。一方、判断の結果、区分分けおよび切出し処理をしていない場合には、制御装置26は、ステップ#8の処理を行う。
【0039】
ステップ#8において、制御装置26は、文字等の情報がより明瞭となるように、画素ごとに輝度レベルが所定の閾値以上の場合には最高輝度レベルに変更する下地飛ばし階調補正処理、フィルタによるエッジ強調処理、および、所定の閾値以下の輝度レベルを黒レベルに変換する黒レベル引締め処理の文書画像処理を行う。下地飛ばし階調補正処理の閾値は、ブロックごとに下地レベルを求めた後にこれを基に画素ごとに設定されるが、区分分け処理や充当処理により画像サイズがブロックの整数倍でない場合でもブロックの下地レベルを決定することができるので、画素ごとの下地レベル、すなわち、閾値を適切に設定することができる。
【0040】
一方、ステップ#9において、文字画等以外の画像の画像データに対し、階調拡大補正などの通常の画像処理を行い、処理を終了する。
【0041】
次に、本発明にかかる画像処理装置を搭載したディジタルカメラの動作について詳細に説明する。図6ないし図9は、本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャートを示す図である。
(撮像時の動作)
図6ないし図9において、撮影をしようと思いユーザが撮影/再生スイッチ12を撮影側に設定すると共にメインスイッチ14をオンにすると、ディジタルカメラ1が起動し、制御装置26は、記憶部に格納されているプログラムを読み込んで実行し、必要な初期化をディジタルカメラ1の各部に行って撮影可能な状態となる。ユーザは、LCD表示部18の解像度表示を参照しながら解像度選択スイッチ17を押すことによって所望の解像度を設定する(ステップ#10)。この状態で制御装置26は、ズームスイッチ11が操作されているか否かを判断する(ステップ#11)。
【0042】
判断の結果、ズームスイッチ11が操作されている場合には、制御装置26は、その操作方向および操作量に応じて撮影レンズ2内のズームレンズをズーム駆動部30で駆動することによってズーム比を変更し、その後ステップ#13の処理を行う(ステップ#12)。一方、判断の結果、ズームスイッチ11が操作されていない場合には、制御装置26は、撮影レンズ2内のズームレンズを駆動することなくそのままの状態でステップ#13の処理を行う。
【0043】
ステップ#13において、制御装置26は、シャッタボタン10が半押しされてS1スイッチがオンであるか否かを判断する。判断の結果、S1スイッチがオフである場合には、制御装置26は、処理をステップ#11に戻す。一方、判断の結果、S1スイッチがオンである場合には、制御装置26は、ステップ#14に移行し、撮影準備のための処理を行う。
【0044】
すなわち、ステップ#14において、制御装置26は、測距部28の投光部27から被写体に向けて測距用の赤外光を投光させ、その赤外光が被写体によって反射した反射光を測距部28の受光部29で受光することによって、測距用のデータを取り込み、被写体距離を演算する。
【0045】
次に、制御装置26は、撮影モード設定スイッチ16が何れに操作されているかを判断することによって撮影モードを判断する(ステップ#15)。判断の結果、文字画撮影モードである場合には、制御装置26は、発光制御部33に発光禁止の制御信号を出力することによって閃光部7の発光を禁止し(ステップ#16)、ステップ#17の処理を行う。一方、判断の結果、通常撮影モードである場合には、制御装置26は、ステップ#17の処理を行う。文字画撮影モードである場合に閃光部7の発光を禁止するのは、例えば、ホワイトボードに対して正面から撮影するシーンでは閃光部7が自動発光される可能性があるが、この撮影シーンでは、閃光がホワイトボ一ドで全反射されて撮像画像の文字が判読不能になる虞れがあるからである。
【0046】
ステップ#17において、制御装置26は、AF制御値演算部53を用いて、被写体距離に基づいて撮影レンズ2のフォーカスレンズを合焦位置に設定するレンズ駆動量を演算し(ステップ#17)、そして、露出制御値演算部54を用いて、測光部35で検出された測光データに基づいて露出制御値を演算する(ステップ#18)。これにより撮影準備処理は、終了してレリーズ待機状態となる。
【0047】
このレリーズ待機状態で、制御装置26は、シャッタボタン10が全押しされてS2スイッチがオンであるか否かを判断する(ステップ#19)。判断の結果、シャッタボタン10が全押しされてS2スイッチがONである場合には、制御装置26は、レリーズ動作を行う。一方、判断の結果、シャッタボタン10が全押しされていない場合には、制御装置26は、さらにシャッタボタン10が半押されS1スイッチがオンであるか否かを判断する(ステップ#20)。判断の結果、S1スイッチがオンである場合(シャッタボタン10の半押し状態が継続している場合)には、制御装置26は、処理をステップ#19に戻してレリーズ待機状態を継続し、一方、S1スイッチがオフである場合には、制御装置26は、処理をステップ#11に戻す。
【0048】
レリーズ動作に移行すると、制御装置26は、まず、レンズ駆動量のデータをレンズ駆動部31に出力して撮影レンズ2の焦点調節を行い(ステップ#21)、露出制御値の絞り値Avのデータを絞り駆動部32に出力して絞り36の開口量を調節する(ステップ#22)。そして、制御装置26は、ステップ#18で得られた露光時間に対応させて撮像部20の撮像素子を露光して電荷を蓄積することによって被写体を撮像し、撮像素子で得られた信号に周知の通常の処理を行って、A/D21を介して、解像度選択スイッチ17で設定された画像サイズの画像データを画像メモリ22に格納する(ステップ#23)。
(画像処理の動作)
次に、制御装置26は、画像サイズ判定部41を用いて、画像の各辺に相当する画素を計数するなどによって、格納した画像データが処理可能な画像サイズか否か判断する(ステップ#31)。画像サイズによって処理の可否を判断するのは、文字画像として画像処理(下地飛ばし階調補正処理)を行う場合でも写真画像として画像処理(階調拡大処理)を行う場合でも、後述するように画像データを統計処理するので、統計処理の性質上或る精度を得るためには、その精度に対応したデータ数が必要だからである。したがって、判断の結果、制御装置26は、画像データが必要なデータ数未満の場合、例えば、480画素×480画素未満の場合には、文字画像処理を行うことができない旨の警告表示をLCD表示部18に表示して(ステップ#32)、処理をステップ#11に戻す。
【0049】
一方、判断の結果、制御装置26は、画像データが必要なデータ数以上の場合には、画像サイズ判定部41を用いて、画像データが下地飛ばし階調補正処理可能な画像サイズか否か判断する(ステップ#33)。下地飛ばし階調補正処理は、後述するように、画像データを複数のブロックに分割してブロックごとに処理するが、或るブロックを処理する場合に当該ブロックの周囲の情報も考慮して処理を行う。このため、必要数のブロックが横方向および縦方向に無いと充分な精度で下地飛ばし階調補正処理を行うことができない。したがって、判断の結果、制御装置26は、画像データが必要なデータ数未満の場合、例えば、短辺が640画素未満の場合には、写真画像として画像処理すべくステップ#60の処理を行う。
【0050】
一方、判断の結果、制御装置26は、画像データが必要なデータ数以上の場合には、画像サイズ判定部41を用いて、WB微調整が可能な画像サイズであるか否かを判断する(ステップ#34)。WB微調整は、図10に示すように、横方向および縦方向ともに80パーセントに当たる画像の中央部(図10における斜線部分)における画素を用いて行うため、この画素数が画像全体の画素数に対し数パーセント未満の割合、例えば5パーセント未満の割合である場合には、使用する画素数が全体の画素数に対して少なすぎるため、WB微調整を行うのは適当ではない。したがって、判断の結果、制御装置26は、画像データがWB微調整を行うに足る画素未満の場合には、写真画像として画像処理すべくステップ#60の処理を行う。
【0051】
また、全体の80パーセントに当たる画像60の中央部をWB微調整の対象のゲイン演算領域61とするのは、画像の周辺部分には背景などが撮像されている場合が多いため、全体の80パーセントに当たる画像の中央部をWB微調整の対象とすれば確実に文字などの情報が撮像されている部分になると考えられるからである。したがって、本実施形態では80パーセントとしたが、この観点から他のパーセンテージを採用してもよい。
【0052】
一方、判断の結果、制御装置26は、生成した画像データがWB微調整を行うに足る画素以上の場合には、WB微調整部48を用いて、WBの微調整を行う(ステップ#35)。すなわち、このWB微調整において、制御装置26は、まず、横方向および縦方向ともに80パーセントに当たる画像の中央部における各画素に対し式1および式2を満たすか否かを判断し、両式を満たす画素を抽出する。
(R−G)2+(B−G)2<ThSwb ・・・ (式1)
0.3R+0.6G+0.1B>ThYwb ・・・ (式2)
【0053】
ここで、R、GおよびBはそれぞれ画素の赤成分のデータ、緑成分のデータおよび青成分のデータである。式1がWBを適切に調整するために有彩色の画素を除外するための式であるので、ThSwbは、このために画素を無彩色であるか有彩色であるかを弁別する値として実験的に決定され、例えば本実施形態ではThSwb=900とした。式2がWBを適切に調整するために輝度の暗い画素を除外するための式であるので、ThYwbは、このために暗い画素であるか明るい画素であるかを弁別する値として実験的に決定され、例えば本実施形態ではThYwb=190とした。そして、制御装置26は、抽出した画素におけるR、GおよびBのそれぞれの総和を求め、Gの総和を基準としてRおよびBに乗算するゲインGain_RおよびゲインGain_Bをそれぞれ求める。さらに、制御装置26は、画像データの全画素に対して求めたゲインGain_RおよびゲインGain_BをそれぞれRおよびBに乗算する。このようにしてWBが微調整される。
【0054】
次に、制御装置26は、画像サイズ判定部41を用いて、画像の各辺の画素を正方形ブロックの一辺の画素数で割り算するなどによって、画像データの画像サイズがブロックで分割した場合に端数が生じるか否かを判断する(ステップ#36)。これによって画像を第1区分と第2区分とに区分けすると共に第1区分を切出す区分分け・切出し処理が必要か否かが判断される。ブロックは、後述の縦方向の計算と横方向の計算とでブロックを容易に一致させ得る観点から、本実施形態では正方形とするが、ブロックを長方形としても本発明を適用することは可能である。また、ブロックを長方形とすると、ブロック内の絵に方向性がある場合に後述の縦方向の計算と横方向の計算との両結果に方向性が反映されてしまうが、ブロックを正方形にすることでこれが無くなるという利点もある。正方形ブロックの大きさは、ヒストグラムの統計処理により適切に下地レベルが検出することができる大きさに、撮像部における撮像素子の画素数や画像サイズなどを考慮して実験的に決定され、例えば本実施形態では128画素とした。
【0055】
判断の結果、端数が生じない場合、すなわち区分分け・切出し処理不要な場合には、制御装置26は、ステップ#38の処理を行う。一方、端数が生じる場合、すなわち区分分け・切出し処理が必要な場合には端数を解消すべく、制御装置26は、区分分け・切出し処理部42を用いて、画像データの画素数が横方向および縦方向共に正方形ブロックにおける一辺の画素数に対し整数倍となる第1区分と、残余の第2区分とに区分分けを行い、第1区分の画像データを画像メモリ22の所定のアドレスにおける記憶領域に格納して切出す。さらに、画像を区分分けした旨の情報を記憶部25の所定のアドレスにおける記憶領域に格納する(ステップ#37)。例えば、画像データの画像サイズが1960画素×1440画素である場合には、横方向が128画素の15以下の整数倍であって縦方向が128画素の12以下の整数倍である画像サイズになるように第1区分として切出すと、第1区分の画像データが正方形ブロックで分割可能となる。後述するように第2区分における下地レベルは第1区分の下地レベルに基づいて充当するので、画像劣化を抑制する観点から、切出す第1区分は、画像において最大の画像サイズであることが好ましい。このため、この場合では、制御装置26は、第1区分の画像サイズが1920画素×1408画素となるように切出す。ここで、1920は128の15倍であり、1408は128の11倍である。第1区分は、例えば、本実施形態では図5(a)に示すように画像の中央部に設定される。
【0056】
次に、制御装置26は、RGB/YCrCb変換部49を用いて、画像データのRGBデータを輝度Yと色差CrCbとの各データに式3ないし式5を用いて変換する(ステップ#38)。
Y=0.3R+0.59G+0.11B ・・・ (式3)
Cr=R−Y ・・・ (式4)
Cb=B−Y ・・・ (式5)
【0057】
次に、制御装置26は、図11に示すように、第1区分の画像データにおいて、周囲を正方形ブロックにおける一辺の画素数の整数倍で除いた中央部の領域を正方形ブロックで分割する。もちろん、ステップ#36において区分分け・切出し処理が不要な画像であった場合には画像そのものの画像データにおいてこの処理が行われる。画像データの周囲を正方形ブロックで分割する対象領域から除外するのは、WB微調整で中央部を対象領域としたのと同様の理由である。除外する周囲を正方形ブロックにおける一辺の画素数の整数倍とするのは、もちろん、正方形ブロックで端数を生じることなく中央部を分割可能とするためである。例えば、上述の1920画素×1408画素の画像サイズの場合には、128画素の幅で周囲の領域を除外し、1664画素×1152画素の中央部を一辺128画素の正方形ブロックで分割する。このように分割すると中央部は、正方形ブロックで13×9に分割される。次に、制御装置26は、各正方形ブロックにおいて、横方向および縦方向共に所定数の画素ごとに式6および式7を用いて彩度Snおよび輝度Ynをそれぞれ求める(ステップ#39)。
【0058】
【数1】
【0059】
【数2】
【0060】
ここで、i,jは所定数ごとの飛び飛びの値であり、nは正方形ブロックの番号である。例えば、正方形ブロックにおける一辺の画素数128の約数である16画素ごとに彩度Snおよび輝度Ynをそれぞれ求める場合には、i,jは0、15、31、・・・のように16ごとの飛び飛びの値であり、サンプリング画素総数は(128/16)×(128/16)=64となる。
【0061】
次に、制御装置26は、求めた彩度Snおよび輝度Ynを用いて、彩度Snの平均値P1、輝度Ynの標準偏差値P2、彩度Snの標準偏差値P3、輝度Ynのヒストグラムにおけるピークとなる階級(クラス)P4、輝度Ynのヒストグラムにおいて輝度Ynの平均値±20パーセントの累積度数P5、および輝度Ynのヒストグラムにおいて輝度Ynの平均値−20パーセント以下の累積度数P6を求める(ステップ#39)。ここで、P4、P5、P6のヒストグラムは、輝度Ynの階調を1/4にした64階調化したデータを用いる。次に、制御装置26は、これらP1ないしP6の6個のパラメータを用いて、予め標準的な文書画像を基に実験的に作成した基準空間に対するマハラノビス距離dを求め、マハラノビス距離dと閾値ThMとの大小を判断する。判断の結果、マハラノビス距離d>閾値ThMである場合には、制御装置26は、画像データが暗い下地の画像、濃い色の下地の画像あるいは写真画像であると判断し、ステップ#60を行う。一方、判断の結果、マハラノビス距離d≦閾値ThMである場合には、制御装置26は、画像データが処理可能な文書画像であると判断し、ステップ#41を行う(ステップ#40)。
【0062】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、画像を縦方向に所定の矩形領域(以下、「エリア」と称する。)65ごとに分割し、各エリア65における縦方向下地レベルVBL_Eを演算する(ステップ#41)。より具体的には、次のように各エリア65の縦方向下地レベルVBL_Eを演算する。まず、制御装置26は、画像を縦方向に所定のエリア65ごとに分割する。所定のエリア65における横方向の幅は、後述するように正方形ブロックにおける下地レベルも演算することから、正方形ブロックの一辺の長さに等しくすることが望ましい。このため、上述の例では、図12に示すように、制御装置26は、1920画素×1408画素の画像を128画素×1408画素のエリア65で分割する。次に、制御装置26は、各エリアにおいて、横方向に8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換すると共に、縦方向も8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換する。そして、制御装置26は、各エリア65において、変換したこれら64階調の輝度Yデータに対して、ヒストグラムを作成する。例えば、図13に示すようなヒストグラムが作成される。図13の横軸は64階調の輝度に合わせて0〜63までの階級であり、縦軸は度数である。次に、制御装置26は、作成したヒストグラムにおいて、式8および式9を満たす度数最大の階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これを当該エリア65の暫定的な縦方向下地レベルVBL_Eとする。
階級>Thc1 ・・・ (式8)
度数>352 ・・・ (式9)
【0063】
ここで、式8は、下地レベルとなるべき階級の範囲を決定する式である。下地レベルは、文字ではない、すなわち、ホワイトボードや紙などの白色の部分である輝度の明るいレベルとなるべきであるから、Thc1は、下地レベルとして不適切な輝度の暗い階級を除外する値として実験的に決定され、本実施形態では例えばThc1=70とした。式9は、下地レベルとなるべき階級における度数の範囲を決定する式である。下地レベルは、度数最大の階級として求めるので少なくとも度数が均等に分布した場合における度数を超える必要がある。そのため、例えば、本実施形態では、度数が均等に分布した場合における度数として、128画素×1408画素の画素数のエリアにおいて横方向および縦方向ともに8画素ごとにサンプリングし256階調を64階調に変換しているので、128×1408/64/8=352と計算される。
【0064】
なお、ヒストグラムを作成するための輝度Yデータにおけるサンプリング間隔は、短ければ精度が向上するが、輝度Yデータ数が増大し演算時間が増大する。このように精度と演算時間はトレードオフの関係にあり、サンプリング間隔は、精度と演算時間のバランスを考慮して決定される。したがって、例えば、制御装置26の演算速度が高速の場合には、縦方向および横方向ともに4画素ごとに輝度Yデータをサンプリングしてもよい。後述のサンプリング間隔も同様に精度と演算時間のバランスを考慮して決定される。
【0065】
次に、制御装置26は、着目するエリア65とこれに隣接するエリア65との3個のエリア65において、暫定的な縦方向下地レベルVBL_Eに対してメディアンを求める。例えば、着目するエリア65−nの暫定的な縦方向下地レベルVBL_E=200、一方に隣接するエリア65−(n−1)の暫定的な縦方向下地レベルVBL_E=210、他方に隣接するエリア65−(n+1)の暫定的な縦方向下地レベルVBL_E=220とすると、メディアンは、210となる。なお、これをmedian(200,210,220)=210と表現する。この着目するエリア65とこれに隣接するエリア65との3個のエリアにおいて、暫定的な縦方向下地レベルVBL_Eに対してメディアンを求めた結果を、着目するエリア65の縦方向下地レベルVBL_Eとする。そして、制御装置26は、このメディアン処理を各エリア65に対して行い、各エリア65の縦方向下地レベルVBL_Eを求める。さらに、制御装置26は、求めた各エリア65の縦方向下地レベルVBL_Eのうち、最大値と最小値とを除いて、各エリア65の縦方向下地レベルVBL_Eの平均値AVBL_Eを求める。そして、制御装置26は、着目するエリア65に対し隣接する両エリア65の縦方向下地レベルVBL_Eがこの縦方向下地レベルVBL_Eの平均値AVBL_Eと所定値(例えば50)以上離れている場合には、着目するエリア65の縦方向下地レベルVBL_Eを図12において左隣のエリア65の縦方向下地レベルVBL_Eに置き換えて修正する。
【0066】
このようにして、制御装置26は、各エリア65の縦方向下地レベルVBL_Eを演算する。
【0067】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、各エリア65を正方形ブロックごとに分割し、各正方形ブロックにおける縦方向下地レベルVBL_Bを演算する(ステップ#42)。より具体的には、次のように各正方形ブロックの縦方向下地レベルVBL_Bを演算する。まず、図14に示すように、制御装置26は、各エリア65を所定の正方形ブロックごとに分割する。上述の例では、制御装置26は、128画素×1408画素のエリアを128画素×128画素の正方形ブロックで分割する。次に、制御装置26は、各正方形ブロックにおいて、横方向に8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換すると共に、縦方向も8画素ごとに階調を1/4にした64階調のデータに輝度Yデータを変換する。そして、制御装置26は、各正方形ブロックにおいて、変換したこれら64階調の輝度Yデータに対して、ヒストグラムを作成する。例えば、図15に示すようなヒストグラムが作成される。図15の横軸は64階調の輝度に合わせて0〜63までの階級であり、縦軸は度数である。次に、制御装置26は、作成したヒストグラムにおいて、高輝度側から低輝度側へ順に調べ、式10、式11および「当該階級より低輝度側3階級の各度数よりも度数が大きいこと」を満たす階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これを第1ピーク輝度とする。
階級>Thc2 ・・・ (式10)
度数>32 ・・・ (式11)
【0068】
ここで、Thc2は、Thc1と同様な考え方による数値であり、例えば本実施形態ではThc2=70とした。式11の32は、式9の384と同様な考え方による数値であり、度数が均等に分布した場合における度数として、128画素×128画素の画素数の正方形ブロックにおいて横方向および縦方向ともに8画素ごとにサンプリングし256階調を64階調に変換しているので、128×128/64/8=32として求まる数値である。
【0069】
さらに、制御装置26は、作成したヒストグラムにおいて、第1ピーク輝度に対応する階級から低輝度側へ順に調べ、式12、式13、「当該階級より1つ高輝度側の階級における度数よりも度数が大きいこと」および「当該階級より低輝度側への3つの階級における各度数よりも度数が大きいこと」を満たす階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これを第2ピーク輝度とする。
階級>Thc3 ・・・ (式12)
度数>32 ・・・ (式13)
【0070】
ここで、Thc3は、Thc1と同様な考え方による数値であるが第1ピーク輝度よりも低輝度側にあるべきであるから、例えば本実施形態では80とした。
【0071】
次に、制御装置26は、第1ピーク輝度と第2ピーク輝度とを当該正方形ブロックが属するエリア65における縦方向下地レベルVBL_Eとそれぞれ比較し、当該正方形ブロックが属するエリア65における縦方向下地レベルVBL_Eに近い方のピーク輝度を当該正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bとする。例えば、第1ピーク輝度=220、第2ピーク輝度=190で属するエリア65の縦方向下地レベル=200の場合には、第2ピーク輝度の方が近いので、正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=190となる。
【0072】
ここで、選択されたピーク輝度が、属するエリア65の縦方向下地レベルVBL_Eと60以上の差がある場合には、制御装置26は、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bを、属するエリア65における縦方向下地レベルVBL_Eに置き換える修正を行い、一方、選択されたピーク輝度が、属するエリアの縦方向下地レベルVBL_Eと40以上60未満の差がある場合には、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bを、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bと属するエリア65における縦方向下地レベルVBL_Eとの平均値で置き換える修正を行う。例えば、第1ピーク輝度=160、第2ピーク輝度=110で属するエリア65の縦方向下地レベル=230の場合には、第1ピーク輝度の方が近いが60以上離れているので(230−160=70)、正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=230となる。また例えば、第1ピーク輝度=180、第2ピーク輝度=110で属するエリア65の縦方向下地レベル=230の場合には、第1ピーク輝度の方が近いが40以上60未満だけ離れているので(230−180=50)、正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=(180+230)/2=205となる。
【0073】
全正方形ブロックについて上述のように正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bを求めた後に、制御装置26は、着目する正方形ブロックとこれに横方向および縦方向に隣接する4個の正方形ブロックとに対し、最大値と最小値とを除いた正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bの平均値を求め、求めた平均値を着目する正方形ブロックにおける縦方向下地レベルVBL_Bとする。例えば、着目する正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=200、これに横方向に左右に隣接する正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=210、220、および、これに縦方向に上下に隣接する正方形ブロックにおける暫定的な縦方向下地レベルVBL_B=190、210の場合には、最大値220および最小値190とを除いた平均値(200+210+210)/3=207を着目する正方形ブロックにおける縦方向下地レベルVBL_Bとする。
【0074】
ここで、画像の周辺に位置する正方形ブロックの場合、および、正方形ブロックにおける暫定的な縦方向下地レベルVBL_Bが、属するエリア65の縦方向下地レベルVBL_Eの平均値AVBL_Eより所定値(例えば50)以上離れている場合には、上述の平均値を求める処理を行わずに、画像の内側隣にある正方形ブロックにおける縦方向下地レベルVBL_Bを当該正方形ブロックにおける縦方向下地レベルVBL_Bとする。例えば、図14において一番上の列にある正方形ブロックは、1個下の正方形ブロックにおける縦方向下地レベルVBL_Bを採用し、右上端の正方形ブロックは、左下の正方形ブロックにおける縦方向下地レベルVBL_Bを採用する。
【0075】
このようにして、制御装置26は、各正方形ブロックの縦方向下地レベルVBL_Bを演算する。
【0076】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、画像を横方向に所定のエリアごとに分割し、各エリアにおける横方向下地レベルHBL_Eをステップ#41で求めたエリアにおける縦方向下地レベルVBL_Eと同様に演算する(ステップ#43)。エリアは、例えば、1920画素×1408画素の画像を1920画素×128画素のエリアで分割する。
【0077】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、横方向に分割した各エリアを所定の正方形ブロックごとに分割し、各正方形ブロックにおける横方向下地レベルHBL_Bをステップ#42で求めた正方形ブロックにおける縦方向下地レベルVBL_Bと同様に演算する(ステップ#44)。
【0078】
制御装置26は、ステップ#41ないしステップ#44のように動作することによって、画像の一のブロックに対して縦方向と横方向との2方向から下地レベルを算出する。
【0079】
次に、制御装置26は、ブロック下地レベル決定部43を用いて、正方形ブロックにおける縦方向下地レベルVBL_Bと横方向下地レベルHBL_Bとを比較し、値の大きい方(輝度の高い方)を当該正方形ブロックにおける下地レベルBL_Bとし、ステップ#42とステップ#44で求めた値を統合する(ステップ#45)。
【0080】
以上の処理により、第1区分の画像または画像そのものの画像データにおいて、画像を正方形ブロックに分割し、正方形ブロック単位で前処理値である下地レベルBL_Bが求められたので、次に、制御装置26は、第2区分の画像において、端数ブロックの前処理値である下地レベルBL_Bを演算する。
【0081】
まず、制御装置26は、記憶部25の所定のアドレスにおける記憶領域を参照して、画像を区分分け・切出し処理を行ったか否かを判断する(ステップ#46)。判断の結果、区分分け・切出し処理を行っていない場合には、制御装置26は、ステップ#48の処理を行う。一方、判断の結果、区分分け・切出し処理を行っている場合には、制御装置26は、端数ブロック下地レベル充当部44を用いて、端数ブロックに対してブロックの下地レベルを第1区分のブロックの下地レベルBL_Bに基づいて充当する(ステップ#37)。
【0082】
図16は、ブロックの下地レベルと端数ブロックの下地レベルとの関係を説明するための、画像のコーナ部分を示す図である。
【0083】
例えば、端数ブロック72におけるブロックの下地レベルBL_Bは、当該端数ブロックに隣接する第1区分に属するブロック71におけるブロックの下地レベルBL_B=zをそのまま採用することによって充当され、コーナの端数ブロックにおけるブロックの下地レベルBL_Bは、最も近い第1区分に属するコーナのブロックにおけるブロックの下地レベルBL_Bによって充当される。
【0084】
すなわち、図16において、図5(a)に示すように第1区分61を画像60の中央部に設定すると第2区分62は、第1区分61の周辺部分となる。第2区分62および第1区分61におけるi行j列(i,jは、0から始まる整数)のブロック(端数ブロック72または正方形ブロック71)におけるブロックの下地レベルBL_B−ij=Zijと表すと、0行の各端数ブロック72−0jにおけるブロックの下地レベルBL_B−0jは、1行の各正方形ブロック71−1jにおけるブロックの下地レベルBL_B−1j=Z1jがそれぞれ採用される。0列の各端数ブロック72−i0におけるブロックの下地レベルBL_B−i0は、1列の各正方形ブロック71−i1におけるブロックの下地レベルBL_B−i1=Zi1がそれぞれ採用される。コーナの端数ブロック72−00におけるブロックの下地レベルBL_B−00は、最も近い第1区分に属するコーナのブロック71−11におけるブロックの下地レベルBL_B−11=Z11が採用される。他のコーナの端数ブロックも同様である。
【0085】
また例えば、端数ブロック72におけるブロックの下地レベルBL_Bは、当該端数ブロックに隣接する第1区分に属するブロック71におけるブロックの下地レベルBL_Bと、この隣接するブロック71の方向における1個または複数個のブロック71の下地レベルBL_Bとを用いて線形外挿することによって充当され、コーナの端数ブロックにおけるブロックの下地レベルBL_Bは、当該コーナの端数ブロックに隣接する2個の端数ブロックにおけるブロックの下地レベルBL_Bを平均することによって充当されるようにしてもよい。
【0086】
すなわち、図16において、0行の各端数ブロック72−0jにおけるブロックの下地レベルBL_B−0jは、2個のブロックの下地レベルBL_Bで線形外挿する場合には、1行の各正方形ブロック71−1jにおけるブロックの下地レベルBL_B−1j=Z1jと2行の各正方形ブロック71−1jにおけるブロックの下地レベルBL_B−2j=Z2jとを用いて線形外挿することによって求めた値Z1j−(Z1j+Z2j)/2がそれぞれ採用される。0列の各端数ブロック72−i0におけるブロックの下地レベルBL_B−i0は、2個のブロックの下地レベルBL_Bで線形外挿する場合には、1列の各正方形ブロック71−i1におけるブロックの下地レベルBL_B−i1=Zi1と2列の各正方形ブロック71−i2におけるブロックの下地レベルBL_B−i2=Zi2とを用いて線形外挿することによって求めた値Zi1−(Zi1+Zi2)/2がそれぞれ採用される。コーナの端数ブロック72−00におけるブロックの下地レベルBL_B−00は、隣接する端数ブロック72−01、72−10におけるブロックの下地レベルBL_B−01、BL_B−10を平均することによって求めた値(Z11+Z11)/2が採用される。
【0087】
このようにして、制御装置26は、第2区分の各端数ブロックにおけるブロックの下地レベルBL_Bを第1区分のブロックにおけるブロックの下地レベルBL_Bに基づいて充当する。
【0088】
次に、制御装置26は、画素下地レベル決定部45を用いて、これら端数ブロックおよび正方形ブロックにおけるブロックの下地レベルを基に各画素の下地レベルを演算する(ステップ#48)。
【0089】
すなわち、p行r列のブロック(正方形ブロックまたは端数ブロック)の下地レベルをBL_Bp、rとすると、制御装置26は、図17に示すように、p行r列のブロック、p+1行r列のブロック、p行r+1列のブロック、および、p+1行r+1列のブロックの各中心画素PQRSを4頂点とする領域を設定し、この領域において横方向および縦方向ともに4画素ごとに各画素Ta,bの下地レベルBL_Ta,bをBL_Bp、r、BL_Bp+1、r、BL_Bp、r+1、BL_Bp+1、r+1に基づいて線形内挿(式14)によって計算する。
【0090】
【数3】
【0091】
ここで、PQをx軸にPRをy軸にした点Pを座標原点とするxy座標系を考えると、aはPQRSを4頂点とする領域の一辺の長さであり、bは計算対象の画素Ta,bにおけるx軸の座標値であり、cは計算対象の画素Ta,bにおけるy軸の座標値である。
【0092】
本実施形態にかかるディジタルカメラ1は、このように4画素ごとの画素の下地レベルBL_Tを近隣の4個のブロックの下地レベルBL_Bp、r、BL_Bp+1、r、BL_Bp、r+1、BL_Bp+1、r+1を用いて求めるので、ブロック間の下地レベルBL_Bの相違に基づく画質の不連続を緩和することができる。
【0093】
このように横方向および縦方向ともに4画素ごとに画素の下地レベルBL_Tを求めたので、図18に示すように、4画素×4画素のセルのうちで1画素の下地レベルBL_Tを求めたことになる。そこで、制御装置26は、セル内で唯一求められているこの下地レベルBL_Tを、セル内で下地レベルを求めていない画素の下地レベルBL_Tとする。
【0094】
上記で下地レベルBL_Tを求めることができる画素は、図17から分かるように、端数ブロックの一辺の半分の画素だけ横方向に内側にあって、且つ、端数ブロックの一辺の半分の画素だけ縦方向にも内側にある中央部の領域における画素である。図5(a)に示すように中央部に第1区分を設定すると、1940画素×1424画素の中央部の領域における画素について求めることができる。
【0095】
したがって、この中央部を除いた周辺部分の画素の下地レベルBL_Tは、次にように決定する。すなわち、制御装置26は、図19(a)(b)に示すように、周辺部分の画素の下地レベルBL_Tを中央部分の領域における最外辺の画素の下地レベルBL_Tをそのまま使用する。つまり、周辺部分のうち横方向の部分は、横方向における最外辺の各画素の下地レベルBL_Tを縦方向にそれぞれ延長してそのまま使用し、周辺部分のうち縦方向の部分は、縦方向における最外辺の各画素の下地レベルBL_Tを横方向にそれぞれ延長してそのまま使用し、周辺部分のうち角の部分は、最外辺の角の下地レベルを拡大してそのまま使用する。
【0096】
このようにして制御装置26は、総ての画素の下地レベルBL_Tを決定する。
【0097】
次に、制御装置26は、エッジ強調部50を用いて、各画素の輝度Yデータにフィルタを用いてエッジ強調する(ステップ#49)。フィルタは、エッジ強調の程度によって最適なフィルタが選択されるが、例えば、図20に示すように、対象画素を2倍し、対象画素に対し横方向および縦方向に隣接する画素を−1/4にするフィルタを使用する。
【0098】
次に、制御装置26は、下地飛ばし階調補正部46を用いて、各画素に対して下地飛ばし補正特性を用いて下地飛ばし階調補正を行う(ステップ#50)。すなわち、下地飛ばし補正特性は、図21に示すように、画素Ta,bにおいて、零から画素Ta,bの下地レベルBL_Ta,bまでは入力Yinを線形変換し、下地レベルBL_Ta,b以上では入力Yinを最高の輝度レベル(例えば、256階調では255レベル)に変換する。すなわち、画素Tabの輝度Yデータは、画素Tabの下地レベルBL_Tabを閾値として線形変換するか可能な最高の輝度レベルに変換するかが決定される。したがって、この閾値は、画素に固有な値である。例えば、画素Tabの輝度Yデータは、入力輝度データYin≦閾値BL_Ta,bの場合では、出力Yout=(最高輝度階調値255×入力Yin)/BL_Ta,bと線形変換され、入力輝度データYin>閾値BL_Ta,bの場合では、出力Yout=最高輝度階調値255と変換される。
【0099】
次に、制御装置26は、黒レベル引締め部51を用いて、各画素に対して黒レベル引締め処理を行う(ステップ#51)。黒レベル引締め処理は、例えば、図22に示す補正特性を用いて、輝度Yデータを変換する。黒レベル引締め処理に使用される補正特性は、図22に示すように、閾値(図では一例として144)より小さい輝度Yデータの入力Yinに対しては黒レベルに変換する特性である。
【0100】
次に、制御装置26は、RGB/YCrCb変換部49を用いて、輝度Y色差CrCbデータをRGBデータに式15ないし式17を用いて再変換する(ステップ#52)。
R=Y+Cr ・・・ 式15
G=Y−0.51Cr−0.19Cb ・・・ 式16
B=Y+Cb ・・・ 式17
【0101】
次に、制御装置26は、カード制御部24などを用いて、画像データをメモリカード13に格納し(ステップ#53)、ステップ#11の処理に戻る。
【0102】
以上のように、本実施形態にかかるディジタルカメラ1は、正方形ブロックで端数を生じることなく分割することができるように撮像画像を区分分けするので、下地飛ばし階調補正処理に必要な値をブロックごとに容易に求めることができる。このため、任意の画像サイズにおける文字画像に対して、ホワイトボードなどの白地部分に対する文字情報部分のコントラストを高くして文字情報の明瞭化を図るとともに照度ムラを低減して全体的に見やすくする画像処理を行うことができる。よって、描写性よりも情報の判読性の高い画質という、文字画像に対する要求に応えることができる。
(下地飛ばし補正処理不可能な画像、WB微調整不可能な画像、暗い下地の画像、濃い色の下地の画像または写真画像の場合における画像処理)
一方、下地飛ばし補正処理不可能な画像、WB微調整不可能な画像、暗い下地の画像、濃い色の下地の画像または写真画像の場合には、制御装置26は、RGB/YCrCb変換部49を用いて、画像データのRGBデータを輝度Yと色差CrCbとの各データに式3ないし式5を用いて変換する(ステップ#60)。
【0103】
次に、制御装置26は、LH/LS演算部を用いて、ハイライトレベルLHおよびシャドーレベルLSを演算する(ステップ#61)。すなわち、制御装置26は、まず、全画像領域において、階調を1/4にした64階調のデータに輝度Yデータを変換する。次に、制御装置26は、変換したこれら64階調の輝度Yデータに対して、図23に示すようなヒストグラムを作成する。次に、制御装置26は、高輝度側である最高階級(63)から度数を積算し、積算した度数が全度数の数パーセント(例えば1パーセント)を超えた時点の階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これをハイライトレベルLHとする。次に、制御装置26は、低輝度側である最低階級(0)から度数を積算し、積算した度数が全度数の数パーセント(例えば1パーセント)を超えた時点の階級を求め、求めた階級の値を4倍にして256階調のデータに再変換し、これをシャドーレベルLSとする。
【0104】
次に、制御装置26は、階調拡大補正部52を用いて、各画素に対して階調拡大補正特性を用いて階調拡大補正を行う(ステップ#62)。階調拡大補正特性は、図24に示すように、零からシャドーレベルLSまでは入力Yinを黒レベルに変換し、シャドーレベルLSからハイライトレベルまでは入力Yinを線形変換し、ハイライトレベル以上では入力Yinを最高の輝度レベル(例えば、256階調では255レベル)に変換する。
【0105】
次に、制御装置26は、RGB/YCrCb変換部49を用いて、輝度Y色差CrCbデータをRGBデータに式15ないし式17を用いて再変換し(ステップ#63)、ステップ#52を処理する。
【0106】
このように本実施形態にかかるディジタルカメラ1は、下地飛ばし補正処理不可能な画像、WB微調整不可能な画像、暗い下地の画像、濃い色の下地の画像および写真画像の場合には、ステップ#33、ステップ#34およびステップ#40でそれぞれ自動的に判別され、ステップ#60ないしステップ63によって適切な階調拡大補正処理がなされる。このため、このような画像の場合でも、本実施形態にかかるディジタルカメラ1は、階調のレンジ(本実施形態では256階調)を有効に活用して適切な階調で撮像画像を変換し、描写性の高い画質を得ることができる。
【0107】
なお、上述の実施形態では、RGBの画像データをYCrCbの画像データに変換して輝度Yデータを用いて画像処理を行ったが、特開平10−210287号公報に開示されているように、RGBの画像データのままでGデータに基づいて照度ムラ補正用の特性を設定し、さらにRおよびBの照度ムラ補正用の特性を設定することによって画像処理を行ってもよい。
【0108】
また、上述の実施形態では、ディジタルカメラで撮影した画像データをリアルタイムで文書画像処理を行う実施形態を説明したが、予め文書画像を撮像した画像データまたはスチルカメラで文書画像を撮影した写真をスキャナなどの画像読取装置で読み取った画像データなどを画像処理装置で文書画像処理を行うようにしてもよい。画像読取装置は、例えば、画像メモリ22、カード制御部24、記憶部25、コマンドなどを入力するキーボードやマウスなどの入力装置、画像や入力されたコマンドなどを表示するLCDやCRTなどの出力装置およびこれら画像メモリ22、カード制御部24、記憶部25、入力装置および出力装置を制御すると共に図7ないし図9のステップ#31ないしステップ#53およびステップ#60ないしステップ#63を処理する制御装置26を備えて構成する。あるいは、画像読取装置は、図7ないし図9のステップ#31ないしステップ53およびステップ#60ないしステップ#63を処理するコンピュータプログラムを記録したコンピュータ読取可能な記憶媒体からインストールすることによってコンピュータを利用するようにしてもよい。コンピュータは、例えば、プログラムおよびプログラム実行中の各種データなどを記憶する記憶部と、コマンド(命令)や必要なデータなどを入力する入力部(例えばキーボードやマウスなど)と、画像や各種データなどを外部に出力する出力部(例えばディスプレイやプリンタなど)と、これら記憶部、入力部および出力部を制御すると共にプログラムの実行など各種演算処理を行うプロセッサとを備え、さらに、必要に応じて、補助記憶装置、外部記憶装置または通信インターフェースなどを備える。記憶媒体は、例えば、フレキシブルディスク、CD−ROM、CD−R、DVDおよびメモリーカードなどである。文書画像処理対象の画像データは、メモリカードなどの記憶媒体に一端記憶させて画像処理装置に入力する。
【0109】
以上、本明細書に開示された主な発明を以下にまとめる。
(付記1) 画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えることを特徴とする画像処理装置。
(付記2) 前記画像処理は、画像の階調を調整するシェーディング処理であることを特徴とする付記1に記載の画像処理装置。
(付記3) 前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含むことを特徴とする付記2に記載の画像処理装置。
(付記4) 前記所定ブロックは、正方形であることを特徴とする付記1に記載の画像処理装置。
(付記5) 前記第2演算手段は、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を線形外挿により求めることを特徴とする付記1に記載の画像処理装置。
(付記6) コンピュータに、画像の画像サイズを検出する第1ステップと、前記第1ステップの検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける第2ステップと、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第3ステップと、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求め第4ステップと、前記第3および第4ステップで求めた前処理値に基づいて前記画像を画像処理する第5ステップとを実行させるための画像処理プログラム。
(付記7) 前記画像処理は、画像の階調を調整するシェーディング処理であることを特徴とする付記6に記載の画像処理プログラム。
(付記8) 前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含むことを特徴とする付記7に記載の画像処理プログラム。
(付記9) 前記所定ブロックは、正方形であることを特徴とする付記6に記載の画像処理プログラム。
(付記10) 前記第4ステップは、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を線形外挿により求めることを特徴とする付記6に記載の画像処理プログラム。
(付記11) 複数の光電変換素子から成る画素を有し、被写体光像を画像信号に光電変換して取り込む撮像手段と、前記撮像手段で取り込んだ画像信号に基づいて、画像の画像サイズを検出する画像サイズ検出手段と、前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において前記所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えることを特徴とするディジタルカメラ。
(付記12) 前記画像処理は、画像の階調を調整するシェーディング処理であることを特徴とする付記10に記載のディジタルカメラ。
(付記13) 前記前処理値は、画像の下地レベルであり、前記シェーディング処理は、前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含むことを特徴とする付記12に記載のディジタルカメラ。
(付記14) 前記所定ブロックは、正方形であることを特徴とする付記10に記載のディジタルカメラ。
(付記15) 前記第2演算手段は、前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を線形外挿により求めることを特徴とする付記10に記載のディジタルカメラ。
(付記16) コンピュータに、画像の画像サイズを検出する第1ステップと、前記第1ステップの検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける第2ステップと、前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第3ステップと、前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求め第4ステップと、前記第3および第4ステップで求めた前処理値に基づいて前記画像を画像処理する第5ステップとを実行させるための画像処理プログラムが記録されたコンピュータ読取可能な記憶媒体。
【0110】
【発明の効果】
以上のように、本発明によれば、画像の画像サイズが横方向および縦方向の一方向または両方向が所定ブロックの対応する方向の長さに対して整数倍ではない場合には、画像の画像サイズが横方向および縦方向共に所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに画像を区分分けするので、任意の画像サイズの画像に対して画像処理を施すことができる。
【0111】
さらに、本発明によれば、画像の画像サイズを所定ブロックの整数倍になるように第1区分を分けるので、この第1区分について従来のソフトウェアを用いて下地レベルを容易に求めることができる。そして、第2区分における下地レベルも第1区分における下地レベルを用いて求めることができるので、下地飛ばし階調補正処理を行うことができる。このため、画像がホワイトボードなどの上に書かれた文字などの情報を得る目的で撮られたとしても、文字などの情報が書かれたホワイトボードなどの下地部分の画像における照度ムラを軽減し、文字などの情報を明瞭化することができ、容易に情報を判読することができる。
【図面の簡単な説明】
【図1】本発明にかかる画像処理装置を搭載したディジタルカメラの外観を示す斜視図である。
【図2】本発明にかかる画像処理装置を搭載したディジタルカメラの背面図である。
【図3】本発明にかかる画像処理装置を搭載したディジタルカメラの構成を示すブロック図である。
【図4】本発明にかかる画像処理の概略のフローチャートを示す図である。
【図5】画像を第1区分と第2区分とに区分けする態様の一例を示す図である。
【図6】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その1)を示す図である。
【図7】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その2)を示す図である。
【図8】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その3)を示す図である。
【図9】本発明にかかる画像処理装置を搭載したディジタルカメラのフローチャート(その4)を示す図である。
【図10】ホワイトバランスを微調整する場合に使用する画像データを示す図である。
【図11】正方形ブロックで分割する画像の中央部を示す図である。
【図12】画像をエリアごとに分割した状況を説明する図である。
【図13】或るエリアにおける64階調の輝度Yデータに対するヒストグラムの一例を示す図である。
【図14】画像を正方形ブロックごとに分割した状況を説明する図である。
【図15】或る正方形ブロックにおける64階調の輝度Yデータに対するヒストグラムの一例を示す図である。
【図16】ブロックの下地レベルと端数ブロックの下地レベルとの関係を説明するための、画像のコーナ部分を示す図である。
【図17】4個の正方形ブロックの各下地レベルから画素の下地レベルを線形内挿によって求める方法を説明する図である。
【図18】線形内挿によって求める画素の下地レベルとセルとの関係を示す図である。
【図19】画像の周辺部分の画素における下地レベルの決定方法を説明する図である。
【図20】エッジ強調におけるフィルタの一例を示す図である。
【図21】下地飛ばし階調補正に使用する補正特性の一例を示す図である。
【図22】黒レベル引締め処理に使用する補正特性の一例を示す図である。
【図23】画像の64階調の輝度Yデータに対するヒストグラムの一例を示す図である。
【図24】階調拡大補正に使用する補正特性の一例を示す図である。
【符号の説明】
1 ディジタルカメラ
13 メモリカード
22 画像メモリ
25 記憶部
26 制御装置
41 画像サイズ判定部
42 区分分け・切出し部
43 ブロック下地レベル決定部
44 端数ブロック下地レベル決定部
45 画素下地レベル決定部
46 下地飛ばし階調補正部
47 LH/LS演算部
48 WB微調整部
49 RGB/YCrCb変換部
50 エッジ強調部
51 黒レベル引締め部
52 階調拡大補正部
Claims (5)
- 画像の画像サイズを検出する画像サイズ検出手段と、
前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、
前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、
前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、
前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えること
を特徴とする画像処理装置。 - 前記画像処理は、
画像の階調を調整するシェーディング処理であること
を特徴とする請求項1に記載の画像処理装置。 - 前記前処理値は、画像の下地レベルであり、
前記シェーディング処理は、
前記下地レベルに基づいて画素ごとに閾値を設定し、画素の輝度レベルが前記閾値以上の場合には前記画素の輝度レベルを最高輝度レベルに画素ごとに変更する下地飛ばし階調補正処理を含むこと
を特徴とする請求項2に記載の画像処理装置。 - コンピュータに、画像の画像サイズを検出する第1ステップと、
前記第1ステップの検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける第2ステップと、
前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第3ステップと、
前記第3ステップで求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求め第4ステップと、
前記第3および第4ステップで求めた前処理値に基づいて前記画像を画像処理する第5ステップとを実行させるための画像処理プログラム。 - 複数の光電変換素子から成る画素を有し、被写体光像を画像信号に光電変換して取り込む撮像手段と、
前記撮像手段で取り込んだ画像信号に基づいて、画像の画像サイズを検出する画像サイズ検出手段と、
前記画像サイズ検出手段の検出結果に基づいて、前記画像の画像サイズが横方向および縦方向の一方向または両方向において所定ブロックの対応する方向の長さに対して整数倍ではない場合に、画像サイズの横方向および縦方向が前記所定ブロックの対応する方向の長さに対して整数倍となる第1区分と残余の第2区分とに前記画像を分ける区分け手段と、
前記第1区分の画像において前記所定ブロックごとに画像処理するための前処理値を求める第1演算手段と、
前記第1演算手段で求めた前処理値に基づいて前記第2区分の画像において端数ブロックごとに画像処理するための前処理値を求める第2演算手段と、
前記第1および第2演算手段で求めた前処理値に基づいて前記画像を画像処理する画像処理手段とを備えること
を特徴とするディジタルカメラ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002193363A JP2004040379A (ja) | 2002-07-02 | 2002-07-02 | 画像処理装置、画像処理プログラムおよびディジタルカメラ |
US10/601,552 US20040012700A1 (en) | 2002-06-25 | 2003-06-24 | Image processing device, image processing program, and digital camera |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002193363A JP2004040379A (ja) | 2002-07-02 | 2002-07-02 | 画像処理装置、画像処理プログラムおよびディジタルカメラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004040379A true JP2004040379A (ja) | 2004-02-05 |
Family
ID=31702342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002193363A Pending JP2004040379A (ja) | 2002-06-25 | 2002-07-02 | 画像処理装置、画像処理プログラムおよびディジタルカメラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004040379A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006165828A (ja) * | 2004-12-06 | 2006-06-22 | Mitsubishi Electric Corp | 階調補正装置 |
US7843494B2 (en) | 2006-08-11 | 2010-11-30 | Olympus Imaging Corporation | Image taking apparatus and control method therefor |
CN107389683A (zh) * | 2017-09-13 | 2017-11-24 | 河南科技大学 | 基于图像处理技术的旋耕机碎土率实时检测装置及方法 |
-
2002
- 2002-07-02 JP JP2002193363A patent/JP2004040379A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006165828A (ja) * | 2004-12-06 | 2006-06-22 | Mitsubishi Electric Corp | 階調補正装置 |
US7843494B2 (en) | 2006-08-11 | 2010-11-30 | Olympus Imaging Corporation | Image taking apparatus and control method therefor |
CN107389683A (zh) * | 2017-09-13 | 2017-11-24 | 河南科技大学 | 基于图像处理技术的旋耕机碎土率实时检测装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6806903B1 (en) | Image capturing apparatus having a γ-characteristic corrector and/or image geometric distortion correction | |
US7057653B1 (en) | Apparatus capable of image capturing | |
US7623727B2 (en) | Image binarization apparatus, image binarization method, image pickup apparatus, image pickup method, and a computer product | |
US8106961B2 (en) | Image processing method, apparatus and computer program product, and imaging apparatus, method and computer program product | |
US7826662B2 (en) | Digital camera provided with gradation correction function | |
US20080080747A1 (en) | Imaging apparatus and imaging method | |
CN102300049A (zh) | 图像信号处理装置 | |
JP4539432B2 (ja) | 画像処理装置および撮像装置 | |
US20040012700A1 (en) | Image processing device, image processing program, and digital camera | |
JP3997786B2 (ja) | 撮像装置、表示装置、画像記録装置および画質補正方法 | |
JP2004040379A (ja) | 画像処理装置、画像処理プログラムおよびディジタルカメラ | |
JP7397640B2 (ja) | 画像処理装置および画像処理方法 | |
CN111866399B (zh) | 图像处理设备、其控制方法以及计算机可读介质 | |
JP3643203B2 (ja) | デジタルカメラ | |
JPH10210360A (ja) | デジタルカメラ | |
JP2006094419A (ja) | 画像信号処理装置及び画像信号処理方法 | |
JP2004038456A (ja) | 画像処理装置、画像処理プログラムおよびディジタルカメラ | |
JP2004032287A (ja) | 画像処理装置、画像処理プログラムおよびディジタルカメラ | |
JP3555584B2 (ja) | デジタル撮像装置および記録媒体 | |
JPH10210355A (ja) | デジタルカメラ | |
JP3631576B2 (ja) | デジタルカメラ | |
JP3631577B2 (ja) | デジタルカメラ | |
JP2000287121A (ja) | 画像信号処理装置 | |
JP3641537B2 (ja) | デジタルカメラ | |
JP3631575B2 (ja) | デジタルカメラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050615 |