JP6152821B2 - 画像処理装置、および、コンピュータプログラム - Google Patents

画像処理装置、および、コンピュータプログラム Download PDF

Info

Publication number
JP6152821B2
JP6152821B2 JP2014074699A JP2014074699A JP6152821B2 JP 6152821 B2 JP6152821 B2 JP 6152821B2 JP 2014074699 A JP2014074699 A JP 2014074699A JP 2014074699 A JP2014074699 A JP 2014074699A JP 6152821 B2 JP6152821 B2 JP 6152821B2
Authority
JP
Japan
Prior art keywords
line segment
line
edge
image
linear
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.)
Active
Application number
JP2014074699A
Other languages
English (en)
Other versions
JP2015198306A (ja
Inventor
浩一 次村
浩一 次村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014074699A priority Critical patent/JP6152821B2/ja
Priority to US14/669,913 priority patent/US9374500B2/en
Publication of JP2015198306A publication Critical patent/JP2015198306A/ja
Application granted granted Critical
Publication of JP6152821B2 publication Critical patent/JP6152821B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/409Edge or detail enhancement; Noise or error suppression
    • H04N1/4092Edge or detail enhancement

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Analysis (AREA)

Description

本発明は、光学的に読み取られた画像を処理する技術に関する。
従来から、スキャナによって生成された画像データに対して、種々の処理が行われている。例えば、原稿台上に原稿が傾いて載置される場合には、傾いた原稿を表す画像データが生成される。このような画像データからエッジを検出して原稿の傾きを計算し、計算された傾きに基づいて原稿の傾きを補正する処理が提案されている。
特開平11−252351号公報
スキャナとしては、例えば、シートを搬送する搬送機構と、搬送中のシートを光学的に読み取るセンサと、を備える装置が利用されている。このように、搬送中のシートが光学的に読み取られる場合には、例えば、シートの特性や搬送機構の構造などに起因してシートが正しく表現された画像を得ることが困難な場合があった。
本発明の主な利点は、搬送中のシートが光学的に読み取られる場合に、シートを適切に表す画像データを生成することである。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
[適用例1]画像処理装置であって、シートの搬送中に前記シートを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部から、前記スキャンデータを取得する取得部と、前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第1画像データを生成する画像補正部と、を備える、画像処理装置。
搬送中のシートを光学的に読み取ることによってスキャンデータが生成される場合には、スキャン画像内で、シートの辺が非直線状のエッジで表現され得るが、上記の構成を採用すれば、シートの辺を表す非直線状のエッジが直線状のエッジに修正された第1画像データを得ることができる。
[適用例2]適用例1に記載の画像処理装置であって、前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの直線状の第1エッジと直線状の第2エッジとで形成される角度が、第1角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、前記直線状の第1エッジおよび前記直線状の第2エッジは、それぞれ、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ直交する第1辺および第2辺に対応する、画像処理装置。この構成によれば、判定部は、傾斜角を用いて容易に判定できるので、画像補正部は、シートを適切に表す画像データを生成できる。
[適用例3]適用例1または2に記載の画像処理装置であって、前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの第3エッジの第1端部を形成する直線状の部分である第1部分エッジと、前記第3エッジの第2端部を形成する直線状の部分である第2部分エッジと、で形成される角度が、第2角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、前記第3エッジは、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ平行な第3辺に対応する、画像処理装置。この構成によれば、判定部による適切な判定が可能であるので、画像補正部は、シートを適切に表す画像データを生成できる。
[適用例4]適用例1から3のいずれか1項に記載の画像処理装置であって、前記画像補正部は、前記スキャン画像中の前記シートの少なくとも一部を表す対象領域をN個(Nは2以上の整数)の部分領域に分割し、前記N個の部分領域を各部分領域毎に補正する、画像処理装置。この構成によれば、スキャン画像を分割せずに補正する場合と比べて、画像補正部は、容易に、補正の精度を向上でき、そして、シートを適切に表す画像データを生成できる。
[適用例5]適用例4に記載の画像処理装置であって、前記エッジ検出部は、少なくとも前記対象領域が前記N個の部分領域に分割される場合に、前記スキャン画像から検出される前記複数のエッジのうち、前記シートの前記複数の辺のうち前記搬送方向と垂直な特定方向側に位置する辺を表すエッジを近似するN本の線分で構成される第1折れ線と、前記シートの前記複数の辺のうち前記特定方向とは反対の方向側に位置する辺を表すエッジを近似するN本の線分で構成される第2折れ線と、を決定し、前記画像補正部は、前記第1折れ線の両端を除くN−1個の頂点と前記第2折れ線の両端を除くN−1個の頂点とをそれぞれ通るN−1個の直線で前記対象領域を前記N個の部分領域に分割する、画像処理装置。この構成によれば、エッジを近似する折れ線に基づいて対象領域が分割されるので、画像補正部は、シートを適切に表す画像データを生成できる。
[適用例6]適用例4または5に記載の画像処理装置であって、前記部分領域の総数Nが2である場合に、前記エッジ検出部は、2個の線分で構成される前記第1折れ線と、2個の線分で構成される前記第2折れ線と、を決定し、前記画像補正部は、前記シートの前記複数の辺のうち前記搬送方向側に位置する辺を表す直線状の第1エッジと、前記シートの前記複数の辺のうち前記搬送方向とは反対方向側に位置する辺を表す直線状の第2エッジと、前記第1折れ線と、前記第2折れ線と、で囲まれる前記対象領域を、前記第1折れ線の前記2個の線分を接続する頂点と前記第2折れ線の前記2個の線分を接続する頂点とを通る直線で、2個の部分領域に分割し、前記2個の部分領域のそれぞれの補正によって前記対象領域が矩形に修正されるように前記スキャンデータを補正することによって、前記第1画像データを生成し、前記第1折れ線は、前記第1エッジの前記特定方向側の端から前記第1エッジに垂直に前記第2エッジ側へ延びる直線状の第1線分と、前記第2エッジの前記特定方向側の端から前記第2エッジに垂直に前記第1エッジ側に延びて前記第1線分に接続される直線状の第2線分と、で構成され、前記第2折れ線は、前記第1エッジの前記特定方向とは反対方向側の端から前記第1エッジに垂直に前記第2エッジ側へ延びる直線状の第3線分と、前記第2エッジの前記特定方向とは反対方向側の端から前記第2エッジに垂直に前記第1エッジ側に延びて前記第2線分に接続される直線状の第4線分と、で構成される、画像処理装置。この構成によれば、画像補正部は、第1と第2のエッジと、それらのエッジから得られる4本の線分とを用いて、シートを適切に表す画像データを生成できる。
[適用例7]適用例6に記載の画像処理装置であって、前記エッジ検出部は、前記スキャン画像上において、前記第1折れ線の前記第1線分と前記第2線分とを接続する前記1個の頂点と、前記シートの前記複数の辺のうちの前記特定方向側に位置する辺を表すエッジと、の間の距離が第1更新閾値よりも大きい場合に、前記第1線分の途中と前記第2線分の途中とを結ぶ第5線分を決定することによって、前記第1折れ線を、前記第1線分の一部と前記第5線分と前記第2線分の一部との3個の線分で形成される折れ線に、更新し、前記第3線分の途中と前記第4線分の途中とを結ぶ第6線分を決定することによって、前記第2折れ線を、前記第3線分の一部と前記第6線分と前記第4線分の一部との3個の線分で形成される折れ線に、更新し、前記画像補正部は、前記第1折れ線と前記第2折れ線として、前記3個の線分で形成される折れ線を、それぞれ用いる場合に、前記第1線分と前記第5線分とを結ぶ頂点と前記第3線分と前記第6線分とを結ぶ頂点とを通る直線と、前記第5線分と前記第2線分とを結ぶ頂点と前記第6線分と前記第4線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を3個の部分領域に分割する、画像処理装置。この構成によれば、3個の線分で構成される折れ線は、2個の線分で構成される折れ線と比べて、適切にシートの辺を表す非直線状のエッジを近似できるので、画像補正部は、適切な部分領域を用いて、画像データを生成できる。
[適用例8]適用例6に記載の画像処理装置であって、前記エッジ検出部は、前記第1線分に対する前記第2線分の傾斜角が第2更新閾値よりも大きい場合に、前記第1線分の途中と前記第2線分の途中とを結ぶ第5線分を決定することによって、前記第1折れ線を、前記第1線分の一部と前記第5線分と前記第2線分の一部との3個の線分で形成される折れ線に、更新し、前記第3線分の途中と前記第4線分の途中とを結ぶ第6線分を決定することによって、前記第2折れ線を、前記第3線分の一部と前記第6線分と前記第4線分の一部との3個の線分で形成される折れ線に、更新し前記画像補正部は、前記第1折れ線と前記第2折れ線として、前記3個の線分で形成される折れ線を、それぞれ用いる場合に、前記第1線分と前記第5線分とを結ぶ頂点と前記第3線分と前記第6線分とを結ぶ頂点とを通る直線と、前記第5線分と前記第2線分とを結ぶ頂点と前記第6線分と前記第4線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を3個の部分領域に分割する、画像処理装置。この構成によれば、3個の線分で構成される折れ線は、2個の線分で構成される折れ線と比べて、適切にシートの辺を表す非直線状のエッジを近似できるので、画像補正部は、適切な部分領域を用いて、画像データを生成できる。
[適用例9]適用例1から8のいずれか1項に記載の画像処理装置であって、さらに、前記スキャン画像が前記非直線状のエッジを含むと判定されない場合に、前記スキャン画像中の前記複数のエッジの傾きが修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第2画像データを生成する、傾き補正部を備える、画像処理装置。この構成によれば、傾き補正部は、傾きが修正されたシートを表す画像データを生成できる。
[適用例10]
スキャナ装置であって、
搬送機構と、読取センサと、を備え、前記搬送機構によって搬送される前記シートを、前記シートの搬送中に、前記読取センサによって光学的に読み取ることによって、スキャン画像を表すスキャンデータを生成するスキャンデータ生成部と、
前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、
前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、
前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第1画像データを生成する画像補正部と、
を備える、スキャナ装置。
この構成によれば、スキャナ装置を用いてシートを光学的に読み取る場合に、スキャン画像内でシートの辺が非直線状のエッジで表現されたとしても、シートの辺を表す非直線状のエッジが直線状のエッジに修正された第1画像データを得ることができる。
[適用例11]
適用例10に記載のスキャナ装置であって、
前記読取センサは、前記シートの搬送方向と交差する方向に沿って延びるライン状に配置された複数の受光素子で構成される、
スキャナ装置。
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
本発明の一実施例としてのスキャンシステム1000を示す説明図である。 スキャン処理のフローチャートである。 (A)は、シートSHの例の概略図である。(B)は、スキャン画像SIの例の概略図である。 近似線分の決定処理のフローチャートである。 (A)は、第1領域A1のハフ変換の結果の例を示すグラフである。(B)は、第2領域A2のハフ変換の結果の例を示すグラフである。 近似線分の例を示す概略図である。 変形処理のフローチャートである。 補正済の画像の例を表す概略図である。 第1部分領域PA1の変形処理の例を示す概略図である。 近似線分の決定処理の第2実施例のフローチャートである。 距離DVの説明図である。 更新済の折れ線PL1、PL2を示す概略図である。 近似線分の決定処理の第3実施例のフローチャートである。
A.第1実施例:
図1は、本発明の一実施例としてのスキャンシステム1000を示す説明図である。スキャンシステム1000は、画像処理装置100と、画像処理装置100に接続されたスキャナ装置300と、を有している。
画像処理装置100は、例えば、パーソナルコンピュータである。画像処理装置100は、プロセッサ110と、揮発性記憶装置120と、不揮発性記憶装置130と、表示部140と、操作部150と、装置インタフェース160と、を有している。
プロセッサ110は、データ処理を行う装置であり、例えば、いわゆるCPUである。揮発性記憶装置120は、例えば、いわゆるDRAMであり、不揮発性記憶装置130は、例えば、いわゆるフラッシュメモリである。不揮発性記憶装置130は、プログラム132を格納している。
プロセッサ110は、プログラム132を実行することによって、種々の機能を実現する。本実施例では、プロセッサ110は、取得部210と、エッジ検出部215と、判定部220と、画像補正部230と、傾き補正部240と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ110は、プログラム(例えば、プログラム132)の実行に利用される種々の中間データを、記憶装置(例えば、揮発性記憶装置120、または、不揮発性記憶装置130)に、一時的に格納する。
表示部140は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部150は、ユーザによる操作を受け入れる装置であり、例えば、表示部140上に重ねて配置されたタッチパネルである。ユーザは、操作部150を操作することによって、後述するスキャン処理の開始指示等の種々の指示を入力可能である。装置インタフェース160は、他の装置と通信するためのインタフェースである(例えば、いわゆるUSBインタフェース、または、IEEE802.11の無線インタフェース)。画像処理装置100は、装置インタフェース160を介して、スキャナ装置300と通信可能である。
スキャナ装置300は、搬送機構330と、センサ340と、搬送機構330とセンサ340とを制御する制御部350と、を有している。制御部350は、搬送機構330とセンサ340とを制御し、搬送中のシートSHを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成する。シートSHとしては、例えば、印刷物や運転免許証カードやクレジットカード等の種々のシート状の物体を採用可能である。制御部350は、例えば、ASIC(Application Specific Integrated Circuit)等の専用の電子回路を含む。この代わりに、制御部350が、プロセッサと記憶装置とを含むコンピュータであってもよい。
搬送機構330は、シートSHを保持して搬送するための第1ローラ対310と第2ローラ対320とを含んでいる。第1ローラ対310は、センサ340よりも搬送方向Dfの上流側に配置され、第2ローラ対320は、センサ340よりも搬送方向Dfの下流側に配置されている。第1ローラ対310は、図示しないモータによって駆動される駆動ローラ312と、駆動ローラ312の回転に従って回転する従動ローラ314と、を含む。第2ローラ対320は、図示しないモータによって駆動される駆動ローラ322と、駆動ローラ322の回転に従って回転する従動ローラ324と、を含む。
シートSHは、第1ローラ対310に保持された状態で搬送経路FPに沿って搬送方向Dfに搬送される。シートSHが第2ローラ対320に到達すると、シートSHは、2対のローラ対310、320に保持された状態で、搬送経路FPに沿って搬送方向Dfに搬送される。シートSHが第1ローラ対310から離れると、シートSHは、第2ローラ対320に保持された状態で、搬送経路FPに沿って搬送方向Dfに搬送される。なお、従動ローラ314、324の代わりに板部材を採用し、駆動ローラ312、322と板部材とによってシートSHを保持してもよい。
センサ340は、搬送中のシートSHを光学的に読み取ることによって、シートSHを表す画像信号を出力する画像センサである(例えば、CCDセンサやCMOSセンサ)。センサ340は、搬送方向Dfと交差する方向(本実施例では、搬送方向Dfに垂直な方向。以下、特定幅方向Dwと呼ぶ)に沿って延びるライン状に配置された複数の受光素子342を含んでいる。複数の受光素子342は、特定幅方向Dwの所定の範囲(所定サイズのシートSHの幅以上の範囲)を、カバーしている。制御部350は、センサ340からの画像信号を処理することによって、光学的に読み取られた画像(スキャン画像と呼ぶ)を表すスキャンデータを生成する。搬送機構330とセンサ340と制御部350との全体は、搬送中のシートSHを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部に対応する。
図2は、スキャン処理のフローチャートである。本実施例のスキャン処理では、スキャナ装置300が、スキャンデータを生成し、生成したスキャンデータを画像処理装置100に送信し、画像処理装置100が、スキャンデータを補正する。画像処理装置100のプロセッサ110は、例えば、ユーザが画像処理装置100に対してスキャン処理の開始指示を入力したことに応じて、スキャン処理を開始する。この場合、プロセッサ110の取得部210は、スキャナ装置300に、スキャンデータを生成する指示を送信する。この代わりに、スキャナ装置300の制御部350は、ユーザがスキャナ装置300の図示しない操作ボタンを操作したことに応じて、スキャン処理を開始してもよい。
ステップS100では、スキャナ装置300の制御部350は、センサ340にシートSHを光学的に読み取らせることによってスキャンデータを生成する。図3(A)は、シートSHの例の概略図である。図3(A)の例では、シートSHは、略矩形状の物体(例えば、クレジットカード)である。図示を省略するが、シートSHは、文字や記号等の種々のオブジェクトを表している。シートSHは、シートSHの略矩形状の輪郭を形成する4個の辺SA、SB、SC、SDを有している。図中には、搬送方向Dfと特定幅方向Dwとが示されている。図3(A)の例では、4個の辺のうち、第1辺SAは、搬送方向Dfとは反対の方向側に位置する辺であり、第2辺SBは、搬送方向Df側に位置する辺である。これらの辺SA、SBは、いずれも、搬送方向Dfにほぼ直交する。第3辺SCは、特定幅方向Dw側に位置する辺であり、第4辺SDは、特定幅方向Dwとは反対の方向側に位置する辺である。これらの辺SC、SDは、いずれも、搬送方向Dfにほぼ平行である。
これらの辺SA、SB、SC、SDは、いずれも、直線である。互いに向かい合う2個の辺SA、SBは、平行である。他の互いに向かい合う2個の辺SC、SDは、平行であり、2個の辺SA、SBに垂直である。これらの辺SA、SB、SC、SDによって形成される矩形状の四隅は、それぞれ、丸められていても良い。また、シートSHは、搬送機構330(図1)の搬送経路FPに対して斜めに配置され得るので、4個の辺SA、SB、SC、SDは、搬送方向Dfに対して斜めに配置され得る。
図3(B)は、スキャン画像SIの例の概略図である。スキャン画像SIは、搬送方向Dfと特定幅方向Dwとに沿って格子状に配置された複数の画素(図示せず)によって、表されている。各画素の色値は、所定の色空間の各色成分の階調値(例えば、赤R、緑G、青Bのそれぞれの階調値)を表している。図3(B)に示すように、スキャン画像SIは、シートSHを表す画像部分を含んでいる(「シート画像SHI」と呼ぶ)。図示を省略するが、シート画像SHIは、シートSH上の種々のオブジェクト(例えば、文字や記号等)を表している。スキャン画像SIのうちのシート画像SHIの外の領域は、背景BGを表している。
図中には、シート画像SHIのエッジEA、EB、EC、EDが、実線で示されている。これらのエッジEA、EB、EC、EDは、シート画像SHIの輪郭、すなわち、シート画像SHIのうちの背景BGと接する部分を示している。また、これらの4本のエッジEA、EB、EC、EDは、シートSH(図3(A))の4本の辺SA、SB、SC、SDを、それぞれ表している。
図3(B)の例では、第3エッジECと第4エッジEDとのそれぞれが、途中で曲がっている。第3エッジECは、搬送方向Dfとは反対方向側の端部を形成する第1直線部分ECaと、搬送方向Df側の端部を形成し第1直線部分ECaに対して斜めに傾斜する第2直線部分ECbと、これらの直線部分ECa、ECbを接続する曲線部分ECcと、含んでいる。第4エッジEDは、搬送方向Dfとは反対方向側の端部を形成する第1直線部分EDaと、搬送方向Df側の端部を形成し第1直線部分EDaに対して斜めに傾斜する第2直線部分EDbと、これらの直線部分EDa、EDbを接続する曲線部分EDcと、を含んでいる。このような曲がったエッジ(より一般的には、曲線や折れ線等の非直線状のエッジ)は、搬送の途中で搬送方向Dfに対するシートSHの向きが変わることによって、形成され得る。搬送方向Dfに対するシートSHの向きは、搬送方向DfとシートSHの辺(例えば、第3辺SC)とがなす角度によって、特定可能である。例えば、シートSHが、搬送中にローラ(例えば、駆動ローラ312)に対して滑ることによって、搬送方向Dfに対するシートSHの向きが変化し得る。クレジットカードのようにシートSHが立体的な凹凸を有する場合には、シートSHは、ローラに対して、滑りやすい。
図2のステップS110では、取得部210(図1)は、スキャナ装置300からスキャンデータを取得する。ステップS120では、エッジ検出部215は、スキャンデータを解析することによって、スキャン画像SI(図3(B))から、シートSHの複数の辺SA〜SDをそれぞれ表す複数のエッジを検出する。エッジの検出方法としては、任意の方法を採用可能である。例えば、エッジ検出部215は、スキャン画像SIを、背景BGの色(例えば、所定の白色範囲内の色)を表す領域である背景領域と他の色を表す領域である非背景領域とに分離する二値化を実行する。そして、エッジ検出部215は、非背景領域の輪郭を表す画素、すなわち、背景領域に接している画素を、複数のエッジのいずれかを表す画素として検出する(以下「エッジ画素」と呼ぶ)。検出される複数のエッジ画素が連結することによって形成されるライン状の部分が、エッジに対応する。以上により、エッジ検出部215は、4本の辺SA〜SDをそれぞれ表す4本のエッジEA〜EDを、検出する。なお、エッジの検出方法としては、他の方法を採用可能である。例えば、エッジフィルタ(例えば、いわゆるソーベルフィルタ)を用いたエッジ検出処理を採用してもよい。
図2のステップS130では、エッジ検出部215は、エッジを近似する近似線分を決定する。図4は、近似線分の決定処理のフローチャートである。ステップS200では、エッジ検出部215は、スキャン画像SIを2個の領域に分割し、領域毎にハフ変換を実行する。このハフ変換は、図2のステップS120の検出結果、すなわち、各画素がエッジ画素であるか否かを表す二値の画素値を用いて、行われる。図3(B)の例では、スキャン画像SIは、特定幅方向Dwと平行な分割線DLによって、2個の領域A1、A2に2等分されている。第2領域A2は、第1領域A1の搬送方向Df側に配置されている。
図5(A)は、第1領域A1のハフ変換の結果の例を示すグラフであり、図5(B)は、第2領域A2のハフ変換の結果の例を示すグラフである。横軸は、角度Agを示し、縦軸は、距離Dgを示している。角度Agと距離Dgとの1個の組合せは、スキャン画像SI上の1本の直線を表している。角度Agは、スキャン画像SI上の基準方向(図示せず)と直線との間の角度を示している。距離Dgは、スキャン画像SI上の基準点(図示せず)と直線との間の距離を示している。
エッジ検出部215は、ハフ変換を実行することによって、角度Agと距離Dgとの組合せ毎に、その組合せによって特定される直線と重なるエッジ画素の総数を算出する(以下、「エッジ画素数」と呼ぶ)。エッジ画素数が多い場合、その角度Agと距離Dgとによって特定される直線は、多数のエッジ画素によって表されるエッジを表していると推定される。例えば、図4のステップS200では、エッジ検出部215は、角度Agと距離Dgとのそれぞれの範囲を複数の部分範囲に分割し、角度Agの部分範囲と距離Dgの部分範囲との組合せ(セルと呼ぶ)毎に、エッジ画素数を算出する。角度Agの部分範囲の中心値は、セルを代表する角度Agとして採用可能である。同様に、距離Dgの部分範囲の中心値は、セルを代表する距離Dgとして採用可能である。
図5(A)、図5(B)のグラフ中では、エッジ画素数が多い角度Agと距離Dgとの組合せが、黒点で示されている。図5(A)には、第1エッジEA(図3)を示す第1黒点P1と、第1直線部分ECaを示す第2黒点P2と、第1直線部分EDaを示す第3黒点P3とが、示されている。図5(B)には、第2エッジEBを示す第4黒点P4と、第2直線部分ECbを示す第5黒点P5と、第2直線部分EDbを示す第6黒点P6と、が示されている。
図3(A)で説明したように、2個の辺SC、SDは、第1辺SAに垂直である。従って、図3(B)の2個の直線部分ECa、EDaは、第1エッジEAに垂直である。この結果、図5(A)のグラフでは、2個の直線部分ECa、EDaをそれぞれ表す2個の黒点P2、P3と、第1エッジEAを表す第1黒点P1との間では、角度Agの差は90度である。同様に、図5(B)のグラフでは、2個の直線部分ECb、EDbをそれぞれ表す2個の黒点P5、P6と、第2エッジEBを表す第4黒点P4との間では、角度Agの差は90度である。
図4のステップS210では、エッジ検出部215は、ハフ変換の結果を用いて、近似線分を決定する。例えば、エッジ検出部215は、エッジ画素数が所定の閾値以上であり、かつ、エッジ画素数が極大(すなわち、局所的なピーク)を示すセルを代表する角度Agと距離Dgの組合せによって特定される直線を、エッジを近似する直線として採用する。
また、エッジ検出部215は、近似の精度を向上するために、角度Agと距離Dgとの組合せの予め決められた第1範囲AsA(図5(A))から、第1エッジEAを表す直線を検索する。第1範囲AsAは、搬送機構330(図1)の搬送経路FP上でのシートSHの位置と向きとが可能な範囲内で変化する場合の角度Agと距離Dgとの組合せの可能な範囲である。そして、エッジ検出部215は、第1エッジEAを表す直線の角度Agに90度を加算した角度Agから、第1直線部分ECa、EDaを表す直線を検索する。同様に、エッジ検出部215は、予め決められた範囲AsB(図5(B))から、第2エッジEBを表す直線を検索する。そして、エッジ検出部215は、第2エッジEBを表す直線の角度Agに90度を加算した角度Agから、第2直線部分ECb、EDbを表す直線を検索する。
図6は、近似線分の例を示す概略図である。図中には、スキャン画像SI上に近似線分が重ねて示されている。図中には、図5(A)、図5(B)で説明した6個の黒点P1〜P6にそれぞれ対応する6本の線分SgA、Sg3、Sg1、SgB、Sg4、Sg2が、示されている。これらの6本の線分と、図3(B)に示すエッジとの対応関係は、以下の通りである。
第1基準線分SgA : 第1エッジEA
第2基準線分SgB : 第2エッジEB
第1線分Sg1 : 第3エッジECの第1直線部分ECa
第2線分Sg2 : 第3エッジECの第2直線部分ECb
第3線分Sg3 : 第4エッジEDの第1直線部分EDa
第4線分Sg4 : 第4エッジEDの第2直線部分EDb
なお、エッジ検出部215は、ハフ変換の結果から、6本の線分SgA、SgB、Sg1〜Sg4ではなく、該6本の線分SgA、SgB、Sg1〜Sg4を含む6本の直線を特定する。そして、エッジ検出部215は、6本の直線の交差によって得られる6個の交点を算出することによって、6本の線分SgA、SgB、Sg1〜Sg4を特定する。
第1線分Sg1と第2線分Sg2とで構成される第1折れ線PL1は、第3エッジECを近似している。第1線分Sg1は、第1基準線分SgAの特定幅方向Dw側の端V1から第1基準線分SgAに垂直に第2基準線分SgB側へ延びている。第2線分Sg2は、第2基準線分SgBの特定幅方向Dw側の端V3から第2基準線分SgBに垂直に第1基準線分SgA側に延び、頂点V5で第1線分Sg1に接続される。
第3線分Sg3と第4線分Sg4とで構成される第2折れ線PL2は、第4エッジEDを近似している。第3線分Sg3は、第1基準線分SgAの特定幅方向Dwとは反対方向側の端V2から第1基準線分SgAに垂直に第2基準線分SgB側に向かって延びている。第4線分Sg4は、第2基準線分SgBの特定幅方向Dwとは反対方向側の端V4から第2基準線分SgBに垂直に第1基準線分SgA側に向かって延び、頂点V6で第3線分Sg3に接続される。
図中の第1基準長さW1は、第1基準線分SgAの長さであり、第1長L1は、第1線分Sg1の長さであり、第2長L2は、第2線分Sg2の長さである。また、第2基準長さW2は、第2基準線分SgBの長さであり、第3長L3は、第3線分Sg3の長さであり、第4長L4は、第4線分Sg4の長さである。
図2のステップS140では、判定部220は、スキャン画像SIが、シートSHの辺に対応する非直線状のエッジを含むか否かを判定する。本実施例では、判定部220は、第1基準線分SgA(図6)に対する第2基準線分SgBの傾斜角が予め決められた閾値(第1角度閾値とも呼ぶ)よりも大きい場合に、第1エッジEAに対する第2エッジEBの傾斜角が第1角度閾値よりも大きいため、第3エッジECと第4エッジEDが曲がっている可能性が高いので、スキャン画像SIが非直線状のエッジを含むと判定する。
なお、第1基準線分SgAに対する第2基準線分SgBの傾斜角は、第1基準線分SgAに平行な直線と第2基準線分SgBに平行な直線とを交差させた場合に、これら2本の直線がなす角度のうちの小さい方の角度である。第2基準線分SgBが第1基準線分SgAに平行である場合、傾斜角はゼロ度である。第1角度閾値としては、ゼロ(すなわち、平行)を採用してもよく、ゼロよりも大きい値を採用してもよい。
スキャン画像SIが非直線状のエッジを含むと判定されない場合(S140:No)、シート画像は、図3(B)のシート画像SHIとは異なり、矩形状である。この場合、ステップS160で、傾き補正部240は、スキャン画像中でシート画像が傾いているか否かを判定する。例えば、特定幅方向Dwに対する第1基準線分SgA(すなわち、第1エッジEA)の傾斜角が、閾値(例えば、上記の第1角度閾値)よりも大きい場合に、シート画像が傾いていると判定される。シート画像が傾いていないと判定される場合には、傾き補正部240は、スキャンデータを、そのまま、最終的な画像データとして記憶装置(例えば、不揮発性記憶装置130)に格納し、図2の処理を終了する。シート画像が傾いていると判定される場合には、傾き補正部240は、スキャン画像SI中の複数のエッジの傾きが修正されるようにスキャンデータを補正することによって、補正済の画像データを生成する(第2画像データとも呼ぶ)。具体的には、傾き補正部240は、第1基準線分SgAが特定幅方向Dwに平行になるようにシート画像を回転させる補正を行う。この結果、補正済の第2画像データは、傾いていないシート画像を表す。傾き補正部240は、生成した補正済の第2画像データを記憶装置(例えば、不揮発性記憶装置130)に格納し、図2の処理を終了する。
スキャン画像SIが非直線状のエッジを含むと判定される場合(S140:Yes)、ステップS150で、画像補正部230は、シート画像SHIを変形させる処理を実行する。具体的には、画像補正部230は、非直線状のエッジが直線状のエッジに修正されるようにスキャンデータを補正することによって、補正済の画像データを生成する(第1画像データとも呼ぶ)。
図7は、変形処理のフローチャートである。ステップS300では、画像補正部230は、まず、変形処理の対象領域を特定する。本実施例では、対象領域は、シートSH(図3(A))の第1辺SAを表す直線状の第1エッジEA(すなわち、第1基準線分SgA(図6))と、第2辺SBを表す直線状の第2エッジEB(すなわち、第2基準線分SgB)と、第3辺SCを近似する第1折れ線PL1と、第4辺SDを近似する第2折れ線PL2と、で囲まれる領域TA(図6)である(「対象領域TA」と呼ぶ)。対象領域TAは、背景BG(図3(B))の一部を含み得る(例えば、図6の頂点V5の近傍)。また、シート画像SHIの一部は、対象領域TAから除かれ得る(例えば、図6の頂点V6の近傍)。
次に、ステップS300では、画像補正部230は、第1折れ線PL1(図6)の両端を除く頂点V5と、第2折れ線PL2の両端を除く頂点V6とを通る直線DL1で、対象領域TAを、2個の部分領域PA1、PA2に分割する。
図7のステップS310では、画像補正部230は、複数の部分領域から未処理の部分領域を対象部分領域として選択する。ステップS320では、画像補正部230は、スキャンデータによって表される対象部分領域を変形することによって、変形済の画像データを生成する(詳細は後述)。ステップS330では、画像補正部230は、全ての部分領域の処理が終了したか否かを判定し、全ての部分領域の処理が終了するまで、ステップS310、S320を繰り返す。全ての部分領域の処理の終了に応じて、ステップS340で、画像補正部230は、全ての変形済の対象部分領域を表す全ての変形済の画像データを合成することによって、変形済(すなわち、補正済)の第1画像データを生成する。そして、画像補正部230は、生成した補正済の第1画像データを記憶装置(例えば、不揮発性記憶装置130)に格納し、図7の処理を終了する。
図8は、補正済の第1画像データによって表される補正済画像の例を表す概略図である。この補正済画像IM1は、補正済のシート画像SHcを含んでいる。補正済シート画像SHcの輪郭の形状は、矩形状である。画像補正部230は、非直線状のエッジ(例えば、図3(B)の第3エッジEC)が直線状に修正されるように、スキャンデータを補正することによって、補正済画像IM1を表す補正済の第1画像データを生成する。
図8中には、図6に示す線分と頂点とを補正することによって得られる線分と頂点とが示されている。ここで、補正済の要素の符号として、補正前の要素の符号の末尾に文字「c」を付加して得られる符号を採用する。例えば、図8中の頂点V1c〜V6cは、補正前の頂点V1〜V6(図6)が、変形処理によって移動した後の頂点を、それぞれ示している。図8中の線分SgAc、SgBc、Sg1c、Sg2c、Sg3c、Sg4cは、補正前の線分SgA、SgB、Sg1、Sg2、Sg3、Sg4が、変形処理によって移動した後の線分を、それぞれ示している。
画像補正部230は、図7のステップS320で、対象部分領域(図6)を形成する頂点を、以下のように移動させる。第1基準線分SgA(図6)の両端V1、V2と、第2基準線分SgBの両端V3、V4とは、矩形を形成するように移動される(図8中の頂点V1c〜V4c)。ここで、移動後の頂点V1c、V2c(図8)を結ぶ線分SgAcと、移動後の頂点V3c、V4cを結ぶ線分SgBcとは、特定幅方向Dwに平行である。また、各線分SgAc、SgBcの長さWは、図6の第1基準線分SgAの長さW1と第2基準線分SgBの長さW2の平均値である。2本の線分SgAc、SgBcの間の距離Lは、図6の第1折れ線PL1の長さ(L1+L2)と、第2折れ線PL2の長さ(L3+L4)の平均値である。
第1折れ線PL1(図6)の途中の頂点V5は、第1折れ線PL1の両端V1、V3に対応する補正済の端V1c、V3c(図8)を結ぶ直線上に移動される(頂点V5c)。図8中の第1長L11は、補正済第1線分Sg1cの長さであり、第2長L12は、補正済第2線分Sg2cの長さである。ここで、補正後の頂点V1c、V5c、V3cの間の距離の比率(L11:L12)は、補正前の頂点V1、V5、V3の間の距離の比率(L1:L2)と、同じである。
同様に、第2折れ線PL2(図6)の途中の頂点V6は、第2折れ線PL2の両端V2、V4に対応する補正済の端V2c、V4c(図8)を結ぶ直線上に移動される(頂点V6c)。図8中の第3長L13は、補正済第3線分Sg3cの長さであり、第4長L14は、補正済第4線分Sg4cの長さである。ここで、補正後の頂点V2c、V6c、V4cの間の距離の比率(L13:L14)は、補正前の頂点V2、V6、V4の間の距離の比率(L3:L4)と、同じである。
画像補正部230は、図7のステップS320で、補正済(すなわち、移動済)の頂点を用いて、補正済の対象部分領域内の各画素の色値を決定する。図9は、第1部分領域PA1の変形処理の例を示す概略図である。図9の左側には、補正前の第1部分領域PA1が示され、図9の右側には、補正済の第1部分領域PA1cが示されている。
画像補正部230は、補正済の第1部分領域PA1c内の任意の位置の対象画素Ptcの色値を、以下のように、決定する。まず、画像補正部230は、ゼロ以上1以下の第1変数tを用いて、対象線分Sgtcを特定する。対象線分Sgtcは、第1折れ線PL1(図6)に対応する補正済の第1線分Sg1c上の第1点Pacと、第2折れ線PL2に対応する補正済の第3線分Sg3c上の第2点Pbcと、を結ぶ線分である。第1点Pacは、頂点V1cから頂点V5cまでの第1線分Sg1cを、「t:1−t」の比率で分割する点であり、第2点Pbcは、頂点V2cから頂点V6cまでの第3線分Sg3cを、「t:1−t」の比率で分割する点である。画像補正部230は、対象画素Ptcと重なる対象線分Sgtcを表す第1変数tを算出する。
次に、画像補正部230は、対象線分Sgtc上の対象画素Ptcの位置を示す第2変数sを算出する。対象画素Ptcの位置は、第2点Pbcから第1点Pacまでの対象線分Sgtcを「s:1−s」の比率で分割する位置である。
次に、画像補正部230は、補正前の第1部分領域PA1上の、対象画素Ptcに対応する参照画素Ptを、第1変数tと第2変数sとを用いて特定する。画像補正部230は、第1変数tを用いて、参照線分Sgtを特定する。参照線分Sgtは、第1折れ線PL1(図6)に対応する補正前の第1線分Sg1上の第1点Paと、第2折れ線PL2に対応する補正前の第3線分Sg3上の第2点Pbと、を結ぶ線分である。第1点Paは、頂点V1から頂点V5までの第1線分Sg1を、「t:1−t」の比率で分割する点であり、第2点Pbは、頂点V2から頂点V6までの第3線分Sg3を、「t:1−t」の比率で分割する点である。次に、画像補正部230は、第2変数sを用いて、参照線分Sgt上の参照画素Ptの位置を特定する。参照画素Ptの位置は、第2点Pbから第1点Paまでの参照線分Sgtを「s:1−s」の比率で分割する位置である。
画像補正部230は、以上のようにして特定された参照画素Ptの色値(スキャンデータによって表される色値)を、対象画素Ptcの色値として採用する。そして、画像補正部230は、補正済の第1部分領域PA1c内の全ての画素のそれぞれの色値を、同じ方法に従って、決定する。以上により、画像補正部230は、第1部分領域PA1の変形処理を、完了する。
画像補正部230は、他の部分領域(例えば、第2部分領域PA2c)についても、同様に、変形処理を実行する。補正済シート画像SHcは、近似線分(図6)によって表される複数の部分領域をそれぞれ変形して得られる複数の補正済の部分領域で構成されている。以上により、画像補正部230は、スキャン画像SI(図3(B)中の曲がったシート画像SHIが矩形に修正された補正済シート画像SHcを表す補正済画像IM1(すなわち、補正済の第1画像データ)を、生成する。補正済シート画像SHcの内部は、シート画像SHcの輪郭の形状の修正(すなわち、変形)に合わせて、修正(すなわち、変形)されている。従って、補正済画像IM1は、シートSHを適切に表すことができる。例えば、シートSH(図3(A))が、搬送方向Dfに沿って延びる直線Lsを表す場合、スキャン画像SI(図3(B))中では、直線Lsの一部が曲がって表現され得るが、補正済画像IM1(図8)中では、直線Lsは、直線として、表現され得る。補正済画像IM1中の補正済シート画像SHcの外の領域では、色値は、背景BGを表す色値(例えば、所定の白色を表す色値)に決定される。
以上のように、本実施例では、スキャン画像SIが、シートSHの辺に対応する非直線状のエッジを含むと判定される場合に(図2:S140:Yes)、画像補正部230は、非直線状のエッジが直線状のエッジに修正されるようにスキャンデータを補正することによって、補正済の画像IM1を表す補正済の画像データを生成する。従って、シートSHの辺を表す非直線状のエッジが直線状に修正された画像データを得ることができる。
また、判定部220は、図2のステップS140で、シートSH(図3(A))の複数の辺SA〜SDのうち搬送方向Dfとは反対の方向側に位置する第1辺SAを表す直線状の第1エッジEA(すなわち、第1基準線分SgA(図6))に対する、搬送方向Df側に位置する第2辺SBを表す直線状の第2エッジEB(すなわち、第2基準線分SgB)の傾斜角が第1角度閾値よりも大きい場合に、スキャン画像SIが非直線状のエッジを含むと判定する。このように、判定部220は、傾斜角を用いて容易に判定できるので、画像補正部230は、シートSHを適切に表す画像データを生成できる。
また、画像補正部230は、図7のステップS300で、スキャン画像SI(図6)中のシートSHの少なくとも一部を表す対象領域TAを、2個の部分領域PA1、PA2に分割する。そして、画像補正部230は、ステップS310〜S330で、2個の部分領域PA1、PA2を、各部分領域PA1、PA2毎に補正する。従って、画像補正部230は、スキャン画像SIを分割せずに補正する場合と比べて、容易に、補正の精度を向上でき、そして、シートSHを適切に表す画像データを生成できる。
また、エッジ検出部215は、図2のステップS130(具体的には、図4のステップS210)で、シートSHの第3辺SCを表すエッジECを近似する2本の線分Sg1、Sg2で構成される第1折れ線PL1と、シートSHの第4辺SDを表すエッジEDを近似する2本の線分Sg3、Sg4で構成される第2折れ線PL2と、を決定する。そして、画像補正部230は、図2のステップS150(具体的には、図7のステップS300)で、第1折れ線PL1の両端V1、V3を除く1個の頂点V5と、第2折れ線PL2の両端V2、V4を除く1個の頂点V6とを通る1個の直線DL1で対象領域TAを2個の部分領域PA1、PA2に分割する。このように、画像補正部230は、エッジEC、EDを近似する折れ線PL1、PL2に基づいて対象領域TAを分割するので、シートSHを適切に表す画像データを生成できる。
ここで、画像補正部230は、図7のステップS300で、対象領域TAとして、第1辺SAを表す直線状の第1エッジEA(すなわち、第1基準線分SgA)と、第2辺SBを表す直線状の第2エッジEB(すなわち、第2基準線分SgB)と、第1折れ線PL1と、第2折れ線PL2と、で囲まれる領域を、採用する。ここで、第1折れ線PL1(図6)は、第1線分Sg1と第2線分Sg2とで構成される。第2折れ線PL2(図6)は、第3線分Sg3と第4線分Sg4とで構成される。第1線分Sg1と第3線分Sg3とは、第1基準線分SgAに垂直である。第2線分Sg2と第4線分Sg4とは、第2基準線分SgBに垂直である。そして、第1線分Sg1と第2線分Sg2とは、頂点V5で接続される。第3線分Sg3と第4線分Sg4とは、頂点V6で接続される。画像補正部230は、図7の処理で、折れ線PL1、PL2の頂点V5、V6を用いて対象領域TAを2個の部分領域PA1、PA2に分割し、そして、2個の部分領域PA1、PA2のそれぞれの補正によって対象領域TAが矩形に修正されるようにスキャンデータを補正することによって、補正済の画像データを生成する。このように、画像補正部230は、2本のエッジEA、EBと、2本のエッジEA、EBから得られる4本の線分Sg1〜Sg4とを用いて、シートSHを適切に表す補正済の画像データを生成できる。
また、スキャン画像SIが非直線状のエッジを含むと判定されない場合(図2:S140:No)、傾き補正部240は、ステップS160で、スキャン画像SI中のエッジEA〜EDの傾きが修正されるようにスキャンデータを補正することによって、補正済の画像を表す画像データを生成する。このように、傾き補正部240は、傾きが補正されたシートを表す画像データを生成できる。
なお、図2のステップS140で用いられる第1角度閾値としては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第1角度閾値が、シートSHのサイズに応じて変化してもよい。具体的には、判定部220は、第1基準線分SgA(図6)の長さW1が大きいほど小さい値を、第1角度閾値として採用してもよい。いずれの場合も、判定の精度を向上するためには、第1角度閾値が小さいことが好ましく、例えば、ゼロ度以上5度以下の値が好ましく、ゼロ度以上3度以下の値が特に好ましく、ゼロ度以上1度以下の値が最も好ましい。
B.第2実施例:
図10は、図2のステップS130で実行される近似線分の決定処理の第2実施例のフローチャートである。図4の第1実施例との差異は、折れ線とエッジとの間の距離が大きい場合に、折れ線に線分が追加される点である。図2、図7の処理は、第1実施例と同様に、実行される。第2実施例で用いられるスキャンシステムの構成は、図1に示すスキャンシステム1000の構成と、同じである。
ステップS200、S210は、図4のステップS200、S210と、それぞれ同じである。ステップS220では、エッジ検出部215は、折れ線の頂点とエッジとの間の距離DVを算出する。
図11は、距離DVの説明図である。図中には、スキャン画像SI(図3(B))のうちの頂点V5を含む一部分の拡大図が示されている。図中には、第3エッジECと、第3エッジECを近似する第1折れ線PL1とが、太線で示されている。エッジ検出部215は、第1折れ線PL1の頂点V5と第3エッジECとの間の特定幅方向Dwの距離(例えば、画素数)を、距離DVとして算出する。この距離DVが大きいことは、第1折れ線PL1による第3エッジECの近似の精度が低いことを示している。
図10のステップS220では、エッジ検出部215は、第1折れ線PL1の両端を除く全ての頂点と、第2折れ線PL2の両端を除く全ての頂点と、のそれぞれの頂点における距離DVを算出する。
ステップS230では、エッジ検出部215は、ステップS220で算出された複数の距離DVの全てが予め決められた第1更新閾値DVt以下であるか否かを判定する。第1更新閾値DVtとしては、ゼロを採用してもよく、ゼロよりも大きい値を採用してもよい。全ての頂点の全ての距離DVが第1更新閾値DVt以下であることは、第1折れ線PL1と第2折れ線PL2とによる近似の精度が良好であることを示している。この場合(S230:Yes)、エッジ検出部215は、図10の処理を終了する。
算出された複数の距離DVのうちの少なくとも1個の距離DVが、第1更新閾値DVtよりも大きい場合(S230:No)、エッジ検出部215は、大きな距離DVに対応付けられた頂点の近傍のエッジを近似する線分を、折れ線に追加する。具体的には、エッジ検出部215は、ステップS240で、スキャン画像SIから、第1更新閾値DVtよりも大きい距離DVに対応付けられた頂点の周辺の部分画像を取得する。図11には、頂点V5の周辺の部分画像の例が、二重線で示されている。図示された部分画像Avは、スキャン画像SIの特定幅方向Dw側の端e1から反対方向側の端e2まで延びる矩形の帯状の画像である。図中の長さAvLは、部分画像Avの搬送方向Dfの長さ(例えば、画素数)である。この部分画像Avは、搬送方向Dfの中心位置が頂点V5と重なるように、配置されている。
長さAvLは、線分を追加する前の1本の折れ線に含まれる線分の総数が多いほど小さくなるように、予め決められている。例えば、エッジ検出部215は、「スキャン画像SIの搬送方向Dfの長さ(例えば、画素数)/線分の総数」によって算出される値を、長さAvLとして採用する。
図10のステップS250では、エッジ検出部215は、部分画像Avのハフ変換を実行する。ハフ変換の方法は、ステップS200でのハフ変換の方法と同じである。ステップS260では、エッジ検出部215は、ハフ変換の結果を用いて、近似線分を決定する。図11の例では、エッジ検出部215は、第3エッジECのうちの部分画像Avに含まれる部分を近似する直線LAを決定する。この直線LAは、第1線分Sg1の途中の点V7で第1線分Sg1と交差し、第2線分Sg2の途中の点V8で第2線分Sg2と交差する。以下、これら2つの点V7、V8を結ぶ線分を、第5線分Sg5と呼ぶ。
図12は、線分が追加された(すなわち、更新済の)第1折れ線PL1を示す概略図である。図示するように、更新済の第1折れ線PL1は、第1線分Sg1の頂点V1から点V7までの部分と、第5線分Sg5と、第2線分Sg2の点V8から頂点V3までの部分と、で構成されている。第5線分Sg5が追加されることによって、更新済の第1折れ線PL1からは、大きな距離DVに対応付けられた頂点V5が、削除される。そして、更新済の第1折れ線PL1は、第3エッジECを、より精度よく近似可能である。
なお、エッジ検出部215は、第1折れ線PL1の頂点に応じて第1折れ線PL1に線分を追加する場合、第2折れ線PL2の対応する頂点に応じて第2折れ線PL2にも線分を追加する。ここで、第1折れ線PL1の頂点に対応する第2折れ線PL2の頂点は、対象領域を分割する場合に用いられる1本の分割線を形成する頂点である。例えば、図6の例では、頂点V5に対応する頂点は、頂点V6である。
図12に示すように、エッジ検出部215は、第2折れ線PL2の頂点V6に応じて第2折れ線PL2に第6線分Sg6を追加する。更新済の第6線分Sg6は、第3線分Sg3の途中の点V9と、第4線分Sg4の途中の点V10と、を結ぶ線分である。第2折れ線PL2は、第3線分Sg3の頂点V2から点V9までの部分と、第6線分Sg6と、第4線分Sg4の点V10から頂点V4までの部分と、で構成されている。第6線分Sg6が追加されることによって、更新済の第2折れ線PL2からは、頂点V6が削除される。そして、更新済の第2折れ線PL2は、第4エッジEDを、より精度よく近似可能である。
エッジ検出部215は、このような第6線分Sg6を、第5線分Sg5と同様に、図10のステップS240〜S260で決定する。エッジ検出部215は、第1折れ線PL1と第2折れ線PL2とのいずれか一方に線分を追加する場合には、他方の折れ線にも線分を追加するように、ステップS240〜S260で、第1折れ線PL1のための処理と第2折れ線PL2のための処理とを実行する。第2折れ線PL2の1個の頂点が、第1更新閾値DVtよりも大きい距離DVに対応付けられる場合には、エッジ検出部215は、その頂点に応じて第2折れ線PL2に線分を追加し、そして、第1折れ線PL1の対応する頂点に応じて第1折れ線PL1にも線分を追加する。
また、エッジ検出部215は、ステップS240〜S260で、第1更新閾値DVtよりも大きい距離DVに対応付けられる全ての頂点のそれぞれに応じて、折れ線PL1、PL2のそれぞれに線分を追加する。この結果、第1更新閾値DVtよりも大きい距離DVに対応付けられる全ての頂点が折れ線PL1、PL2から削除されるので、各折れ線PL1、PL2による近似の精度を向上できる。
エッジ検出部215は、ステップS260が終了した場合に、再び、ステップS220に移行する。ステップS220では、エッジ検出部215は、ステップS260で追加された頂点のそれぞれにおける距離DVを算出する。そして、エッジ検出部215は、全ての頂点の全ての距離DVが第1更新閾値DVt以下になるまで、ステップS240〜S260の処理(線分(すなわち頂点)の追加)を繰り返す。また、図7のステップS300では、画像補正部230は、対象領域を、更新済の折れ線PL1、PL2によって表されるN個(Nは2以上の整数)の部分領域に分割する。そして、画像補正部230は、ステップS310〜330を部分領域毎に実行することによって、N個の部分領域のそれぞれを、部分領域毎に補正する。
例えば、図12の例では、画像補正部230は、対象領域TAxを3個の部分領域PA11、PA12、PA13に分割し、これらの部分領域PA11、PA12、PA13をそれぞれ補正する。図示を省略するが、第1折れ線PL1の途中の頂点V7、V8は、補正済の画像(図8)の頂点V1c、V3cを結ぶ直線上に配置される。そして、補正済の頂点V1c、V7c、V8c、V3cの間の距離の比率が、頂点V1、V7、V8、V3の間の距離の比率と同じとなるように、補正済の頂点V7c、V8cの位置が決定される。第2折れ線PL2の途中の頂点V9、V10についても、同様である。また、部分領域の総数Nが4以上である場合も、同様である。
このように、第2実施例の近似線分の決定処理によれば、エッジ検出部215は、図10のステップS230で、スキャン画像SI(図11)上において、第1線分Sg1と第2線分Sg2とを接続する1個の頂点V5と、シートSHの特定幅方向Dw側に位置する辺を表す第3エッジECと、の間の距離DVが第1更新閾値DVt以下であるか否かを判定する。そして、距離DVが第1更新閾値DVtよりも大きい場合には、ステップS240〜S260で、エッジ検出部215は、第1線分Sg1の途中の点V7と、第2線分Sg2の途中の点V8とを接続する第5線分Sg5を第1折れ線PL1に追加し、第3線分Sg3の途中の点V9と、第4線分Sg4の途中の点V10とを接続する第6線分Sg6を第2折れ線PL2に追加する。そして、図12に示すように、画像補正部230は、頂点V7と頂点V9とを通る直線と、点V8と点V10とを通る直線とを用いて、対象領域TAxを3個の部分領域PA11、PA12、PA13に分割する。3個の線分で構成される折れ線は、2個の線分で構成される折れ線よりも非直線状のエッジを適切に近似できるので、画像補正部230は、適切な部分領域を用いて、補正済の画像データを生成できる。
なお、第1更新閾値DVtとしては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第1更新閾値DVtが、シートSHのサイズに応じて変化してもよい。具体的には、エッジ検出部215は、第1基準線分SgA(図6)の長さW1が大きいほど大きい値を、第1更新閾値DVtとして採用してもよい。いずれの場合も、判定の精度を向上するためには、第1更新閾値DVtが小さいことが好ましく、例えば、ゼロ以上、かつ、長さW1の15%以下の値が好ましく、ゼロ以上、かつ、長さW1の10%以下の値が特に好ましく、ゼロ以上、かつ、長さW1の5%以下の値が最も好ましい。
C.第3実施例:
図13は、図2のステップS130で実行される近似線分の決定処理の第3実施例のフローチャートである。図10の第2実施例との差異は、距離DVを用いるステップS220、S230が、傾斜角AgVを用いるステップS220a、S230aに置換されている点だけである。図13のフローチャートの他の構成は、図10のフローチャートの構成と、同じである。以下、図13のステップのうち、図10のステップと同じステップには、同じ符号を付して、説明を省略する。また、図2、図7の処理は、第1と第2の実施例と同様に、実行される。第3実施例で用いられるスキャンシステムの構成は、図1に示すスキャンシステム1000の構成と、同じである。
ステップS220aでは、エッジ検出部215は、折れ線の頂点に接続された2本の線分の間の傾斜角AgVを算出する。図11には、頂点V5に対応付けられた傾斜角AgVが示されている。この傾斜角AgVは、第1線分Sg1に平行な直線と、第2線分Sg2に平行な直線とを交差させた場合に、これら2本の直線がなす角度のうちの小さい方の角度と同じである。2本の線分Sg1、Sg2が平行である場合、傾斜角AgVは、ゼロ度である。この傾斜角AgVが大きいことは、第1折れ線PL1による第3エッジECの近似の精度が低いことを示している。
図13のステップS220aでは、エッジ検出部215は、第1折れ線PL1の両端を除く全ての頂点と、第2折れ線PL2の両端を除く全ての頂点と、のそれぞれの頂点の傾斜角AgVを算出する。
ステップS230aでは、エッジ検出部215は、ステップS220aで算出された複数の傾斜角AgVの全てが予め決められた第2更新閾値AgVt以下であるか否かを判定する。第2更新閾値AgVtとしては、ゼロ(すなわち、直線)を採用してもよく、ゼロよりも大きい値を採用してもよい。全ての頂点の全ての傾斜角AgVが第2更新閾値AgVt以下であることは、第1折れ線PL1と第2折れ線PL2とによる近似の精度が良好であることを示している。この場合(S230a:Yes)、エッジ検出部215は、図10の処理を終了する。
少なくとも1個の頂点の傾斜角AgVが、第2更新閾値AgVtよりも大きい場合(S230a:No)、エッジ検出部215は、ステップS240〜S260で、折れ線PL1、PL2に、線分(すなわち、頂点)を追加する。図13の実施例では、図10の実施例とは異なり、第1更新閾値DVtよりも大きい距離DVに対応付けられた頂点の代わりに、第2更新閾値AgVtよりも大きい傾斜角AgVに対応付けられた頂点に基づいて、線分(頂点)が追加される。以上により、図12と同様の更新済の折れ線PL1、PL2が決定される。
このように、第3実施例の近似線分の決定処理によれば、エッジ検出部215は、図13のステップS230aで、スキャン画像SI(図11)上において、第1線分Sg1の延びる方向d1と第2線分Sg2の延びる方向d2とがなす傾斜角AgVが第2更新閾値AgVt以下であるか否かを判定する。そして、傾斜角AgVが第2更新閾値AgVtよりも大きい場合には、ステップS240〜S260で、エッジ検出部215は、第1線分Sg1の途中の点V7と、第2線分Sg2の途中の点V8とを接続する第5線分Sg5を第1折れ線PL1に追加し、第3線分Sg3の途中の点V9と、第4線分Sg4の途中の点V10とを接続する第6線分Sg6を第2折れ線PL2に追加する。そして、図12に示すように、画像補正部230は、頂点V7と頂点V9とを通る直線と、点V8と点V10とを通る直線とを用いて、対象領域TAxを3個の部分領域PA11、PA12、PA13に分割する。3個の線分で構成される折れ線は、2個の線分で構成される折れ線よりも非直線状のエッジを適切に近似できるので、画像補正部230は、適切な部分領域を用いて、補正済の画像データを生成できる。
なお、第2更新閾値AgVtとしては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第2更新閾値AgVtが、シートSHのサイズに応じて変化してもよい。具体的には、エッジ検出部215は、第1基準線分SgA(図6)の長さW1が大きいほど小さい値を、第2更新閾値AgVtとして採用してもよい。いずれの場合も、判定の精度を向上するためには、第2更新閾値AgVtが小さいことが好ましく、例えば、ゼロ度以上5度以下の値が好ましく、ゼロ度以上3度以下の値が特に好ましく、ゼロ度以上1度以下の値が最も好ましい。
D.変形例:
(1)図2のステップS140の判定方法、すなわち、スキャン画像SIが非直線状のエッジを含むか否かの判定方法としては、第1エッジEAに対する第2エッジEBの傾斜角が第1角度閾値よりも大きいか否かの判定結果を用いる方法とは異なる他の種々の方法を採用可能である。例えば、判定部220は、シートSHの複数の辺SA〜SDのうち、搬送方向Dfに垂直な方向側(例えば、特定幅方向Dw側)に位置する第3辺SCを表す第3エッジECの延びる方向が第3エッジECの途中で予め決められた閾値(第2角度閾値と呼ぶ)よりも大きく変化する場合に、スキャン画像SIが非直線状のエッジを含むと判定してもよい。
例えば、画像補正部230は、第3エッジECを近似する第1線分Sg1と第2線分Sg2とがなす角度が、予め決められた第2角度閾値よりも大きい場合に、第3エッジECの延びる方向が第3エッジECの途中で所定の第2角度閾値よりも大きく変化すると判定可能である。第1線分Sg1と第2線分Sg2とがなす角度は、第1線分Sg1に平行な直線と、第2線分Sg2に平行な直線とを交差させた場合に、これら2本の直線がなす角度のうちの小さい方の角度である。第2角度閾値としては、ゼロ(すなわち、直線)を採用してもよく、ゼロよりも大きい値を採用してもよい。また、第2角度閾値としては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第2角度閾値が、シートSHのサイズに応じて変化してもよい。具体的には、判定部220は、第1基準線分SgA(図6)の長さW1が大きいほど小さい値を、第2角度閾値として採用してもよい。いずれの場合も、判定の精度を向上するためには、第2角度閾値が小さいことが好ましく、例えば、ゼロ度以上5度以下が好ましく、ゼロ度以上3度以下が特に好ましく、ゼロ度以上1度以下が最も好ましい。
また、スキャン画像SIが非直線状のエッジを含むと判定するための判定条件は、複数の条件を含んでも良い。例えば、判定条件は、「第1エッジEAに対する第2エッジEBの傾斜角が第1角度閾値よりも大きいことを示す第1条件」と、「搬送方向Dfに垂直な方向側に位置する辺を表すエッジ(例えば、第3エッジEC)の延びる方向が、そのエッジの途中で第2角度閾値よりも大きく変化することを示す第2条件」と、を含んでもよい。ここで、第1条件と第2条件との少なくとも一方が満たされる場合に、判定条件が満たされることとしてもよい。この代わりに、第1条件と第2条件との両方が満たされる場合に、判定条件が満たされることとしてもよい。
(2)エッジを近似する近似線分を決定する方法としては、ハフ変換を用いる方法とは異なる他の種々の方法を採用可能である。例えば、エッジ検出部215は、最小2乗法に従って、複数のエッジ画素の配置を近似する線分を決定してもよい。
(3)図10、図13の処理において、エッジを近似する折れ線に追加される新たな線分を決定する方法としては、ステップS240〜S260に示すハフ変換を用いる方法とは異なる他の種々の方法を採用可能である。例えば、図11の例で第1折れ線PL1に線分を追加する場合、エッジ検出部215は、第1線分Sg1上の点であって頂点V5から所定距離の点を、頂点V7として採用し、第2線分Sg2上の点であって頂点V5から所定距離の点を、点V8として採用し、これらの頂点V7、V8を結ぶ線分を第1折れ線PL1に追加してもよい。
(4)エッジを近似する折れ線に新たな線分を追加するか否かを判定する方法としては、折れ線の頂点における距離DV(図10)または傾斜角AgV(図13)を用いる方法とは異なる他の種々の方法を採用可能である。例えば、エッジ検出部215は、第1線分Sg1(図6)上の点を、頂点V1から第2基準線分SgBに向かって移動させつつ、その点と第3エッジECとの間の距離(図11の距離DVと同様の距離)を算出する。そして、エッジ検出部215は、距離が第1更新閾値DVt以下の値から第1更新閾値DVtよりも大きい値に変化する点を特定する。エッジ検出部215は、特定された点の周辺部分の画像を取得し、取得した画像のハフ変換によって、新たに追加される線分を決定する。特定された点の周辺部分の画像を用いる線分の決定方法としては、図10、図13のステップS240〜S260と同様の方法を採用可能である。なお、周辺部分の画像の長さAvLとしては、所定の長さを採用可能である。
(5)エッジを近似する方法としては、折れ線を用いる方法とは異なる他の種々の方法を採用可能である。例えば、エッジ検出部215は、スプライン曲線を用いて、図3の第3エッジECを近似する第1曲線と、第4エッジEDを近似する第2曲線とを決定してもよい。この場合、画像補正部230は、各曲線をN個(Nは2以上の整数)の等長の部分に分割する。そして、画像補正部230は、第1曲線上のN個の部分のN−1個の接続点と、第2曲線上のN個の部分のN−1個の接続点と、をそれぞれ通るN−1個の直線で対象領域をN個の部分領域に分割する。そして、画像補正部230は、N個の部分領域を各部分領域毎に補正する。ここで、対象領域は、第1基準線分SgAと、第1曲線上のN−1個の接続点を順番に辿る折れ線と、第2基準線分SgBと、第2曲線上のN−1個の接続点を順番に辿る折れ線と、で囲まれる領域である。
(6)画像を変形する方法としては、図7から図9で説明した方法とは異なる他の任意の方法を採用可能である。例えば、アフィン変換を用いて画像を変形する方法を採用してもよい。また、いわゆるモーフィングの技術を用いて画像を変形する方法を採用してもよい。一般的には、スキャン画像SI(図3(B))中のシート画像SHIのエッジの歪みとシート画像SHIの内部の画像の歪みとを低減するような変形処理を採用することが好ましい。
(7)スキャン処理としては、図2、図4、図7、図10、図13に示す処理とは異なる他の種々の処理を採用可能である。例えば、図2のステップS160を省略してもよい。また、図10、図13の処理において、ステップS240〜S260の処理の繰り返し回数の上限が予め定められていても良い。上限は、例えば、1回でもよく、2回でもよく、3回であってもよい。
(8)読取部360の構成としては、図1に示す構成とは異なる他の種々の構成を採用可能である。例えば、第1ローラ対310と第2ローラ対320との一方が省略されてもよい。また、複数の受光素子342を有するセンサ340の代わりに、1個の受光素子が、回転するポリゴンミラーを用いて、シートSHをスキャンしてもよい。
(9)スキャンデータを処理するための機能は、画像処理装置100(図1)とは異なる他の任意の種類の装置によって、実現されてよい。例えば、スキャナ装置300に設けられたコンピュータやASIC等の画像処理部(図示せず)が、画像処理装置100の代わりにスキャンデータを処理してもよい。この場合、画像処理装置100を省略可能である。また、画像処理部は、制御部350に組み込まれても良い。
また、ネットワークを介して互いに通信可能な複数の装置(例えば、コンピュータ)が、スキャンデータを処理するための機能を一部ずつ分担して、全体として、スキャンデータを処理するための機能を提供してもよい(これらの装置を備えるシステムが画像処理装置に対応する)。
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の画像補正部230の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体(例えば、一時的ではない記録媒体)に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体(コンピュータ読み取り可能な記録媒体)に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやCD−ROMのような携帯型の記録媒体に限らず、各種ROM等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
100...画像処理装置、110...プロセッサ、120...揮発性記憶装置、130...不揮発性記憶装置、132...プログラム、140...表示部、150...操作部、160...装置インタフェース、210...取得部、215...エッジ検出部、220...判定部、230...画像補正部、240...補正部、300...スキャナ装置、310...第1ローラ対、312...駆動ローラ、314...従動ローラ、320...第2ローラ対、322...駆動ローラ、324...従動ローラ、330...搬送機構、340...センサ、342...受光素子、350...制御部、360...読取部、1000...スキャンシステム

Claims (14)

  1. 画像処理装置であって、
    シートの搬送中に前記シートを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部から、前記スキャンデータを取得する取得部と、
    前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、
    前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、
    前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第1画像データを生成する画像補正部と、
    を備え、
    前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの直線状の第1エッジと直線状の第2エッジとで形成される角度が、第1角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、
    前記直線状の第1エッジおよび前記直線状の第2エッジは、それぞれ、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ直交する第1辺および第2辺に対応する、
    画像処理装置。
  2. 請求項1に記載の画像処理装置であって、
    前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの第3エッジの第1端部を形成する直線状の部分である第1部分エッジと、前記第3エッジの第2端部を形成する直線状の部分である第2部分エッジと、で形成される角度が、第2角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、
    前記第3エッジは、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ平行な第3辺に対応する、
    画像処理装置。
  3. 請求項1または2に記載の画像処理装置であって、
    前記画像補正部は、
    前記スキャン画像中の前記シートの少なくとも一部を表す対象領域をN個(Nは2以上の整数)の部分領域に分割し、
    前記N個の部分領域を各部分領域毎に補正する、
    画像処理装置。
  4. 請求項に記載の画像処理装置であって、
    前記エッジ検出部は、少なくとも前記対象領域が前記N個の部分領域に分割される場合に、前記スキャン画像から検出される前記複数のエッジのうち、前記シートの前記複数の辺のうち前記搬送方向と垂直な特定方向側に位置する辺を表すエッジを近似するN本の線分で構成される第1折れ線と、前記シートの前記複数の辺のうち前記特定方向とは反対の方向側に位置する辺を表すエッジを近似するN本の線分で構成される第2折れ線と、を決定し、
    前記画像補正部は、
    前記第1折れ線の両端を除くN−1個の頂点と前記第2折れ線の両端を除くN−1個の頂点とをそれぞれ通るN−1個の直線で前記対象領域を前記N個の部分領域に分割する、
    画像処理装置。
  5. 請求項に記載の画像処理装置であって、
    前記部分領域の総数Nが2である場合に、
    前記エッジ検出部は、2個の線分で構成される前記第1折れ線と、2個の線分で構成される前記第2折れ線と、を決定し、
    前記画像補正部は、
    前記シートの前記複数の辺のうち前記搬送方向側に位置する辺を表す直線状の第1エッジと、前記シートの前記複数の辺のうち前記搬送方向とは反対方向側に位置する辺を表す直線状の第2エッジと、前記第1折れ線と、前記第2折れ線と、で囲まれる前記対象領域を、前記第1折れ線の前記2個の線分を接続する頂点と前記第2折れ線の前記2個の線分を接続する頂点とを通る直線で、2個の部分領域に分割し、
    前記2個の部分領域のそれぞれの補正によって前記対象領域が矩形に修正されるように前記スキャンデータを補正することによって、前記第1画像データを生成し、
    前記第1折れ線は、前記第1エッジの前記特定方向側の端から前記第1エッジに垂直に前記第2エッジ側へ延びる直線状の第1線分と、前記第2エッジの前記特定方向側の端から前記第2エッジに垂直に前記第1エッジ側に延びて前記第1線分に接続される直線状の第2線分と、で構成され、
    前記第2折れ線は、前記第1エッジの前記特定方向とは反対方向側の端から前記第1エッジに垂直に前記第2エッジ側へ延びる直線状の第3線分と、前記第2エッジの前記特定方向とは反対方向側の端から前記第2エッジに垂直に前記第1エッジ側に延びて前記第2線分に接続される直線状の第4線分と、で構成される、
    画像処理装置。
  6. 請求項に記載の画像処理装置であって、
    前記エッジ検出部は、前記スキャン画像上において、前記第1折れ線の前記第1線分と前記第2線分とを接続する前記頂点と、前記シートの前記複数の辺のうちの前記特定方向側に位置する辺を表すエッジと、の間の距離が第1更新閾値よりも大きい場合に、
    前記第1線分の途中と前記第2線分の途中とを結ぶ第5線分を決定することによって、前記第1折れ線を、前記第1線分の一部と前記第5線分と前記第2線分の一部との3個の線分で形成される折れ線に、更新し、
    前記第3線分の途中と前記第4線分の途中とを結ぶ第6線分を決定することによって、前記第2折れ線を、前記第3線分の一部と前記第6線分と前記第4線分の一部との3個の線分で形成される折れ線に、更新し、
    前記画像補正部は、前記第1折れ線と前記第2折れ線として、前記3個の線分で形成される折れ線を、それぞれ用いる場合に、
    前記第1線分と前記第5線分とを結ぶ頂点と前記第3線分と前記第6線分とを結ぶ頂点とを通る直線と、前記第5線分と前記第2線分とを結ぶ頂点と前記第6線分と前記第4線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を3個の部分領域に分割する、
    画像処理装置。
  7. 請求項に記載の画像処理装置であって、
    前記エッジ検出部は、前記第1線分に対する前記第2線分の傾斜角が第2更新閾値よりも大きい場合に、
    前記第1線分の途中と前記第2線分の途中とを結ぶ第5線分を決定することによって、前記第1折れ線を、前記第1線分の一部と前記第5線分と前記第2線分の一部との3個の線分で形成される折れ線に、更新し、
    前記第3線分の途中と前記第4線分の途中とを結ぶ第6線分を決定することによって、前記第2折れ線を、前記第3線分の一部と前記第6線分と前記第4線分の一部との3個の線分で形成される折れ線に、更新し
    前記画像補正部は、前記第1折れ線と前記第2折れ線として、前記3個の線分で形成される折れ線を、それぞれ用いる場合に、
    前記第1線分と前記第5線分とを結ぶ頂点と前記第3線分と前記第6線分とを結ぶ頂点とを通る直線と、前記第5線分と前記第2線分とを結ぶ頂点と前記第6線分と前記第4線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を3個の部分領域に分割する、
    画像処理装置。
  8. 請求項1からのいずれか1項に記載の画像処理装置であって、さらに、
    前記スキャン画像が前記非直線状のエッジを含むと判定されない場合に、前記スキャン画像中の前記複数のエッジの傾きが修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第2画像データを生成する、傾き補正部を備える、
    画像処理装置。
  9. スキャナ装置であって、
    搬送機構と、読取センサと、を備え、前記搬送機構によって搬送されるシートを、前記シートの搬送中に、前記読取センサによって光学的に読み取ることによって、スキャン画像を表すスキャンデータを生成するスキャンデータ生成部と、
    前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、
    前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、
    前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第1画像データを生成する画像補正部と、
    を備え、
    前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの直線状の第1エッジと直線状の第2エッジとで形成される角度が、第1角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、
    前記直線状の第1エッジおよび前記直線状の第2エッジは、それぞれ、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ直交する第1辺および第2辺に対応する、
    スキャナ装置。
  10. 請求項に記載のスキャナ装置であって、
    前記読取センサは、前記シートの搬送方向と交差する方向に沿って延びるライン状に配置された複数の受光素子で構成される、
    スキャナ装置。
  11. コンピュータプログラムであって、
    シートの搬送中に前記シートを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部から、前記スキャンデータを取得する取得機能と、
    前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出機能と、
    前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定機能と、
    前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第1画像データを生成する画像補正機能と、
    をコンピュータに実現させるコンピュータプログラムであり、
    前記判定機能は、前記スキャン画像から検出される前記複数のエッジのうちの直線状の第1エッジと直線状の第2エッジとで形成される角度が、第1角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、
    前記直線状の第1エッジおよび前記直線状の第2エッジは、それぞれ、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ直交する第1辺および第2辺に対応する、
    コンピュータプログラム
  12. 請求項11に記載のコンピュータプログラムであって、
    前記画像補正機能は、
    前記スキャン画像中の前記シートの少なくとも一部を表す対象領域をN個(Nは2以上の整数)の部分領域に分割する機能と
    前記N個の部分領域を各部分領域毎に補正する機能と、
    を含み、
    前記コンピュータプログラムは、さらに、
    少なくとも前記対象領域が前記N個の部分領域に分割される場合に、前記スキャン画像から検出される前記複数エッジのうち、前記シートの前記複数の辺のうち前記搬送方向と垂直な特定方向側に位置する辺を表すエッジを近似するN本の線分で構成される第1折れ線と、前記シートの前記複数の辺のうち前記特定方向とは反対の方向側に位置する辺を表すエッジを近似するN本の線分で構成される第2折れ線と、を決定する機能をコンピュータに実現させ、
    前記対象領域をN個の部分領域に分割する機能は、前記第1折れ線の両端を除くN−1個の頂点と前記第2折れ線の両端を除くN−1個の頂点とをそれぞれ通るN−1個の直線で前記対象領域を前記N個の部分領域に分割する機能を含み、
    前記部分領域の総数Nが2である場合に、
    前記第1折れ線と前記第2折れ線とを決定する前記機能は、2個の線分で構成される前記第1折れ線と、2個の線分で構成される前記第2折れ線と、を決定し、
    前記対象領域を前記N個の部分領域に分割する前記機能は、前記シートの前記複数の辺のうち前記搬送方向側に位置する辺を表す直線状の第1エッジと、前記シートの前記複数の辺のうち前記搬送方向とは反対方向側に位置する辺を表す直線状の第2エッジと、前記第1折れ線と、前記第2折れ線と、で囲まれる前記対象領域を、前記第1折れ線の前記2個の線分を接続する頂点と前記第2折れ線の前記2個の線分を接続する頂点とを通る直線で、2個の部分領域に分割し
    前記N個の部分領域を各部分領域毎に補正する前記機能は、前記2個の部分領域のそれぞれの補正によって前記対象領域が矩形に修正されるように前記スキャンデータを補正することによって、前記第1画像データを生成し
    前記第1折れ線は、前記第1エッジの前記特定方向側の端から前記第1エッジに垂直に前記第2エッジ側へ延びる直線状の第1線分と、前記第2エッジの前記特定方向側の端から前記第2エッジに垂直に前記第1エッジ側に延びて前記第1線分に接続される直線状の第2線分と、で構成され、
    前記第2折れ線は、前記第1エッジの前記特定方向とは反対方向側の端から前記第1エッジに垂直に前記第2エッジ側へ延びる直線状の第3線分と、前記第2エッジの前記特定方向とは反対方向側の端から前記第2エッジに垂直に前記第1エッジ側に延びて前記第2線分に接続される直線状の第4線分と、で構成される、
    コンピュータプログラム。
  13. 請求項12に記載のコンピュータプログラムであって、
    前記スキャン画像上において、前記第1折れ線の前記第1線分と前記第2線分とを接続する前記頂点と、前記シートの前記複数の辺のうちの前記特定方向側に位置する辺を表すエッジと、の間の距離が第1更新閾値よりも大きい場合に、
    前記第1折れ線と前記第2折れ線とを決定する前記機能は、
    前記第1線分の途中と前記第2線分の途中とを結ぶ第5線分を決定することによって、前記第1折れ線を、前記第1線分の一部と前記第5線分と前記第2線分の一部との3個の線分で形成される折れ線に、更新し、
    前記第3線分の途中と前記第4線分の途中とを結ぶ第6線分を決定することによって、前記第2折れ線を、前記第3線分の一部と前記第6線分と前記第4線分の一部との3個の線分で形成される折れ線に、更新し、
    前記対象領域を前記N個の部分領域に分割する前記機能は、前記第1折れ線と前記第2折れ線として、前記3個の線分で形成される折れ線を、それぞれ用いる場合に、
    前記第1線分と前記第5線分とを結ぶ頂点と前記第3線分と前記第6線分とを結ぶ頂点とを通る直線と、前記第5線分と前記第2線分とを結ぶ頂点と前記第6線分と前記第4線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を3個の部分領域に分割する、
    コンピュータプログラム。
  14. 請求項12に記載のコンピュータプログラムであって、
    前記第1線分に対する前記第2線分の傾斜角が第2更新閾値よりも大きい場合に、
    前記第1折れ線と前記第2折れ線とを決定する前記機能は、
    前記第1線分の途中と前記第2線分の途中とを結ぶ第5線分を決定することによって、前記第1折れ線を、前記第1線分の一部と前記第5線分と前記第2線分の一部との3個の線分で形成される折れ線に、更新し、
    前記第3線分の途中と前記第4線分の途中とを結ぶ第6線分を決定することによって、前記第2折れ線を、前記第3線分の一部と前記第6線分と前記第4線分の一部との3個の線分で形成される折れ線に、更新し
    前記対象領域を前記N個の部分領域に分割する前記機能は、前記第1折れ線と前記第2折れ線として、前記3個の線分で形成される折れ線を、それぞれ用いる場合に、
    前記第1線分と前記第5線分とを結ぶ頂点と前記第3線分と前記第6線分とを結ぶ頂点とを通る直線と、前記第5線分と前記第2線分とを結ぶ頂点と前記第6線分と前記第4線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を3個の部分領域に分割する、
    コンピュータプログラム。
JP2014074699A 2014-03-31 2014-03-31 画像処理装置、および、コンピュータプログラム Active JP6152821B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014074699A JP6152821B2 (ja) 2014-03-31 2014-03-31 画像処理装置、および、コンピュータプログラム
US14/669,913 US9374500B2 (en) 2014-03-31 2015-03-26 Image processing apparatus configured to execute correction on scanned image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014074699A JP6152821B2 (ja) 2014-03-31 2014-03-31 画像処理装置、および、コンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2015198306A JP2015198306A (ja) 2015-11-09
JP6152821B2 true JP6152821B2 (ja) 2017-06-28

Family

ID=54192151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014074699A Active JP6152821B2 (ja) 2014-03-31 2014-03-31 画像処理装置、および、コンピュータプログラム

Country Status (2)

Country Link
US (1) US9374500B2 (ja)
JP (1) JP6152821B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9927231B2 (en) * 2014-07-25 2018-03-27 Integrated Test & Measurement (ITM), LLC System and methods for detecting, monitoring, and removing deposits on boiler heat exchanger surfaces using vibrational analysis
US10060688B2 (en) 2014-07-25 2018-08-28 Integrated Test & Measurement (ITM) System and methods for detecting, monitoring, and removing deposits on boiler heat exchanger surfaces using vibrational analysis
KR102227843B1 (ko) * 2014-08-22 2021-03-15 현대모비스 주식회사 차선 이탈 경보 시스템의 동작방법
JP6200040B1 (ja) 2016-06-17 2017-09-20 株式会社Pfu 画像処理装置、画像処理方法、および、プログラム
KR20180019976A (ko) * 2016-08-17 2018-02-27 에스프린팅솔루션 주식회사 화상 형성 장치, 그의 스캔 이미지 보정 방법 및 비일시적 컴퓨터 판독가능 기록매체
JP2019125202A (ja) * 2018-01-17 2019-07-25 日本電信電話株式会社 検出装置、検出方法およびプログラム
JP7047568B2 (ja) * 2018-04-23 2022-04-05 セイコーエプソン株式会社 画像処理装置、画像処理方法および画像処理プログラム
WO2020008628A1 (ja) * 2018-07-06 2020-01-09 楽天株式会社 画像処理システム、画像処理方法、及びプログラム
JP6953372B2 (ja) 2018-08-24 2021-10-27 株式会社Pfu 画像処理装置、制御方法及び制御プログラム
US11087448B2 (en) * 2019-05-30 2021-08-10 Kyocera Document Solutions Inc. Apparatus, method, and non-transitory recording medium for a document fold determination based on the change point block detection
US10623603B1 (en) 2019-05-30 2020-04-14 Kyocera Document Solutions Inc. Image processing apparatus, non-transitory computer readable recording medium that records an image processing program, and image processing method
CN112906708B (zh) * 2021-03-29 2023-10-24 北京世纪好未来教育科技有限公司 一种图片处理方法、装置、电子设备和计算机存储介质
CN113119978A (zh) * 2021-05-10 2021-07-16 蔚来汽车科技(安徽)有限公司 车道边沿提取方法和装置、自动驾驶系统、车辆以及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05174184A (ja) * 1991-12-24 1993-07-13 Oki Electric Ind Co Ltd 光学式文字読み取り装置
JPH08324062A (ja) * 1995-05-31 1996-12-10 Oki Electric Ind Co Ltd 画像処理装置
JPH11252351A (ja) 1998-03-02 1999-09-17 Konica Corp 画像読取装置
US6782143B1 (en) * 1999-12-30 2004-08-24 Stmicroelectronics, Inc. Method and apparatus for processing an image
JP2001223891A (ja) 2000-02-09 2001-08-17 Fuji Photo Film Co Ltd 画像処理方法
JP4569337B2 (ja) 2004-03-19 2010-10-27 富士ゼロックス株式会社 画像処理装置及びこれを用いた画像形成装置
US7400414B2 (en) * 2005-10-31 2008-07-15 Mitutoyo Corporation Hand-size structured-light three-dimensional metrology imaging system and method
US7330604B2 (en) * 2006-03-02 2008-02-12 Compulink Management Center, Inc. Model-based dewarping method and apparatus
US7991244B2 (en) 2007-04-30 2011-08-02 Hewlett-Packard Development Company, L.P. Variable skew correction system and method
US8174737B2 (en) * 2007-12-28 2012-05-08 Brother Kogyo Kabushiki Kaisha Image reading apparatus
JP2010009283A (ja) * 2008-06-26 2010-01-14 Hitachi Omron Terminal Solutions Corp 画像読取装置、画像読取方法および画像読取のためのコンピュータプログラム
JP4807406B2 (ja) * 2008-12-16 2011-11-02 ブラザー工業株式会社 画像読取装置
AU2010295258B2 (en) * 2009-09-21 2014-07-24 Kailash & Stefan Pty Ltd Combustion control system
JP4630936B1 (ja) 2009-10-28 2011-02-09 シャープ株式会社 画像処理装置、画像処理方法、画像処理プログラム、画像処理プログラムを記録した記録媒体
JP5966279B2 (ja) * 2011-08-26 2016-08-10 ブラザー工業株式会社 画像読取装置、及び、画像形成装置
JP2014092899A (ja) * 2012-11-02 2014-05-19 Fuji Xerox Co Ltd 画像処理装置及び画像処理プログラム
JP5698396B1 (ja) * 2014-03-05 2015-04-08 株式会社Pfu 画像読取装置、画像読取方法、および、プログラム
JP6210013B2 (ja) * 2014-03-31 2017-10-11 ブラザー工業株式会社 画像処理装置

Also Published As

Publication number Publication date
JP2015198306A (ja) 2015-11-09
US20150281519A1 (en) 2015-10-01
US9374500B2 (en) 2016-06-21

Similar Documents

Publication Publication Date Title
JP6152821B2 (ja) 画像処理装置、および、コンピュータプログラム
EP2536122B1 (en) Image processing method, image processing device and scanner
JP5722482B2 (ja) 画像処理システムおよび画像処理方法
JP6142882B2 (ja) 画像形成装置
US9652825B2 (en) Image enlargement method and apparatus
US20120300265A1 (en) Scanning apparatus having image correction funciton
US8976183B2 (en) Method and system for approximating curve, and graphic display control method and apparatus
US20150090794A1 (en) Method and system for correcting qr code image
CN112130740B (zh) 一种屏幕显示方法及装置
EP2536123B1 (en) Image processing method and image processing apparatus
JP2017161969A (ja) 文字認識装置、方法およびプログラム
US10325353B2 (en) Image processing apparatus
JP4686624B2 (ja) 情報処理装置、画像処理方法およびプログラム
JP4436202B2 (ja) 部分的テンプレート照合を用いた画質向上
US20170178351A1 (en) Method for determining missing values in a depth map, corresponding device, computer program product and non-transitory computer-readable carrier medium
JPWO2019065784A1 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6171165B2 (ja) 運転免許証読取装置及び運転免許証読取方法
JP2013153392A (ja) 画像処理装置および画像処理方法、プログラム
JP2020107039A (ja) 画像処理装置、読取装置、および、コンピュータプログラム
US20240202888A1 (en) Image processing apparatus, method for controlling image processing apparatus, and storage medium
TWI790761B (zh) 圖像校正方法及處理器
CN114390265B (zh) 投射区域的设定辅助方法、设定辅助系统以及记录介质
US10609245B2 (en) Image reading apparatus and image data generation method
JP2008258980A (ja) 画像情報処理装置および画像傾斜角度算出方法
CN111681161B (zh) 折叠二维码图像的还原方法、设备及计算机可读存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170418

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170515

R150 Certificate of patent or registration of utility model

Ref document number: 6152821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150