(57)【要約】【課題】  読み取った原稿画像の傾きをより高速に補正できるようにした画像処理装置および方法およびプログラムを提供する。【解決手段】  画像データ読取部１０１での読み取り時に原稿が傾いて読み取られた場合、原稿識別部１０２で主走査線ごとに始点座標と終点座標を抽出し、抽出した始点座標と終点座標から水平方向と垂直方向との移動量（ズレ量）をズレ検出部１０３で算出する。そして、算出した移動量（ズレ量）に基づいて傾き補正部１０４で移動量分を水平方向、垂直方向それぞれにシフトさせることで傾き補正する。【選択図】図１
2006270387.tif 000002
【特許請求の範囲】
【請求項１】
原稿画像を画像読取装置で読み取って得た画像データの処理を行う画像処理装置において、
前記画像データを走査線ごとに前記原稿画像部分を識別し、該原稿画像部分の始点座標と終点座標とを抽出する原稿識別手段と、
前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から主走査方向のズレ量を算出する第１のズレ量算出手段と、
前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から副走査方向のズレ量を算出する第２のズレ量算出手段と、
前記第１のズレ量算出手段による主走査方向のズレ量と前記第２のズレ量算出手段による副走査方向のズレ量から各画素の位置を補正することにより前記画像データにおける原稿部分の傾きを補正する傾き補正手段と
を具備することを特徴とする画像処理装置。
【請求項２】
前記傾き補正手段は、
前記第１のズレ量算出手段により算出した主走査方向のズレ量の始点座標と終点座標がはじめに同一となる副走査方向の走査線を副走査方向の原稿部分の開始座標として傾き補正する
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
原稿画像を画像読取装置で読み取って得た画像データの処理を行う画像処理方法において、
前記画像データを走査線ごとに前記原稿画像部分を識別し、該原稿画像部分の始点座標と終点座標とを原稿識別手段で抽出し、
前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から主走査方向のズレ量を第１のズレ量算出手段で算出し、
前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から副走査方向のズレ量を第２のズレ量算出手段で算出し、
前記第１のズレ量算出手段による主走査方向のズレ量と前記第２のズレ量算出手段による副走査方向のズレ量から各画素の位置を補正することにより前記画像データにおける原稿部分の傾きを補正する
ことを特徴とする画像処理方法。
【請求項４】
原稿画像を画像読取装置で読み取って得た画像データの処理をコンピュータを用いて行う画像処理プログラムであって、
前記画像データを走査線ごとに前記原稿画像部分を識別し、該原稿画像部分の始点座標と終点座標とを抽出する第１のステップと、
前記第１のステップにより抽出された前記原稿画像部分の始点座標と終点座標から主走査方向のズレ量を算出する第２のステップと、
前記第１のステップにより抽出された前記原稿画像部分の始点座標と終点座標から副走査方向のズレ量を算出する第３のステップと、
前記第２のステップによる主走査方向のズレ量と前記第３のステップによる副走査方向のズレ量から各画素の位置を補正することにより前記画像データにおける原稿部分の傾きを補正する第４のステップと
を含むことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナなどの画像読取装置を用いて読み込んだ画像データに対して画像処理を行う画像処理装置および方法およびプログラムに関し、特に、画像の傾きを補正できるようにした画像処理装置および方法およびプログラムに関する。
【背景技術】
【０００２】
一般に、スキャナなどの画像読取装置を用いて原稿画像のイメージデータを形成する処理では、あらかじめ指定された基点に該原稿画像を配置し、読み取ることによってイメージデータである画像データの生成を行っている。このときの基点に指定される位置として、四隅のいずれかを指定することが大多数を占める。これは四隅を基点にすることで印刷される原稿画像の縦と横を読み取り面に対してそれぞれ水平垂直に配置しやすいなどの理由からである。
【０００３】
しかしながら、ちょっとした配置ミスや静電気などが生じることにより原稿画像がずれて配置されてしまうことがあり、この場合、生成したイメージデータの画像データが斜めに作成され、場合によっては、原稿画像の一部が読み取られないなどの問題が発生することがある。
【０００４】
このため、スキャナなどによって読み取った原稿画像がユーザの所望のイメージとは異なった見づらい画像データになってしまうことがある。
【０００５】
特許文献１に開示された従来技術においては、複数の走査線における原稿部画像が存在する範囲を比較して画像の傾きを検出することにより、簡単にかつ迅速に画像の傾き角を検出することを可能にしており、さらにこの従来技術では、検出された傾き角に応じて画像の傾きを補正するも可能にしている。
【特許文献１】特開平０５−２７４４７５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された従来技術においては、読み込んだ画像データの傾きを補正する際に補正された画像データを再度、メモリ領域に格納する必要があり、多くの画像データを扱う場面においては、システムとしてメモリの肥大化を招く結果になってしまうという問題がある。さらに、メモリ領域に再格納することによる処理時間の増大を招いてしまうという問題がある。
【０００７】
そこで、本発明は、読み取った原稿画像の傾きをより高速に補正できるようにした画像処理装置および方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、請求項１の発明は、原稿画像を画像読取装置で読み取って得た画像データの処理を行う画像処理装置において、前記画像データを走査線ごとに前記原稿画像部分を識別し、該原稿画像部分の始点座標と終点座標とを抽出する原稿識別手段と、前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から主走査方向のズレ量を算出する第１のズレ量算出手段と、前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から副走査方向のズレ量を算出する第２のズレ量算出手段と、前記第１のズレ量算出手段による主走査方向のズレ量と前記第２のズレ量算出手段による副走査方向のズレ量から各画素の位置を補正することにより前記画像データにおける原稿部分の傾きを補正する傾き補正手段とを具備することを特徴とする。
【０００９】
また、請求項２の発明は、請求項１の発明において、前記傾き補正手段は、前記第１のズレ量算出手段により算出した主走査方向のズレ量の始点座標と終点座標がはじめに同一となる副走査方向の走査線を副走査方向の原稿部分の開始座標として傾き補正することを特徴とする。
【００１０】
また、請求項３の発明は、原稿画像を画像読取装置で読み取って得た画像データの処理を行う画像処理方法において、前記画像データを走査線ごとに前記原稿画像部分を識別し、該原稿画像部分の始点座標と終点座標とを原稿識別手段で抽出し、前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から主走査方向のズレ量を第１のズレ量算出手段で算出し、前記原稿識別手段により抽出された前記原稿画像部分の始点座標と終点座標から副走査方向のズレ量を第２のズレ量算出手段で算出し、前記第１のズレ量算出手段による主走査方向のズレ量と前記第２のズレ量算出手段による副走査方向のズレ量から各画素の位置を補正することにより前記画像データにおける原稿部分の傾きを補正することを特徴とする。
【００１１】
また、請求項４の発明は、原稿画像を画像読取装置で読み取って得た画像データの処理をコンピュータを用いて行う画像処理プログラムであって、前記画像データを走査線ごとに前記原稿画像部分を識別し、該原稿画像部分の始点座標と終点座標とを抽出する第１のステップと、前記第１のステップにより抽出された前記原稿画像部分の始点座標と終点座標から主走査方向のズレ量を算出する第２のステップと、前記第１のステップにより抽出された前記原稿画像部分の始点座標と終点座標から副走査方向のズレ量を算出する第３のステップと、前記第２のステップによる主走査方向のズレ量と前記第３のステップによる副走査方向のズレ量から各画素の位置を補正することにより前記画像データにおける原稿部分の傾きを補正する第４のステップとを含むことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、スキャナなどの画像読取装置を用いて読み取った画像データの原稿部分を走査線ごとに識別し、その原稿部分の始点と終点の座標を抽出することで主走査方向、副走査方向の両方向のズレ量を算出して原稿の傾き補正を行うような構成にしたので、読み取った画像データに対して原稿部分の傾き補正を行うことができるためメモリの読み書きに要する時間を省略でき、より高速に傾き補正を行うことが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下、本発明に係わる画像処理装置および方法およびプログラムの一実施例を添付図面を参照して詳細に説明する。
【実施例】
【００１４】
図１は、この発明に係わる画像処理装置および方法およびプログラムを適用して構成した画像処理装置の装置構成図である。
【００１５】
図１において、この画像処理装置は、画像データ読取部１０１、原稿識別部１０２、ズレ検出部１０３、傾き補正部１０４、画像メモリ１０５、出力部１０６を具備して構成され、画像データ読取部１０１で読み取った画像データの傾きを傾き補正部１０４で補正し、補正された画像データを出力部１０６で出力する。
【００１６】
画像データ読取部１０１は、ＣＣＤ（Charge Coupled Devices：電荷結合素子）などにより構成され、原稿の読み取りを行うことで画像データを形成する。読み取った画像データは走査線（ライン）ごとにラインバッファに記憶される。
【００１７】
原稿識別部１０２は、画像データ読取部１０１により読み取られた画像データの原稿部分を識別する。読み取った画像データには上下左右に余白となるマージンが設けられているおり、このマージン以外の部分である原稿部分を識別する。特に、読み取った画像データの原稿部分が傾いた状態で読み取られた場合には、主走査線ごとに原稿部と非原稿部とを識別する。
【００１８】
このとき、原稿部として識別されると、主走査線ごとに原稿部の始点座標と終点座標とを抽出し、抽出した始点座標と終点座標を主走査線ごとにレジスタに格納する。例えば、主走査線２ライン目の「始点座標：１７」「終点座標：１９」のように格納される。
【００１９】
ズレ検出部１０３は、原稿識別部１０２により識別された原稿部分の始点座標と終点座標に基づいて水平方向（主走査線方向）と垂直方向（副走査線方向）の移動量（以下、「ズレ量」ともいう）を算出する。
【００２０】
このときの水平方向の移動量である水平移動量Ｘと垂直方向の移動量である垂直移動量Ｙの算出例を以下の図４に示す。
【００２１】
傾き補正部１０４は、画像データ読取部１０１により読み取った画像データを一時的に記憶するラインバッファを保持しており、ラインバッファに記憶された画像データに対して、ズレ検出部１０３で検出された水平移動量Ｘと垂直移動量Ｙに基づき各移動方向にその移動量分だけシフトさせることにより画像データ全体の傾きを補正する。
【００２２】
すなわち、傾き補正は主走査線方向の走査線（ライン）ごとに行われ、補正されたラインごとに画像メモリ１０５に画像データとして保存する。
【００２３】
画像メモリ１０５は、ＲＡＭ（Random Access Memory）などにより構成され、画像データ読取部１０１で読み取った画像データに対して傾き補正部１０４で補正した画像データをラインごとに記憶し、全てのラインに対して補正された画像データを記憶する記憶領域である。
【００２４】
出力部１０６は、画像メモリ１０５に記憶された傾き補正後の画像データを出力する。例えば、ネットワーク回線を介して接続されたクライアントＰＣなどの上位装置に対して出力することが可能である。
【００２５】
このような構成によれば、画像データ読取部１０１での読み取り時に原稿が傾いて読み取られた場合、原稿識別部１０２で主走査線ごとに始点座標と終点座標を抽出し、抽出した始点座標と終点座標から水平方向と垂直方向との移動量（ズレ量）をズレ検出部１０３で算出する。そして、算出した移動量（ズレ量）に基づいて傾き補正部１０４で移動量分を水平方向、垂直方向それぞれにシフトさせることで傾き補正を行うことができる。
【００２６】
図２は、図１に示す原稿識別部の処理の流れを示すフローチャートである。
【００２７】
図２において、ユーザが読み取りを行う原稿を画像データ読み取り部にセットして読み取りの開始を指示すると処理が開始され、原稿の読み取りが行われ（Ｓ２０１）、初期化処理（ＦＥフラグを「０（ゼロ）」に設定）が行われる（Ｓ２０２）。原稿の読み取りは主走査方向の１ラインごとに行われる。
【００２８】
読み取った主走査方向１ラインに対して原稿部と非原稿部を識別する原稿部輪郭読取処理を行う（Ｓ２０３）。１ライン全てが非原稿部である場合にはそのライン上に原稿部がないことを識別する。それに対して、一画素でも原稿部を識別した場合には識別した原稿部の始点座標と終点座標とを抽出する。
【００２９】
１ライン上全てが非原稿部であるか判断し（Ｓ２０４）、少なくとも一画素、原稿部を識別した場合（Ｓ２０４でＮＯ）には、識別した原稿部の始点座標と終点座標とを主走査方向のラインごとにレジスタに格納する座標格納処理を行う（Ｓ２０５）。そして、原稿部を識別したことを受けて初期化処理したＦＥフラグを「０（ゼロ）」から「１」に更新する（Ｓ２０６）。
【００３０】
ＦＥフラグの更新完了または主走査方向のライン全てが非原稿部である（Ｓ２０４でＹＥＳ）ことを受けて、ＦＥフラグが「０（ゼロ）」であるか判断する（Ｓ２０７）。すなわち、ライン全てが非原稿部である場合にはＦＥフラグが「０（ゼロ）」であって、少なくとも一画素、原稿部を識別した場合にはＦＥフラグが「１」であることを判断する。
【００３１】
ＦＥフラグが「０（ゼロ）」の場合（Ｓ２０７でＹＥＳ）には、再度、原稿部輪郭読取処理２０３から繰り返し処理を行う。ＦＥフラグが「０（ゼロ）」でない場合（Ｓ２０７でＮＯ）には、続いて、全てのラインに対して上記の処理を実行したか判断し（Ｓ２０８）、全てのラインに対して実行していない場合（Ｓ２０８でＮＯ）には、同様に原稿部輪郭読取処理２０３から繰り返し処理を行う。全てのラインを実行した場合には処理を終了する。
【００３２】
これにより、読み取った画像データに対して原稿部と非原稿部とを識別することができ、原稿部と識別された場合には主走査方向の走査線ごとに始点座標と終点座標をレジスタに記憶することができる。
【００３３】
図３は、図１に示すズレ検出部と傾き補正部の処理の流れを示すフローチャートである。
【００３４】
図３では、原稿識別部で原稿部と非原稿部とが識別されると処理が開始され、原稿識別部でレジスタに格納された主走査線ごとの始点座標と終点座標とから垂直方向の移動量（垂直移動量：Ｙ）と水平方向の移動量（水平移動量：Ｘ）を算出し（Ｓ３０１）、垂直方向の移動量Ｙが存在するか判断する（Ｓ３０２）。移動量が存在する場合（Ｓ３０２でＹＥＳ）には、画像データ読取部により読み取った画像データが一時的に記憶されたラインバッファから１ラインごとに画像データを取得して、算出した垂直移動量Ｙと水平移動量Ｘとに基づいて画素をシフトさせることにより傾き補正を行い、同時に画像データを画像メモリに出力する。
【００３５】
垂直移動量Ｙが存在しない場合（Ｓ３０２でＮＯ）には、画像データの傾きが存在しないと判断して処理を終了する。
【００３６】
これにより、傾いた状態で読み取った画像データの主走査線ごとの移動量（ズレ量）を算出することができ、これに基づいた傾き補正ができるようになる。
【００３７】
図４は、ズレ検出部による垂直移動量と水平移動量の具体的な算出例を示す図である。
【００３８】
図４には、画像データ読取部により読み取った状態での画像データを示しており、ここに示す図では、原稿の右肩が左肩に比べて高い位置で読み取れた例を示している。
【００３９】
この画像データにおいて、原稿識別部１０２によって原稿部として識別される走査線ごとの始点座標と終点座標は以下のようになる。
【００４０】
１ライン目は、原稿部が識別されないため始点座標、終点座標ともに存在しない
２ライン目は、始点座標：１７、終点座標：１９
３ライン目は、始点座標：１１、終点座標：１９
４ライン目は、始点座標：  ５、終点座標：１９
５ライン目は、始点座標：  ２、終点座標：２０
６ライン目は、始点座標：  ２、終点座標：２０
７ライン目は、始点座標：  ２、終点座標：２０
８ライン目は、始点座標：  ３、終点座標：２０
上記に示す原稿部の始点座標と終点座標の情報によって５ライン目と６ライン目の始点座標、終点座標がともに同値になり、このことから５ライン目を垂直方向の基準に設定する。これは、各ラインの水平方向のズレ量が始点座標と終点座標が一度同値になった後に、再度、水平方向のズレ量が発生することによるものである。
【００４１】
すなわち、２ライン目から５ライン目の情報で読み取った原稿全体の垂直方向のズレ量Ｙが算出されることになり、５ライン目以降で順次、水平方向のズレ量Ｘが算出されることになる。ここに示す例では、８ライン目で水平方向へのズレ量が「１」となる。
【００４２】
そして、垂直方向のズレ量Ｙは、画像データを６ライン目まで読み取った時点で算出することができ、水平方向のズレ量Ｘは、原稿部が識別される最後のラインまで読み取った時点で算出することができる。
【００４３】
これにより算出されたズレ量は、
１ライン目がズレ量Ｙ：０、ズレ量Ｘ：０
２ライン目がズレ量Ｙ：０、ズレ量Ｘ：０
３ライン目がズレ量Ｙ：１、ズレ量Ｘ：０
４ライン目がズレ量Ｙ：２、ズレ量Ｘ：０
５ライン目がズレ量Ｙ：３、ズレ量Ｘ：０
６ライン目がズレ量Ｙ：３、ズレ量Ｘ：０
７ライン目がズレ量Ｙ：３、ズレ量Ｘ：０
８ライン目がズレ量Ｙ：３、ズレ量Ｘ：１
となる。１ライン目から４ライン目までのズレ量Ｘは基準となる５ライン目に至る前の読み取り段階であるため「０（ゼロ）」となる。また、５ライン目が基準であってその５ライン目と始点座標、終点座標ともに等しい値である６ライン目のズレ量Ｘは「０（ゼロ）」となる。さらに、７ライン目も５ライン目、６ライン目と始点座標と終点座標が同じであるため同様にズレ量Ｘは「０（ゼロ）」となる。
【００４４】
そして、８ライン目で始点座標が基準となる５ライン目の始点座標「２」に比べて１つズレた「３」となっていることから８ライン目のズレ量Ｘは「１」と算出できる。
【００４５】
垂直方向、水平方向への移動量（ズレ量Ｙ、ズレ量Ｘ）分を移動量分だけシフトさせることにより傾き補正を行うと、以下のようになる。
【００４６】
まず、１ライン目から４ライン目までは画像データの画素が存在しない状態になる。
【００４７】
次に、５ライン目で２ライン目の座標１７から１９の画素、３ライン目の座標１１から１６の画素、４ライン目の座標５から１０の画素、５ライン目の座標２から４の画素がマスクされる。このとき、水平方向のズレ量Ｘは「０（ゼロ）」であるため水平方向へのシフトは行われない。
【００４８】
また、６ライン目で３ライン目の座標１７から１９の画素、４ライン目の座標１１から１６の画素、５ライン目の座標５から１０の画素、６ライン目の座標２から４の画素がマスクされる。このときも水平方向のズレ量Ｘは「０（ゼロ）」であるため水平方向へのシフトは行われない。
【００４９】
以下同様に、主走査方向の走査線ごとに処理を行うと図６に示すような画像データに補正される。
【００５０】
図５は、図１に示す傾き補正部の処理の流れを示すフローチャートである。
【００５１】
図５において、ズレ検出部で垂直移動量と水平移動量が算出されると、算出された垂直移動量が存在しない（垂直方向の移動量がゼロ）か判断し（Ｓ５０１）、垂直移動量が存在しない場合（Ｓ５０１でＹＥＳ）には、処理を終了する。また、垂直移動量が存在する場合（Ｓ５０１でＮＯ）には、読み取った画像データに傾きが存在するとして、ズレ検出部で算出した垂直方向の移動量Ｙに基づいてラインごとにシフトする垂直傾き補正処理を行う（Ｓ５０２）。
【００５２】
次に、算出された水平移動量が存在しない（水平方向の移動量がゼロ）か判断し（Ｓ５０３）、水平方向の移動量が存在しない場合（Ｓ５０３でＹＥＳ）には、次のラインに対する垂直傾き補正処理（Ｓ５０２）を行う。
【００５３】
水平方向の移動量が存在する場合（Ｓ５０３でＮＯ）には、ズレ検出部で算出した水平方向の移動量Ｘに基づいてラインごとにシフトする水平傾き補正処理を行う（Ｓ５０４）。
【００５４】
これにより、水平方向、垂直方向ともに原稿部がシフトされ、傾きが補正された状態となる。
【００５５】
図６は、図４に示す読み取られた画像データに対して傾き補正を行った補正後の画像データを示す図である。
【００５６】
図６には、図４に示す各ラインに対して以下のように補正される。
【００５７】
主走査方向１〜４ライン目：
画像データなし
主走査方向５ライン目：
主走査方向５ライン目の副走査方向２〜４ライン目
主走査方向４ライン目の副走査方向５〜１０ライン目
主走査方向３ライン目の副走査方向１１〜１６ライン目
主走査方向２ライン目の副走査方向１７〜１９ライン目
主走査方向６ライン目：
主走査方向６ライン目の副走査方向２〜４ライン目
主走査方向５ライン目の副走査方向５〜１０ライン目
主走査方向４ライン目の副走査方向１１〜１６ライン目
主走査方向３ライン目の副走査方向１７〜１９ライン目
主走査方向７ライン目：
主走査方向７ライン目の副走査方向２〜４ライン目
主走査方向６ライン目の副走査方向５〜１０ライン目
主走査方向５ライン目の副走査方向１１〜１６ライン目
主走査方向４ライン目の副走査方向１７〜１９ライン目
主走査方向８ライン目：
主走査方向８ライン目の副走査方向３〜４ライン目
主走査方向７ライン目の副走査方向５〜１０ライン目
主走査方向６ライン目の副走査方向１１〜１６ライン目
主走査方向５ライン目の副走査方向１７〜２０ライン目
これにより、主走査方向、副走査方向ともに傾き補正を行った画像データを形成することができる。
【００５８】
以上の処理によって、本発明の画像処理装置では、読み取った画像データが傾いた状態にあってもその傾きを補正することができる。
【００５９】
さらに、画像メモリへの記憶時に傾き補正を行うことができる。
【００６０】
従って、本発明を適用することにより、傾き角の検出やメモリの読み書きにかかる読み書き処理が不要となるためより高速に傾き補正を行うことができるようになるという効果を期待できる。
【００６１】
また、傾きのない画像データを短時間で出力することが可能となる。
【００６２】
なお、上記フローチャートに示す処理は、コンピュータにより実行可能な画像処理プログラムによっても実現できる。
【００６３】
本発明は、上記し、且つ図面に示す実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
【産業上の利用可能性】
【００６４】
本発明は、スキャナなどの画像読取装置を用いて読み込んだ画像データの傾きを補正する画像処理装置および方法およびプログラムに適用可能であり、特に、画像データの原稿部分の傾きをより高速に補正するのに有用である。
【図面の簡単な説明】
【００６５】
【図１】この発明に係わる画像処理装置および方法およびプログラムを適用して構成した画像処理装置の装置構成図。
【図２】図１に示す原稿識別部の処理の流れを示すフローチャート。
【図３】図１に示すズレ検出部と傾き補正部の処理の流れを示すフローチャート。
【図４】画像データ読取部により原稿が傾いた状態で読み取られた画像データを示す図。
【図５】図１に示す傾き補正部の処理の流れを示すフローチャート。
【図６】図４に示す読み取られた画像データに対して傾き補正を行った補正後の画像データを示す図。
【符号の説明】
【００６６】
１０１      画像データ読取部
１０２      原稿識別部
１０３      ズレ検出部
１０４      傾き補正部
１０５      画像メモリ
１０６      出力部
【図１】
2006270387.tif 000003
【図２】
2006270387.tif 000004
【図３】
2006270387.tif 000005
【図４】
2006270387.tif 000006
【図５】
2006270387.tif 000007
【図６】
2006270387.tif 000008