(57)【要約】【課題】搬送中のシートが光学的に読み取られる場合に、シートを適切に表す画像データを生成する。【解決手段】シートの搬送中にシートを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部から、スキャンデータを取得する。スキャンデータを解析することによって、スキャン画像から、スキャンデータ生成部によって読み取られたシートの複数の辺をそれぞれ表す複数のエッジを検出する。スキャン画像が、シートの辺に対応する非直線状のエッジを含むか否かを判定する。スキャン画像が非直線状のエッジを含むと判定される場合に、非直線状のエッジが直線状のエッジに修正されるようにスキャンデータを補正することによって、補正済の画像を表す第１画像データを生成する。【選択図】  図２
2015198306.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
シートの搬送中に前記シートを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部から、前記スキャンデータを取得する取得部と、
前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、
前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、
前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第１画像データを生成する画像補正部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの直線状の第１エッジと直線状の第２エッジとで形成される角度が、第１角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、
前記直線状の第１エッジおよび前記直線状の第２エッジは、それぞれ、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ直交する第１辺および第２辺に対応する、
画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの第３エッジの第１端部を形成する直線状の部分である第１部分エッジと、前記第３エッジの第２端部を形成する直線状の部分である第２部分エッジと、で形成される角度が、第２角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、
前記第３エッジは、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ平行な第３辺に対応する、
画像処理装置。
【請求項４】
請求項１から３のいずれか１項に記載の画像処理装置であって、
前記画像補正部は、
前記スキャン画像中の前記シートの少なくとも一部を表す対象領域をＮ個（Ｎは２以上の整数）の部分領域に分割し、
前記Ｎ個の部分領域を各部分領域毎に補正する、
画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記エッジ検出部は、少なくとも前記対象領域が前記Ｎ個の部分領域に分割される場合に、前記スキャン画像から検出される前記複数のエッジのうち、前記シートの前記複数の辺のうち前記搬送方向と垂直な特定方向側に位置する辺を表すエッジを近似するＮ本の線分で構成される第１折れ線と、前記シートの前記複数の辺のうち前記特定方向とは反対の方向側に位置する辺を表すエッジを近似するＮ本の線分で構成される第２折れ線と、を決定し、
前記画像補正部は、
前記第１折れ線の両端を除くＮ−１個の頂点と前記第２折れ線の両端を除くＮ−１個の頂点とをそれぞれ通るＮ−１個の直線で前記対象領域を前記Ｎ個の部分領域に分割する、
画像処理装置。
【請求項６】
請求項４または５に記載の画像処理装置であって、
前記部分領域の総数Ｎが２である場合に、
前記エッジ検出部は、２個の線分で構成される前記第１折れ線と、２個の線分で構成される前記第２折れ線と、を決定し、
前記画像補正部は、
前記シートの前記複数の辺のうち前記搬送方向側に位置する辺を表す直線状の第１エッジと、前記シートの前記複数の辺のうち前記搬送方向とは反対方向側に位置する辺を表す直線状の第２エッジと、前記第１折れ線と、前記第２折れ線と、で囲まれる前記対象領域を、前記第１折れ線の前記２個の線分を接続する頂点と前記第２折れ線の前記２個の線分を接続する頂点とを通る直線で、２個の部分領域に分割し、
前記２個の部分領域のそれぞれの補正によって前記対象領域が矩形に修正されるように前記スキャンデータを補正することによって、前記第１画像データを生成し、
前記第１折れ線は、前記第１エッジの前記特定方向側の端から前記第１エッジに垂直に前記第２エッジ側へ延びる直線状の第１線分と、前記第２エッジの前記特定方向側の端から前記第２エッジに垂直に前記第１エッジ側に延びて前記第１線分に接続される直線状の第２線分と、で構成され、
前記第２折れ線は、前記第１エッジの前記特定方向とは反対方向側の端から前記第１エッジに垂直に前記第２エッジ側へ延びる直線状の第３線分と、前記第２エッジの前記特定方向とは反対方向側の端から前記第２エッジに垂直に前記第１エッジ側に延びて前記第２線分に接続される直線状の第４線分と、で構成される、
画像処理装置。
【請求項７】
請求項６に記載の画像処理装置であって、
前記エッジ検出部は、前記スキャン画像上において、前記第１折れ線の前記第１線分と前記第２線分とを接続する前記１個の頂点と、前記シートの前記複数の辺のうちの前記特定方向側に位置する辺を表すエッジと、の間の距離が第１更新閾値よりも大きい場合に、
前記第１線分の途中と前記第２線分の途中とを結ぶ第５線分を決定することによって、前記第１折れ線を、前記第１線分の一部と前記第５線分と前記第２線分の一部との３個の線分で形成される折れ線に、更新し、
前記第３線分の途中と前記第４線分の途中とを結ぶ第６線分を決定することによって、前記第２折れ線を、前記第３線分の一部と前記第６線分と前記第４線分の一部との３個の線分で形成される折れ線に、更新し、
前記画像補正部は、前記第１折れ線と前記第２折れ線として、前記３個の線分で形成される折れ線を、それぞれ用いる場合に、
前記第１線分と前記第５線分とを結ぶ頂点と前記第３線分と前記第６線分とを結ぶ頂点とを通る直線と、前記第５線分と前記第２線分とを結ぶ頂点と前記第６線分と前記第４線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を３個の部分領域に分割する、
画像処理装置。
【請求項８】
請求項６に記載の画像処理装置であって、
前記エッジ検出部は、前記第１線分に対する前記第２線分の傾斜角が第２更新閾値よりも大きい場合に、
前記第１線分の途中と前記第２線分の途中とを結ぶ第５線分を決定することによって、前記第１折れ線を、前記第１線分の一部と前記第５線分と前記第２線分の一部との３個の線分で形成される折れ線に、更新し、
前記第３線分の途中と前記第４線分の途中とを結ぶ第６線分を決定することによって、前記第２折れ線を、前記第３線分の一部と前記第６線分と前記第４線分の一部との３個の線分で形成される折れ線に、更新し
前記画像補正部は、前記第１折れ線と前記第２折れ線として、前記３個の線分で形成される折れ線を、それぞれ用いる場合に、
前記第１線分と前記第５線分とを結ぶ頂点と前記第３線分と前記第６線分とを結ぶ頂点とを通る直線と、前記第５線分と前記第２線分とを結ぶ頂点と前記第６線分と前記第４線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を３個の部分領域に分割する、
画像処理装置。
【請求項９】
請求項１から８のいずれか１項に記載の画像処理装置であって、さらに、
前記スキャン画像が前記非直線状のエッジを含むと判定されない場合に、前記スキャン画像中の前記複数のエッジの傾きが修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第２画像データを生成する、傾き補正部を備える、
画像処理装置。
【請求項１０】
スキャナ装置であって、
搬送機構と、読取センサと、を備え、前記搬送機構によって搬送される前記シートを、前記シートの搬送中に、前記読取センサによって光学的に読み取ることによって、スキャン画像を表すスキャンデータを生成するスキャンデータ生成部と、
前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、
前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、
前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第１画像データを生成する画像補正部と、
を備える、スキャナ装置。
【請求項１１】
請求項１０に記載のスキャナ装置であって、
前記読取センサは、前記シートの搬送方向と交差する方向に沿って延びるライン状に配置された複数の受光素子で構成される、
スキャナ装置。
【請求項１２】
コンピュータプログラムであって、
シートの搬送中に前記シートを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部から、前記スキャンデータを取得する取得機能と、
前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出機能と、
前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定機能と、
前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第１画像データを生成する画像補正機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムであって、
前記画像補正機能は、
前記スキャン画像中の前記シートの少なくとも一部を表す対象領域をＮ個（Ｎは２以上の整数）の部分領域に分割する機能と
前記Ｎ個の部分領域を各部分領域毎に補正する機能と、
を含み、
前記コンピュータプログラムは、さらに、
少なくとも前記対象領域が前記Ｎ個の部分領域に分割される場合に、前記スキャン画像から検出される前記複数エッジのうち、前記シートの前記複数の辺のうち前記搬送方向と垂直な特定方向側に位置する辺を表すエッジを近似するＮ本の線分で構成される第１折れ線と、前記シートの前記複数の辺のうち前記特定方向とは反対の方向側に位置する辺を表すエッジを近似するＮ本の線分で構成される第２折れ線と、を決定する機能をコンピュータに実現させ、
前記対象領域をＮ個の部分領域に分割する機能は、前記第１折れ線の両端を除くＮ−１個の頂点と前記第２折れ線の両端を除くＮ−１個の頂点とをそれぞれ通るＮ−１個の直線で前記対象領域を前記Ｎ個の部分領域に分割する機能を含み、
前記部分領域の総数Ｎが２である場合に、
前記第１折れ線と前記第２折れ線とを決定する前記機能は、２個の線分で構成される前記第１折れ線と、２個の線分で構成される前記第２折れ線と、を決定し、
前記対象領域を前記Ｎ個の部分領域に分割する前記機能は、前記シートの前記複数の辺のうち前記搬送方向側に位置する辺を表す直線状の第１エッジと、前記シートの前記複数の辺のうち前記搬送方向とは反対方向側に位置する辺を表す直線状の第２エッジと、前記第１折れ線と、前記第２折れ線と、で囲まれる前記対象領域を、前記第１折れ線の前記２個の線分を接続する頂点と前記第２折れ線の前記２個の線分を接続する頂点とを通る直線で、２個の部分領域に分割し
前記Ｎ個の部分領域を各部分領域毎に補正する前記機能は、前記２個の部分領域のそれぞれの補正によって前記対象領域が矩形に修正されるように前記スキャンデータを補正することによって、前記第１画像データを生成し
前記第１折れ線は、前記第１エッジの前記特定方向側の端から前記第１エッジに垂直に前記第２エッジ側へ延びる直線状の第１線分と、前記第２エッジの前記特定方向側の端から前記第２エッジに垂直に前記第１エッジ側に延びて前記第１線分に接続される直線状の第２線分と、で構成され、
前記第２折れ線は、前記第１エッジの前記特定方向とは反対方向側の端から前記第１エッジに垂直に前記第２エッジ側へ延びる直線状の第３線分と、前記第２エッジの前記特定方向とは反対方向側の端から前記第２エッジに垂直に前記第１エッジ側に延びて前記第２線分に接続される直線状の第４線分と、で構成される、
コンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムであって、
前記スキャン画像上において、前記第１折れ線の前記第１線分と前記第２線分とを接続する前記１個の頂点と、前記シートの前記複数の辺のうちの前記特定方向側に位置する辺を表すエッジと、の間の距離が第１更新閾値よりも大きい場合に、
前記第１折れ線と前記第２折れ線とを決定する前記機能は、
前記第１線分の途中と前記第２線分の途中とを結ぶ第５線分を決定することによって、前記第１折れ線を、前記第１線分の一部と前記第５線分と前記第２線分の一部との３個の線分で形成される折れ線に、更新し、
前記第３線分の途中と前記第４線分の途中とを結ぶ第６線分を決定することによって、前記第２折れ線を、前記第３線分の一部と前記第６線分と前記第４線分の一部との３個の線分で形成される折れ線に、更新し、
前記対象領域を前記Ｎ個の部分領域に分割する前記機能は、前記第１折れ線と前記第２折れ線として、前記３個の線分で形成される折れ線を、それぞれ用いる場合に、
前記第１線分と前記第５線分とを結ぶ頂点と前記第３線分と前記第６線分とを結ぶ頂点とを通る直線と、前記第５線分と前記第２線分とを結ぶ頂点と前記第６線分と前記第４線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を３個の部分領域に分割する、
コンピュータプログラム。
【請求項１５】
請求項１３に記載のコンピュータプログラムであって、
前記第１線分に対する前記第２線分の傾斜角が第２更新閾値よりも大きい場合に、
前記第１折れ線と前記第２折れ線とを決定する前記機能は、
前記第１線分の途中と前記第２線分の途中とを結ぶ第５線分を決定することによって、前記第１折れ線を、前記第１線分の一部と前記第５線分と前記第２線分の一部との３個の線分で形成される折れ線に、更新し、
前記第３線分の途中と前記第４線分の途中とを結ぶ第６線分を決定することによって、前記第２折れ線を、前記第３線分の一部と前記第６線分と前記第４線分の一部との３個の線分で形成される折れ線に、更新し
前記対象領域を前記Ｎ個の部分領域に分割する前記機能は、前記第１折れ線と前記第２折れ線として、前記３個の線分で形成される折れ線を、それぞれ用いる場合に、
前記第１線分と前記第５線分とを結ぶ頂点と前記第３線分と前記第６線分とを結ぶ頂点とを通る直線と、前記第５線分と前記第２線分とを結ぶ頂点と前記第６線分と前記第４線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を３個の部分領域に分割する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的に読み取られた画像を処理する技術に関する。
【背景技術】
【０００２】
従来から、スキャナによって生成された画像データに対して、種々の処理が行われている。例えば、原稿台上に原稿が傾いて載置される場合には、傾いた原稿を表す画像データが生成される。このような画像データからエッジを検出して原稿の傾きを計算し、計算された傾きに基づいて原稿の傾きを補正する処理が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２５２３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スキャナとしては、例えば、シートを搬送する搬送機構と、搬送中のシートを光学的に読み取るセンサと、を備える装置が利用されている。このように、搬送中のシートが光学的に読み取られる場合には、例えば、シートの特性や搬送機構の構造などに起因してシートが正しく表現された画像を得ることが困難な場合があった。
【０００５】
本発明の主な利点は、搬送中のシートが光学的に読み取られる場合に、シートを適切に表す画像データを生成することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、シートの搬送中に前記シートを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部から、前記スキャンデータを取得する取得部と、前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第１画像データを生成する画像補正部と、を備える、画像処理装置。
【０００８】
搬送中のシートを光学的に読み取ることによってスキャンデータが生成される場合には、スキャン画像内で、シートの辺が非直線状のエッジで表現され得るが、上記の構成を採用すれば、シートの辺を表す非直線状のエッジが直線状のエッジに修正された第１画像データを得ることができる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの直線状の第１エッジと直線状の第２エッジとで形成される角度が、第１角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、前記直線状の第１エッジおよび前記直線状の第２エッジは、それぞれ、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ直交する第１辺および第２辺に対応する、画像処理装置。この構成によれば、判定部は、傾斜角を用いて容易に判定できるので、画像補正部は、シートを適切に表す画像データを生成できる。
【００１０】
［適用例３］適用例１または２に記載の画像処理装置であって、前記判定部は、前記スキャン画像から検出される前記複数のエッジのうちの第３エッジの第１端部を形成する直線状の部分である第１部分エッジと、前記第３エッジの第２端部を形成する直線状の部分である第２部分エッジと、で形成される角度が、第２角度閾値よりも大きいことを含む条件が満たされる場合に、前記スキャン画像が前記非直線状のエッジを含むと判定し、前記第３エッジは、前記搬送中のシートの前記複数の辺のうちの前記搬送方向にほぼ平行な第３辺に対応する、画像処理装置。この構成によれば、判定部による適切な判定が可能であるので、画像補正部は、シートを適切に表す画像データを生成できる。
【００１１】
［適用例４］適用例１から３のいずれか１項に記載の画像処理装置であって、前記画像補正部は、前記スキャン画像中の前記シートの少なくとも一部を表す対象領域をＮ個（Ｎは２以上の整数）の部分領域に分割し、前記Ｎ個の部分領域を各部分領域毎に補正する、画像処理装置。この構成によれば、スキャン画像を分割せずに補正する場合と比べて、画像補正部は、容易に、補正の精度を向上でき、そして、シートを適切に表す画像データを生成できる。
【００１２】
［適用例５］適用例４に記載の画像処理装置であって、前記エッジ検出部は、少なくとも前記対象領域が前記Ｎ個の部分領域に分割される場合に、前記スキャン画像から検出される前記複数のエッジのうち、前記シートの前記複数の辺のうち前記搬送方向と垂直な特定方向側に位置する辺を表すエッジを近似するＮ本の線分で構成される第１折れ線と、前記シートの前記複数の辺のうち前記特定方向とは反対の方向側に位置する辺を表すエッジを近似するＮ本の線分で構成される第２折れ線と、を決定し、前記画像補正部は、前記第１折れ線の両端を除くＮ−１個の頂点と前記第２折れ線の両端を除くＮ−１個の頂点とをそれぞれ通るＮ−１個の直線で前記対象領域を前記Ｎ個の部分領域に分割する、画像処理装置。この構成によれば、エッジを近似する折れ線に基づいて対象領域が分割されるので、画像補正部は、シートを適切に表す画像データを生成できる。
【００１３】
［適用例６］適用例４または５に記載の画像処理装置であって、前記部分領域の総数Ｎが２である場合に、前記エッジ検出部は、２個の線分で構成される前記第１折れ線と、２個の線分で構成される前記第２折れ線と、を決定し、前記画像補正部は、前記シートの前記複数の辺のうち前記搬送方向側に位置する辺を表す直線状の第１エッジと、前記シートの前記複数の辺のうち前記搬送方向とは反対方向側に位置する辺を表す直線状の第２エッジと、前記第１折れ線と、前記第２折れ線と、で囲まれる前記対象領域を、前記第１折れ線の前記２個の線分を接続する頂点と前記第２折れ線の前記２個の線分を接続する頂点とを通る直線で、２個の部分領域に分割し、前記２個の部分領域のそれぞれの補正によって前記対象領域が矩形に修正されるように前記スキャンデータを補正することによって、前記第１画像データを生成し、前記第１折れ線は、前記第１エッジの前記特定方向側の端から前記第１エッジに垂直に前記第２エッジ側へ延びる直線状の第１線分と、前記第２エッジの前記特定方向側の端から前記第２エッジに垂直に前記第１エッジ側に延びて前記第１線分に接続される直線状の第２線分と、で構成され、前記第２折れ線は、前記第１エッジの前記特定方向とは反対方向側の端から前記第１エッジに垂直に前記第２エッジ側へ延びる直線状の第３線分と、前記第２エッジの前記特定方向とは反対方向側の端から前記第２エッジに垂直に前記第１エッジ側に延びて前記第２線分に接続される直線状の第４線分と、で構成される、画像処理装置。この構成によれば、画像補正部は、第１と第２のエッジと、それらのエッジから得られる４本の線分とを用いて、シートを適切に表す画像データを生成できる。
【００１４】
［適用例７］適用例６に記載の画像処理装置であって、前記エッジ検出部は、前記スキャン画像上において、前記第１折れ線の前記第１線分と前記第２線分とを接続する前記１個の頂点と、前記シートの前記複数の辺のうちの前記特定方向側に位置する辺を表すエッジと、の間の距離が第１更新閾値よりも大きい場合に、前記第１線分の途中と前記第２線分の途中とを結ぶ第５線分を決定することによって、前記第１折れ線を、前記第１線分の一部と前記第５線分と前記第２線分の一部との３個の線分で形成される折れ線に、更新し、前記第３線分の途中と前記第４線分の途中とを結ぶ第６線分を決定することによって、前記第２折れ線を、前記第３線分の一部と前記第６線分と前記第４線分の一部との３個の線分で形成される折れ線に、更新し、前記画像補正部は、前記第１折れ線と前記第２折れ線として、前記３個の線分で形成される折れ線を、それぞれ用いる場合に、前記第１線分と前記第５線分とを結ぶ頂点と前記第３線分と前記第６線分とを結ぶ頂点とを通る直線と、前記第５線分と前記第２線分とを結ぶ頂点と前記第６線分と前記第４線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を３個の部分領域に分割する、画像処理装置。この構成によれば、３個の線分で構成される折れ線は、２個の線分で構成される折れ線と比べて、適切にシートの辺を表す非直線状のエッジを近似できるので、画像補正部は、適切な部分領域を用いて、画像データを生成できる。
【００１５】
［適用例８］適用例６に記載の画像処理装置であって、前記エッジ検出部は、前記第１線分に対する前記第２線分の傾斜角が第２更新閾値よりも大きい場合に、前記第１線分の途中と前記第２線分の途中とを結ぶ第５線分を決定することによって、前記第１折れ線を、前記第１線分の一部と前記第５線分と前記第２線分の一部との３個の線分で形成される折れ線に、更新し、前記第３線分の途中と前記第４線分の途中とを結ぶ第６線分を決定することによって、前記第２折れ線を、前記第３線分の一部と前記第６線分と前記第４線分の一部との３個の線分で形成される折れ線に、更新し前記画像補正部は、前記第１折れ線と前記第２折れ線として、前記３個の線分で形成される折れ線を、それぞれ用いる場合に、前記第１線分と前記第５線分とを結ぶ頂点と前記第３線分と前記第６線分とを結ぶ頂点とを通る直線と、前記第５線分と前記第２線分とを結ぶ頂点と前記第６線分と前記第４線分とを結ぶ頂点とを通る直線とを用いて、前記対象領域を３個の部分領域に分割する、画像処理装置。この構成によれば、３個の線分で構成される折れ線は、２個の線分で構成される折れ線と比べて、適切にシートの辺を表す非直線状のエッジを近似できるので、画像補正部は、適切な部分領域を用いて、画像データを生成できる。
【００１６】
［適用例９］適用例１から８のいずれか１項に記載の画像処理装置であって、さらに、前記スキャン画像が前記非直線状のエッジを含むと判定されない場合に、前記スキャン画像中の前記複数のエッジの傾きが修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第２画像データを生成する、傾き補正部を備える、画像処理装置。この構成によれば、傾き補正部は、傾きが修正されたシートを表す画像データを生成できる。
【００１７】
［適用例１０］
スキャナ装置であって、
搬送機構と、読取センサと、を備え、前記搬送機構によって搬送される前記シートを、前記シートの搬送中に、前記読取センサによって光学的に読み取ることによって、スキャン画像を表すスキャンデータを生成するスキャンデータ生成部と、
前記スキャンデータを解析することによって、前記スキャン画像から、前記スキャンデータ生成部によって読み取られた前記シートの複数の辺をそれぞれ表す複数のエッジを検出するエッジ検出部と、
前記スキャン画像が、前記シートの前記辺に対応する非直線状のエッジを含むか否かを判定する判定部と、
前記スキャン画像が前記非直線状のエッジを含むと判定される場合に、前記非直線状のエッジが直線状のエッジに修正されるように前記スキャンデータを補正することによって、補正済の画像を表す第１画像データを生成する画像補正部と、
を備える、スキャナ装置。
【００１８】
この構成によれば、スキャナ装置を用いてシートを光学的に読み取る場合に、スキャン画像内でシートの辺が非直線状のエッジで表現されたとしても、シートの辺を表す非直線状のエッジが直線状のエッジに修正された第１画像データを得ることができる。
【００１９】
［適用例１１］
適用例１０に記載のスキャナ装置であって、
前記読取センサは、前記シートの搬送方向と交差する方向に沿って延びるライン状に配置された複数の受光素子で構成される、
スキャナ装置。
【００２０】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施例としてのスキャンシステム１０００を示す説明図である。
【図２】スキャン処理のフローチャートである。
【図３】（Ａ）は、シートＳＨの例の概略図である。（Ｂ）は、スキャン画像ＳＩの例の概略図である。
【図４】近似線分の決定処理のフローチャートである。
【図５】（Ａ）は、第１領域Ａ１のハフ変換の結果の例を示すグラフである。（Ｂ）は、第２領域Ａ２のハフ変換の結果の例を示すグラフである。
【図６】近似線分の例を示す概略図である。
【図７】変形処理のフローチャートである。
【図８】補正済の画像の例を表す概略図である。
【図９】第１部分領域ＰＡ１の変形処理の例を示す概略図である。
【図１０】近似線分の決定処理の第２実施例のフローチャートである。
【図１１】距離ＤＶの説明図である。
【図１２】更新済の折れ線ＰＬ１、ＰＬ２を示す概略図である。
【図１３】近似線分の決定処理の第３実施例のフローチャートである。
【発明を実施するための形態】
【００２２】
Ａ．第１実施例：
図１は、本発明の一実施例としてのスキャンシステム１０００を示す説明図である。スキャンシステム１０００は、画像処理装置１００と、画像処理装置１００に接続されたスキャナ装置３００と、を有している。
【００２３】
画像処理装置１００は、例えば、パーソナルコンピュータである。画像処理装置１００は、プロセッサ１１０と、揮発性記憶装置１２０と、不揮発性記憶装置１３０と、表示部１４０と、操作部１５０と、装置インタフェース１６０と、を有している。
【００２４】
プロセッサ１１０は、データ処理を行う装置であり、例えば、いわゆるＣＰＵである。揮発性記憶装置１２０は、例えば、いわゆるＤＲＡＭであり、不揮発性記憶装置１３０は、例えば、いわゆるフラッシュメモリである。不揮発性記憶装置１３０は、プログラム１３２を格納している。
【００２５】
プロセッサ１１０は、プログラム１３２を実行することによって、種々の機能を実現する。本実施例では、プロセッサ１１０は、取得部２１０と、エッジ検出部２１５と、判定部２２０と、画像補正部２３０と、傾き補正部２４０と、のそれぞれの処理部の機能を実現する。各処理部の詳細については、後述する。また、プロセッサ１１０は、プログラム（例えば、プログラム１３２）の実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置１２０、または、不揮発性記憶装置１３０）に、一時的に格納する。
【００２６】
表示部１４０は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部１５０は、ユーザによる操作を受け入れる装置であり、例えば、表示部１４０上に重ねて配置されたタッチパネルである。ユーザは、操作部１５０を操作することによって、後述するスキャン処理の開始指示等の種々の指示を入力可能である。装置インタフェース１６０は、他の装置と通信するためのインタフェースである（例えば、いわゆるUSBインタフェース、または、IEEE802.11の無線インタフェース）。画像処理装置１００は、装置インタフェース１６０を介して、スキャナ装置３００と通信可能である。
【００２７】
スキャナ装置３００は、搬送機構３３０と、センサ３４０と、搬送機構３３０とセンサ３４０とを制御する制御部３５０と、を有している。制御部３５０は、搬送機構３３０とセンサ３４０とを制御し、搬送中のシートＳＨを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成する。シートＳＨとしては、例えば、印刷物や運転免許証カードやクレジットカード等の種々のシート状の物体を採用可能である。制御部３５０は、例えば、ASIC（Application Specific Integrated Circuit）等の専用の電子回路を含む。この代わりに、制御部３５０が、プロセッサと記憶装置とを含むコンピュータであってもよい。
【００２８】
搬送機構３３０は、シートＳＨを保持して搬送するための第１ローラ対３１０と第２ローラ対３２０とを含んでいる。第１ローラ対３１０は、センサ３４０よりも搬送方向Ｄｆの上流側に配置され、第２ローラ対３２０は、センサ３４０よりも搬送方向Ｄｆの下流側に配置されている。第１ローラ対３１０は、図示しないモータによって駆動される駆動ローラ３１２と、駆動ローラ３１２の回転に従って回転する従動ローラ３１４と、を含む。第２ローラ対３２０は、図示しないモータによって駆動される駆動ローラ３２２と、駆動ローラ３２２の回転に従って回転する従動ローラ３２４と、を含む。
【００２９】
シートＳＨは、第１ローラ対３１０に保持された状態で搬送経路ＦＰに沿って搬送方向Ｄｆに搬送される。シートＳＨが第２ローラ対３２０に到達すると、シートＳＨは、２対のローラ対３１０、３２０に保持された状態で、搬送経路ＦＰに沿って搬送方向Ｄｆに搬送される。シートＳＨが第１ローラ対３１０から離れると、シートＳＨは、第２ローラ対３２０に保持された状態で、搬送経路ＦＰに沿って搬送方向Ｄｆに搬送される。なお、従動ローラ３１４、３２４の代わりに板部材を採用し、駆動ローラ３１２、３２２と板部材とによってシートＳＨを保持してもよい。
【００３０】
センサ３４０は、搬送中のシートＳＨを光学的に読み取ることによって、シートＳＨを表す画像信号を出力する画像センサである（例えば、ＣＣＤセンサやＣＭＯＳセンサ）。センサ３４０は、搬送方向Ｄｆと交差する方向（本実施例では、搬送方向Ｄｆに垂直な方向。以下、特定幅方向Ｄｗと呼ぶ）に沿って延びるライン状に配置された複数の受光素子３４２を含んでいる。複数の受光素子３４２は、特定幅方向Ｄｗの所定の範囲（所定サイズのシートＳＨの幅以上の範囲）を、カバーしている。制御部３５０は、センサ３４０からの画像信号を処理することによって、光学的に読み取られた画像（スキャン画像と呼ぶ）を表すスキャンデータを生成する。搬送機構３３０とセンサ３４０と制御部３５０との全体は、搬送中のシートＳＨを光学的に読み取ることによってスキャン画像を表すスキャンデータを生成するスキャンデータ生成部に対応する。
【００３１】
図２は、スキャン処理のフローチャートである。本実施例のスキャン処理では、スキャナ装置３００が、スキャンデータを生成し、生成したスキャンデータを画像処理装置１００に送信し、画像処理装置１００が、スキャンデータを補正する。画像処理装置１００のプロセッサ１１０は、例えば、ユーザが画像処理装置１００に対してスキャン処理の開始指示を入力したことに応じて、スキャン処理を開始する。この場合、プロセッサ１１０の取得部２１０は、スキャナ装置３００に、スキャンデータを生成する指示を送信する。この代わりに、スキャナ装置３００の制御部３５０は、ユーザがスキャナ装置３００の図示しない操作ボタンを操作したことに応じて、スキャン処理を開始してもよい。
【００３２】
ステップＳ１００では、スキャナ装置３００の制御部３５０は、センサ３４０にシートＳＨを光学的に読み取らせることによってスキャンデータを生成する。図３（Ａ）は、シートＳＨの例の概略図である。図３（Ａ）の例では、シートＳＨは、略矩形状の物体（例えば、クレジットカード）である。図示を省略するが、シートＳＨは、文字や記号等の種々のオブジェクトを表している。シートＳＨは、シートＳＨの略矩形状の輪郭を形成する４個の辺ＳＡ、ＳＢ、ＳＣ、ＳＤを有している。図中には、搬送方向Ｄｆと特定幅方向Ｄｗとが示されている。図３（Ａ）の例では、４個の辺のうち、第１辺ＳＡは、搬送方向Ｄｆとは反対の方向側に位置する辺であり、第２辺ＳＢは、搬送方向Ｄｆ側に位置する辺である。これらの辺ＳＡ、ＳＢは、いずれも、搬送方向Ｄｆにほぼ直交する。第３辺ＳＣは、特定幅方向Ｄｗ側に位置する辺であり、第４辺ＳＤは、特定幅方向Ｄｗとは反対の方向側に位置する辺である。これらの辺ＳＣ、ＳＤは、いずれも、搬送方向Ｄｆにほぼ平行である。
【００３３】
これらの辺ＳＡ、ＳＢ、ＳＣ、ＳＤは、いずれも、直線である。互いに向かい合う２個の辺ＳＡ、ＳＢは、平行である。他の互いに向かい合う２個の辺ＳＣ、ＳＤは、平行であり、２個の辺ＳＡ、ＳＢに垂直である。これらの辺ＳＡ、ＳＢ、ＳＣ、ＳＤによって形成される矩形状の四隅は、それぞれ、丸められていても良い。また、シートＳＨは、搬送機構３３０（図１）の搬送経路ＦＰに対して斜めに配置され得るので、４個の辺ＳＡ、ＳＢ、ＳＣ、ＳＤは、搬送方向Ｄｆに対して斜めに配置され得る。
【００３４】
図３（Ｂ）は、スキャン画像ＳＩの例の概略図である。スキャン画像ＳＩは、搬送方向Ｄｆと特定幅方向Ｄｗとに沿って格子状に配置された複数の画素（図示せず）によって、表されている。各画素の色値は、所定の色空間の各色成分の階調値（例えば、赤Ｒ、緑Ｇ、青Ｂのそれぞれの階調値）を表している。図３（Ｂ）に示すように、スキャン画像ＳＩは、シートＳＨを表す画像部分を含んでいる（「シート画像ＳＨＩ」と呼ぶ）。図示を省略するが、シート画像ＳＨＩは、シートＳＨ上の種々のオブジェクト（例えば、文字や記号等）を表している。スキャン画像ＳＩのうちのシート画像ＳＨＩの外の領域は、背景ＢＧを表している。
【００３５】
図中には、シート画像ＳＨＩのエッジＥＡ、ＥＢ、ＥＣ、ＥＤが、実線で示されている。これらのエッジＥＡ、ＥＢ、ＥＣ、ＥＤは、シート画像ＳＨＩの輪郭、すなわち、シート画像ＳＨＩのうちの背景ＢＧと接する部分を示している。また、これらの４本のエッジＥＡ、ＥＢ、ＥＣ、ＥＤは、シートＳＨ（図３（Ａ））の４本の辺ＳＡ、ＳＢ、ＳＣ、ＳＤを、それぞれ表している。
【００３６】
図３（Ｂ）の例では、第３エッジＥＣと第４エッジＥＤとのそれぞれが、途中で曲がっている。第３エッジＥＣは、搬送方向Ｄｆとは反対方向側の端部を形成する第１直線部分ＥＣａと、搬送方向Ｄｆ側の端部を形成し第１直線部分ＥＣａに対して斜めに傾斜する第２直線部分ＥＣｂと、これらの直線部分ＥＣａ、ＥＣｂを接続する曲線部分ＥＣｃと、含んでいる。第４エッジＥＤは、搬送方向Ｄｆとは反対方向側の端部を形成する第１直線部分ＥＤａと、搬送方向Ｄｆ側の端部を形成し第１直線部分ＥＤａに対して斜めに傾斜する第２直線部分ＥＤｂと、これらの直線部分ＥＤａ、ＥＤｂを接続する曲線部分ＥＤｃと、を含んでいる。このような曲がったエッジ（より一般的には、曲線や折れ線等の非直線状のエッジ）は、搬送の途中で搬送方向Ｄｆに対するシートＳＨの向きが変わることによって、形成され得る。搬送方向Ｄｆに対するシートＳＨの向きは、搬送方向ＤｆとシートＳＨの辺（例えば、第３辺ＳＣ）とがなす角度によって、特定可能である。例えば、シートＳＨが、搬送中にローラ（例えば、駆動ローラ３１２）に対して滑ることによって、搬送方向Ｄｆに対するシートＳＨの向きが変化し得る。クレジットカードのようにシートＳＨが立体的な凹凸を有する場合には、シートＳＨは、ローラに対して、滑りやすい。
【００３７】
図２のステップＳ１１０では、取得部２１０（図１）は、スキャナ装置３００からスキャンデータを取得する。ステップＳ１２０では、エッジ検出部２１５は、スキャンデータを解析することによって、スキャン画像ＳＩ（図３（Ｂ））から、シートＳＨの複数の辺ＳＡ〜ＳＤをそれぞれ表す複数のエッジを検出する。エッジの検出方法としては、任意の方法を採用可能である。例えば、エッジ検出部２１５は、スキャン画像ＳＩを、背景ＢＧの色（例えば、所定の白色範囲内の色）を表す領域である背景領域と他の色を表す領域である非背景領域とに分離する二値化を実行する。そして、エッジ検出部２１５は、非背景領域の輪郭を表す画素、すなわち、背景領域に接している画素を、複数のエッジのいずれかを表す画素として検出する（以下「エッジ画素」と呼ぶ）。検出される複数のエッジ画素が連結することによって形成されるライン状の部分が、エッジに対応する。以上により、エッジ検出部２１５は、４本の辺ＳＡ〜ＳＤをそれぞれ表す４本のエッジＥＡ〜ＥＤを、検出する。なお、エッジの検出方法としては、他の方法を採用可能である。例えば、エッジフィルタ（例えば、いわゆるソーベルフィルタ）を用いたエッジ検出処理を採用してもよい。
【００３８】
図２のステップＳ１３０では、エッジ検出部２１５は、エッジを近似する近似線分を決定する。図４は、近似線分の決定処理のフローチャートである。ステップＳ２００では、エッジ検出部２１５は、スキャン画像ＳＩを２個の領域に分割し、領域毎にハフ変換を実行する。このハフ変換は、図２のステップＳ１２０の検出結果、すなわち、各画素がエッジ画素であるか否かを表す二値の画素値を用いて、行われる。図３（Ｂ）の例では、スキャン画像ＳＩは、特定幅方向Ｄｗと平行な分割線ＤＬによって、２個の領域Ａ１、Ａ２に２等分されている。第２領域Ａ２は、第１領域Ａ１の搬送方向Ｄｆ側に配置されている。
【００３９】
図５（Ａ）は、第１領域Ａ１のハフ変換の結果の例を示すグラフであり、図５（Ｂ）は、第２領域Ａ２のハフ変換の結果の例を示すグラフである。横軸は、角度Ａｇを示し、縦軸は、距離Ｄｇを示している。角度Ａｇと距離Ｄｇとの１個の組合せは、スキャン画像ＳＩ上の１本の直線を表している。角度Ａｇは、スキャン画像ＳＩ上の基準方向（図示せず）と直線との間の角度を示している。距離Ｄｇは、スキャン画像ＳＩ上の基準点（図示せず）と直線との間の距離を示している。
【００４０】
エッジ検出部２１５は、ハフ変換を実行することによって、角度Ａｇと距離Ｄｇとの組合せ毎に、その組合せによって特定される直線と重なるエッジ画素の総数を算出する（以下、「エッジ画素数」と呼ぶ）。エッジ画素数が多い場合、その角度Ａｇと距離Ｄｇとによって特定される直線は、多数のエッジ画素によって表されるエッジを表していると推定される。例えば、図４のステップＳ２００では、エッジ検出部２１５は、角度Ａｇと距離Ｄｇとのそれぞれの範囲を複数の部分範囲に分割し、角度Ａｇの部分範囲と距離Ｄｇの部分範囲との組合せ（セルと呼ぶ）毎に、エッジ画素数を算出する。角度Ａｇの部分範囲の中心値は、セルを代表する角度Ａｇとして採用可能である。同様に、距離Ｄｇの部分範囲の中心値は、セルを代表する距離Ｄｇとして採用可能である。
【００４１】
図５（Ａ）、図５（Ｂ）のグラフ中では、エッジ画素数が多い角度Ａｇと距離Ｄｇとの組合せが、黒点で示されている。図５（Ａ）には、第１エッジＥＡ（図３）を示す第１黒点Ｐ１と、第１直線部分ＥＣａを示す第２黒点Ｐ２と、第１直線部分ＥＤａを示す第３黒点Ｐ３とが、示されている。図５（Ｂ）には、第２エッジＥＢを示す第４黒点Ｐ４と、第２直線部分ＥＣｂを示す第５黒点Ｐ５と、第２直線部分ＥＤｂを示す第６黒点Ｐ６と、が示されている。
【００４２】
図３（Ａ）で説明したように、２個の辺ＳＣ、ＳＤは、第１辺ＳＡに垂直である。従って、図３（Ｂ）の２個の直線部分ＥＣａ、ＥＤａは、第１エッジＥＡに垂直である。この結果、図５（Ａ）のグラフでは、２個の直線部分ＥＣａ、ＥＤａをそれぞれ表す２個の黒点Ｐ２、Ｐ３と、第１エッジＥＡを表す第１黒点Ｐ１との間では、角度Ａｇの差は９０度である。同様に、図５（Ｂ）のグラフでは、２個の直線部分ＥＣｂ、ＥＤｂをそれぞれ表す２個の黒点Ｐ５、Ｐ６と、第２エッジＥＢを表す第４黒点Ｐ４との間では、角度Ａｇの差は９０度である。
【００４３】
図４のステップＳ２１０では、エッジ検出部２１５は、ハフ変換の結果を用いて、近似線分を決定する。例えば、エッジ検出部２１５は、エッジ画素数が所定の閾値以上であり、かつ、エッジ画素数が極大（すなわち、局所的なピーク）を示すセルを代表する角度Ａｇと距離Ｄｇの組合せによって特定される直線を、エッジを近似する直線として採用する。
【００４４】
また、エッジ検出部２１５は、近似の精度を向上するために、角度Ａｇと距離Ｄｇとの組合せの予め決められた第１範囲ＡｓＡ（図５（Ａ））から、第１エッジＥＡを表す直線を検索する。第１範囲ＡｓＡは、搬送機構３３０（図１）の搬送経路ＦＰ上でのシートＳＨの位置と向きとが可能な範囲内で変化する場合の角度Ａｇと距離Ｄｇとの組合せの可能な範囲である。そして、エッジ検出部２１５は、第１エッジＥＡを表す直線の角度Ａｇに９０度を加算した角度Ａｇから、第１直線部分ＥＣａ、ＥＤａを表す直線を検索する。同様に、エッジ検出部２１５は、予め決められた範囲ＡｓＢ（図５（Ｂ））から、第２エッジＥＢを表す直線を検索する。そして、エッジ検出部２１５は、第２エッジＥＢを表す直線の角度Ａｇに９０度を加算した角度Ａｇから、第２直線部分ＥＣｂ、ＥＤｂを表す直線を検索する。
【００４５】
図６は、近似線分の例を示す概略図である。図中には、スキャン画像ＳＩ上に近似線分が重ねて示されている。図中には、図５（Ａ）、図５（Ｂ）で説明した６個の黒点Ｐ１〜Ｐ６にそれぞれ対応する６本の線分ＳｇＡ、Ｓｇ３、Ｓｇ１、ＳｇＢ、Ｓｇ４、Ｓｇ２が、示されている。これらの６本の線分と、図３（Ｂ）に示すエッジとの対応関係は、以下の通りである。
第１基準線分ＳｇＡ  ：  第１エッジＥＡ
第２基準線分ＳｇＢ  ：  第２エッジＥＢ
第１線分Ｓｇ１      ：  第３エッジＥＣの第１直線部分ＥＣａ
第２線分Ｓｇ２      ：  第３エッジＥＣの第２直線部分ＥＣｂ
第３線分Ｓｇ３      ：  第４エッジＥＤの第１直線部分ＥＤａ
第４線分Ｓｇ４      ：  第４エッジＥＤの第２直線部分ＥＤｂ
【００４６】
なお、エッジ検出部２１５は、ハフ変換の結果から、６本の線分ＳｇＡ、ＳｇＢ、Ｓｇ１〜Ｓｇ４ではなく、該６本の線分ＳｇＡ、ＳｇＢ、Ｓｇ１〜Ｓｇ４を含む６本の直線を特定する。そして、エッジ検出部２１５は、６本の直線の交差によって得られる６個の交点を算出することによって、６本の線分ＳｇＡ、ＳｇＢ、Ｓｇ１〜Ｓｇ４を特定する。
【００４７】
第１線分Ｓｇ１と第２線分Ｓｇ２とで構成される第１折れ線ＰＬ１は、第３エッジＥＣを近似している。第１線分Ｓｇ１は、第１基準線分ＳｇＡの特定幅方向Ｄｗ側の端Ｖ１から第１基準線分ＳｇＡに垂直に第２基準線分ＳｇＢ側へ延びている。第２線分Ｓｇ２は、第２基準線分ＳｇＢの特定幅方向Ｄｗ側の端Ｖ３から第２基準線分ＳｇＢに垂直に第１基準線分ＳｇＡ側に延び、頂点Ｖ５で第１線分Ｓｇ１に接続される。
【００４８】
第３線分Ｓｇ３と第４線分Ｓｇ４とで構成される第２折れ線ＰＬ２は、第４エッジＥＤを近似している。第３線分Ｓｇ３は、第１基準線分ＳｇＡの特定幅方向Ｄｗとは反対方向側の端Ｖ２から第１基準線分ＳｇＡに垂直に第２基準線分ＳｇＢ側に向かって延びている。第４線分Ｓｇ４は、第２基準線分ＳｇＢの特定幅方向Ｄｗとは反対方向側の端Ｖ４から第２基準線分ＳｇＢに垂直に第１基準線分ＳｇＡ側に向かって延び、頂点Ｖ６で第３線分Ｓｇ３に接続される。
【００４９】
図中の第１基準長さＷ１は、第１基準線分ＳｇＡの長さであり、第１長Ｌ１は、第１線分Ｓｇ１の長さであり、第２長Ｌ２は、第２線分Ｓｇ２の長さである。また、第２基準長さＷ２は、第２基準線分ＳｇＢの長さであり、第３長Ｌ３は、第３線分Ｓｇ３の長さであり、第４長Ｌ４は、第４線分Ｓｇ４の長さである。
【００５０】
図２のステップＳ１４０では、判定部２２０は、スキャン画像ＳＩが、シートＳＨの辺に対応する非直線状のエッジを含むか否かを判定する。本実施例では、判定部２２０は、第１基準線分ＳｇＡ（図６）に対する第２基準線分ＳｇＢの傾斜角が予め決められた閾値（第１角度閾値とも呼ぶ）よりも大きい場合に、第１エッジＥＡに対する第２エッジＥＢの傾斜角が第１角度閾値よりも大きいため、第３エッジＥＣと第４エッジＥＤが曲がっている可能性が高いので、スキャン画像ＳＩが非直線状のエッジを含むと判定する。
【００５１】
なお、第１基準線分ＳｇＡに対する第２基準線分ＳｇＢの傾斜角は、第１基準線分ＳｇＡに平行な直線と第２基準線分ＳｇＢに平行な直線とを交差させた場合に、これら２本の直線がなす角度のうちの小さい方の角度である。第２基準線分ＳｇＢが第１基準線分ＳｇＡに平行である場合、傾斜角はゼロ度である。第１角度閾値としては、ゼロ（すなわち、平行）を採用してもよく、ゼロよりも大きい値を採用してもよい。
【００５２】
スキャン画像ＳＩが非直線状のエッジを含むと判定されない場合（Ｓ１４０：Ｎｏ）、シート画像は、図３（Ｂ）のシート画像ＳＨＩとは異なり、矩形状である。この場合、ステップＳ１６０で、傾き補正部２４０は、スキャン画像中でシート画像が傾いているか否かを判定する。例えば、特定幅方向Ｄｗに対する第１基準線分ＳｇＡ（すなわち、第１エッジＥＡ）の傾斜角が、閾値（例えば、上記の第１角度閾値）よりも大きい場合に、シート画像が傾いていると判定される。シート画像が傾いていないと判定される場合には、傾き補正部２４０は、スキャンデータを、そのまま、最終的な画像データとして記憶装置（例えば、不揮発性記憶装置１３０）に格納し、図２の処理を終了する。シート画像が傾いていると判定される場合には、傾き補正部２４０は、スキャン画像ＳＩ中の複数のエッジの傾きが修正されるようにスキャンデータを補正することによって、補正済の画像データを生成する（第２画像データとも呼ぶ）。具体的には、傾き補正部２４０は、第１基準線分ＳｇＡが特定幅方向Ｄｗに平行になるようにシート画像を回転させる補正を行う。この結果、補正済の第２画像データは、傾いていないシート画像を表す。傾き補正部２４０は、生成した補正済の第２画像データを記憶装置（例えば、不揮発性記憶装置１３０）に格納し、図２の処理を終了する。
【００５３】
スキャン画像ＳＩが非直線状のエッジを含むと判定される場合（Ｓ１４０：Ｙｅｓ）、ステップＳ１５０で、画像補正部２３０は、シート画像ＳＨＩを変形させる処理を実行する。具体的には、画像補正部２３０は、非直線状のエッジが直線状のエッジに修正されるようにスキャンデータを補正することによって、補正済の画像データを生成する（第１画像データとも呼ぶ）。
【００５４】
図７は、変形処理のフローチャートである。ステップＳ３００では、画像補正部２３０は、まず、変形処理の対象領域を特定する。本実施例では、対象領域は、シートＳＨ（図３（Ａ））の第１辺ＳＡを表す直線状の第１エッジＥＡ（すなわち、第１基準線分ＳｇＡ（図６））と、第２辺ＳＢを表す直線状の第２エッジＥＢ（すなわち、第２基準線分ＳｇＢ）と、第３辺ＳＣを近似する第１折れ線ＰＬ１と、第４辺ＳＤを近似する第２折れ線ＰＬ２と、で囲まれる領域ＴＡ（図６）である（「対象領域ＴＡ」と呼ぶ）。対象領域ＴＡは、背景ＢＧ（図３（Ｂ））の一部を含み得る（例えば、図６の頂点Ｖ５の近傍）。また、シート画像ＳＨＩの一部は、対象領域ＴＡから除かれ得る（例えば、図６の頂点Ｖ６の近傍）。
【００５５】
次に、ステップＳ３００では、画像補正部２３０は、第１折れ線ＰＬ１（図６）の両端を除く頂点Ｖ５と、第２折れ線ＰＬ２の両端を除く頂点Ｖ６とを通る直線ＤＬ１で、対象領域ＴＡを、２個の部分領域ＰＡ１、ＰＡ２に分割する。
【００５６】
図７のステップＳ３１０では、画像補正部２３０は、複数の部分領域から未処理の部分領域を対象部分領域として選択する。ステップＳ３２０では、画像補正部２３０は、スキャンデータによって表される対象部分領域を変形することによって、変形済の画像データを生成する（詳細は後述）。ステップＳ３３０では、画像補正部２３０は、全ての部分領域の処理が終了したか否かを判定し、全ての部分領域の処理が終了するまで、ステップＳ３１０、Ｓ３２０を繰り返す。全ての部分領域の処理の終了に応じて、ステップＳ３４０で、画像補正部２３０は、全ての変形済の対象部分領域を表す全ての変形済の画像データを合成することによって、変形済（すなわち、補正済）の第１画像データを生成する。そして、画像補正部２３０は、生成した補正済の第１画像データを記憶装置（例えば、不揮発性記憶装置１３０）に格納し、図７の処理を終了する。
【００５７】
図８は、補正済の第１画像データによって表される補正済画像の例を表す概略図である。この補正済画像ＩＭ１は、補正済のシート画像ＳＨｃを含んでいる。補正済シート画像ＳＨｃの輪郭の形状は、矩形状である。画像補正部２３０は、非直線状のエッジ（例えば、図３（Ｂ）の第３エッジＥＣ）が直線状に修正されるように、スキャンデータを補正することによって、補正済画像ＩＭ１を表す補正済の第１画像データを生成する。
【００５８】
図８中には、図６に示す線分と頂点とを補正することによって得られる線分と頂点とが示されている。ここで、補正済の要素の符号として、補正前の要素の符号の末尾に文字「ｃ」を付加して得られる符号を採用する。例えば、図８中の頂点Ｖ１ｃ〜Ｖ６ｃは、補正前の頂点Ｖ１〜Ｖ６（図６）が、変形処理によって移動した後の頂点を、それぞれ示している。図８中の線分ＳｇＡｃ、ＳｇＢｃ、Ｓｇ１ｃ、Ｓｇ２ｃ、Ｓｇ３ｃ、Ｓｇ４ｃは、補正前の線分ＳｇＡ、ＳｇＢ、Ｓｇ１、Ｓｇ２、Ｓｇ３、Ｓｇ４が、変形処理によって移動した後の線分を、それぞれ示している。
【００５９】
画像補正部２３０は、図７のステップＳ３２０で、対象部分領域（図６）を形成する頂点を、以下のように移動させる。第１基準線分ＳｇＡ（図６）の両端Ｖ１、Ｖ２と、第２基準線分ＳｇＢの両端Ｖ３、Ｖ４とは、矩形を形成するように移動される（図８中の頂点Ｖ１ｃ〜Ｖ４ｃ）。ここで、移動後の頂点Ｖ１ｃ、Ｖ２ｃ（図８）を結ぶ線分ＳｇＡｃと、移動後の頂点Ｖ３ｃ、Ｖ４ｃを結ぶ線分ＳｇＢｃとは、特定幅方向Ｄｗに平行である。また、各線分ＳｇＡｃ、ＳｇＢｃの長さＷは、図６の第１基準線分ＳｇＡの長さＷ１と第２基準線分ＳｇＢの長さＷ２の平均値である。２本の線分ＳｇＡｃ、ＳｇＢｃの間の距離Ｌは、図６の第１折れ線ＰＬ１の長さ（Ｌ１＋Ｌ２）と、第２折れ線ＰＬ２の長さ（Ｌ３＋Ｌ４）の平均値である。
【００６０】
第１折れ線ＰＬ１（図６）の途中の頂点Ｖ５は、第１折れ線ＰＬ１の両端Ｖ１、Ｖ３に対応する補正済の端Ｖ１ｃ、Ｖ３ｃ（図８）を結ぶ直線上に移動される（頂点Ｖ５ｃ）。図８中の第１長Ｌ１１は、補正済第１線分Ｓｇ１ｃの長さであり、第２長Ｌ１２は、補正済第２線分Ｓｇ２ｃの長さである。ここで、補正後の頂点Ｖ１ｃ、Ｖ５ｃ、Ｖ３ｃの間の距離の比率（Ｌ１１：Ｌ１２）は、補正前の頂点Ｖ１、Ｖ５、Ｖ３の間の距離の比率（Ｌ１：Ｌ２）と、同じである。
【００６１】
同様に、第２折れ線ＰＬ２（図６）の途中の頂点Ｖ６は、第２折れ線ＰＬ２の両端Ｖ２、Ｖ４に対応する補正済の端Ｖ２ｃ、Ｖ４ｃ（図８）を結ぶ直線上に移動される（頂点Ｖ６ｃ）。図８中の第３長Ｌ１３は、補正済第３線分Ｓｇ３ｃの長さであり、第４長Ｌ１４は、補正済第４線分Ｓｇ４ｃの長さである。ここで、補正後の頂点Ｖ２ｃ、Ｖ６ｃ、Ｖ４ｃの間の距離の比率（Ｌ１３：Ｌ１４）は、補正前の頂点Ｖ２、Ｖ６、Ｖ４の間の距離の比率（Ｌ３：Ｌ４）と、同じである。
【００６２】
画像補正部２３０は、図７のステップＳ３２０で、補正済（すなわち、移動済）の頂点を用いて、補正済の対象部分領域内の各画素の色値を決定する。図９は、第１部分領域ＰＡ１の変形処理の例を示す概略図である。図９の左側には、補正前の第１部分領域ＰＡ１が示され、図９の右側には、補正済の第１部分領域ＰＡ１ｃが示されている。
【００６３】
画像補正部２３０は、補正済の第１部分領域ＰＡ１ｃ内の任意の位置の対象画素Ｐｔｃの色値を、以下のように、決定する。まず、画像補正部２３０は、ゼロ以上１以下の第１変数ｔを用いて、対象線分Ｓｇｔｃを特定する。対象線分Ｓｇｔｃは、第１折れ線ＰＬ１（図６）に対応する補正済の第１線分Ｓｇ１ｃ上の第１点Ｐａｃと、第２折れ線ＰＬ２に対応する補正済の第３線分Ｓｇ３ｃ上の第２点Ｐｂｃと、を結ぶ線分である。第１点Ｐａｃは、頂点Ｖ１ｃから頂点Ｖ５ｃまでの第１線分Ｓｇ１ｃを、「ｔ：１−ｔ」の比率で分割する点であり、第２点Ｐｂｃは、頂点Ｖ２ｃから頂点Ｖ６ｃまでの第３線分Ｓｇ３ｃを、「ｔ：１−ｔ」の比率で分割する点である。画像補正部２３０は、対象画素Ｐｔｃと重なる対象線分Ｓｇｔｃを表す第１変数ｔを算出する。
【００６４】
次に、画像補正部２３０は、対象線分Ｓｇｔｃ上の対象画素Ｐｔｃの位置を示す第２変数ｓを算出する。対象画素Ｐｔｃの位置は、第２点Ｐｂｃから第１点Ｐａｃまでの対象線分Ｓｇｔｃを「ｓ：１−ｓ」の比率で分割する位置である。
【００６５】
次に、画像補正部２３０は、補正前の第１部分領域ＰＡ１上の、対象画素Ｐｔｃに対応する参照画素Ｐｔを、第１変数ｔと第２変数ｓとを用いて特定する。画像補正部２３０は、第１変数ｔを用いて、参照線分Ｓｇｔを特定する。参照線分Ｓｇｔは、第１折れ線ＰＬ１（図６）に対応する補正前の第１線分Ｓｇ１上の第１点Ｐａと、第２折れ線ＰＬ２に対応する補正前の第３線分Ｓｇ３上の第２点Ｐｂと、を結ぶ線分である。第１点Ｐａは、頂点Ｖ１から頂点Ｖ５までの第１線分Ｓｇ１を、「ｔ：１−ｔ」の比率で分割する点であり、第２点Ｐｂは、頂点Ｖ２から頂点Ｖ６までの第３線分Ｓｇ３を、「ｔ：１−ｔ」の比率で分割する点である。次に、画像補正部２３０は、第２変数ｓを用いて、参照線分Ｓｇｔ上の参照画素Ｐｔの位置を特定する。参照画素Ｐｔの位置は、第２点Ｐｂから第１点Ｐａまでの参照線分Ｓｇｔを「ｓ：１−ｓ」の比率で分割する位置である。
【００６６】
画像補正部２３０は、以上のようにして特定された参照画素Ｐｔの色値（スキャンデータによって表される色値）を、対象画素Ｐｔｃの色値として採用する。そして、画像補正部２３０は、補正済の第１部分領域ＰＡ１ｃ内の全ての画素のそれぞれの色値を、同じ方法に従って、決定する。以上により、画像補正部２３０は、第１部分領域ＰＡ１の変形処理を、完了する。
【００６７】
画像補正部２３０は、他の部分領域（例えば、第２部分領域ＰＡ２ｃ）についても、同様に、変形処理を実行する。補正済シート画像ＳＨｃは、近似線分（図６）によって表される複数の部分領域をそれぞれ変形して得られる複数の補正済の部分領域で構成されている。以上により、画像補正部２３０は、スキャン画像ＳＩ（図３（Ｂ）中の曲がったシート画像ＳＨＩが矩形に修正された補正済シート画像ＳＨｃを表す補正済画像ＩＭ１（すなわち、補正済の第１画像データ）を、生成する。補正済シート画像ＳＨｃの内部は、シート画像ＳＨｃの輪郭の形状の修正（すなわち、変形）に合わせて、修正（すなわち、変形）されている。従って、補正済画像ＩＭ１は、シートＳＨを適切に表すことができる。例えば、シートＳＨ（図３（Ａ））が、搬送方向Ｄｆに沿って延びる直線Ｌｓを表す場合、スキャン画像ＳＩ（図３（Ｂ））中では、直線Ｌｓの一部が曲がって表現され得るが、補正済画像ＩＭ１（図８）中では、直線Ｌｓは、直線として、表現され得る。補正済画像ＩＭ１中の補正済シート画像ＳＨｃの外の領域では、色値は、背景ＢＧを表す色値（例えば、所定の白色を表す色値）に決定される。
【００６８】
以上のように、本実施例では、スキャン画像ＳＩが、シートＳＨの辺に対応する非直線状のエッジを含むと判定される場合に（図２：Ｓ１４０：Ｙｅｓ）、画像補正部２３０は、非直線状のエッジが直線状のエッジに修正されるようにスキャンデータを補正することによって、補正済の画像ＩＭ１を表す補正済の画像データを生成する。従って、シートＳＨの辺を表す非直線状のエッジが直線状に修正された画像データを得ることができる。
【００６９】
また、判定部２２０は、図２のステップＳ１４０で、シートＳＨ（図３（Ａ））の複数の辺ＳＡ〜ＳＤのうち搬送方向Ｄｆとは反対の方向側に位置する第１辺ＳＡを表す直線状の第１エッジＥＡ（すなわち、第１基準線分ＳｇＡ（図６））に対する、搬送方向Ｄｆ側に位置する第２辺ＳＢを表す直線状の第２エッジＥＢ（すなわち、第２基準線分ＳｇＢ）の傾斜角が第１角度閾値よりも大きい場合に、スキャン画像ＳＩが非直線状のエッジを含むと判定する。このように、判定部２２０は、傾斜角を用いて容易に判定できるので、画像補正部２３０は、シートＳＨを適切に表す画像データを生成できる。
【００７０】
また、画像補正部２３０は、図７のステップＳ３００で、スキャン画像ＳＩ（図６）中のシートＳＨの少なくとも一部を表す対象領域ＴＡを、２個の部分領域ＰＡ１、ＰＡ２に分割する。そして、画像補正部２３０は、ステップＳ３１０〜Ｓ３３０で、２個の部分領域ＰＡ１、ＰＡ２を、各部分領域ＰＡ１、ＰＡ２毎に補正する。従って、画像補正部２３０は、スキャン画像ＳＩを分割せずに補正する場合と比べて、容易に、補正の精度を向上でき、そして、シートＳＨを適切に表す画像データを生成できる。
【００７１】
また、エッジ検出部２１５は、図２のステップＳ１３０（具体的には、図４のステップＳ２１０）で、シートＳＨの第３辺ＳＣを表すエッジＥＣを近似する２本の線分Ｓｇ１、Ｓｇ２で構成される第１折れ線ＰＬ１と、シートＳＨの第４辺ＳＤを表すエッジＥＤを近似する２本の線分Ｓｇ３、Ｓｇ４で構成される第２折れ線ＰＬ２と、を決定する。そして、画像補正部２３０は、図２のステップＳ１５０（具体的には、図７のステップＳ３００）で、第１折れ線ＰＬ１の両端Ｖ１、Ｖ３を除く１個の頂点Ｖ５と、第２折れ線ＰＬ２の両端Ｖ２、Ｖ４を除く１個の頂点Ｖ６とを通る１個の直線ＤＬ１で対象領域ＴＡを２個の部分領域ＰＡ１、ＰＡ２に分割する。このように、画像補正部２３０は、エッジＥＣ、ＥＤを近似する折れ線ＰＬ１、ＰＬ２に基づいて対象領域ＴＡを分割するので、シートＳＨを適切に表す画像データを生成できる。
【００７２】
ここで、画像補正部２３０は、図７のステップＳ３００で、対象領域ＴＡとして、第１辺ＳＡを表す直線状の第１エッジＥＡ（すなわち、第１基準線分ＳｇＡ）と、第２辺ＳＢを表す直線状の第２エッジＥＢ（すなわち、第２基準線分ＳｇＢ）と、第１折れ線ＰＬ１と、第２折れ線ＰＬ２と、で囲まれる領域を、採用する。ここで、第１折れ線ＰＬ１（図６）は、第１線分Ｓｇ１と第２線分Ｓｇ２とで構成される。第２折れ線ＰＬ２（図６）は、第３線分Ｓｇ３と第４線分Ｓｇ４とで構成される。第１線分Ｓｇ１と第３線分Ｓｇ３とは、第１基準線分ＳｇＡに垂直である。第２線分Ｓｇ２と第４線分Ｓｇ４とは、第２基準線分ＳｇＢに垂直である。そして、第１線分Ｓｇ１と第２線分Ｓｇ２とは、頂点Ｖ５で接続される。第３線分Ｓｇ３と第４線分Ｓｇ４とは、頂点Ｖ６で接続される。画像補正部２３０は、図７の処理で、折れ線ＰＬ１、ＰＬ２の頂点Ｖ５、Ｖ６を用いて対象領域ＴＡを２個の部分領域ＰＡ１、ＰＡ２に分割し、そして、２個の部分領域ＰＡ１、ＰＡ２のそれぞれの補正によって対象領域ＴＡが矩形に修正されるようにスキャンデータを補正することによって、補正済の画像データを生成する。このように、画像補正部２３０は、２本のエッジＥＡ、ＥＢと、２本のエッジＥＡ、ＥＢから得られる４本の線分Ｓｇ１〜Ｓｇ４とを用いて、シートＳＨを適切に表す補正済の画像データを生成できる。
【００７３】
また、スキャン画像ＳＩが非直線状のエッジを含むと判定されない場合（図２：Ｓ１４０：Ｎｏ）、傾き補正部２４０は、ステップＳ１６０で、スキャン画像ＳＩ中のエッジＥＡ〜ＥＤの傾きが修正されるようにスキャンデータを補正することによって、補正済の画像を表す画像データを生成する。このように、傾き補正部２４０は、傾きが補正されたシートを表す画像データを生成できる。
【００７４】
なお、図２のステップＳ１４０で用いられる第１角度閾値としては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第１角度閾値が、シートＳＨのサイズに応じて変化してもよい。具体的には、判定部２２０は、第１基準線分ＳｇＡ（図６）の長さＷ１が大きいほど小さい値を、第１角度閾値として採用してもよい。いずれの場合も、判定の精度を向上するためには、第１角度閾値が小さいことが好ましく、例えば、ゼロ度以上５度以下の値が好ましく、ゼロ度以上３度以下の値が特に好ましく、ゼロ度以上１度以下の値が最も好ましい。
【００７５】
Ｂ．第２実施例：
図１０は、図２のステップＳ１３０で実行される近似線分の決定処理の第２実施例のフローチャートである。図４の第１実施例との差異は、折れ線とエッジとの間の距離が大きい場合に、折れ線に線分が追加される点である。図２、図７の処理は、第１実施例と同様に、実行される。第２実施例で用いられるスキャンシステムの構成は、図１に示すスキャンシステム１０００の構成と、同じである。
【００７６】
ステップＳ２００、Ｓ２１０は、図４のステップＳ２００、Ｓ２１０と、それぞれ同じである。ステップＳ２２０では、エッジ検出部２１５は、折れ線の頂点とエッジとの間の距離ＤＶを算出する。
【００７７】
図１１は、距離ＤＶの説明図である。図中には、スキャン画像ＳＩ（図３（Ｂ））のうちの頂点Ｖ５を含む一部分の拡大図が示されている。図中には、第３エッジＥＣと、第３エッジＥＣを近似する第１折れ線ＰＬ１とが、太線で示されている。エッジ検出部２１５は、第１折れ線ＰＬ１の頂点Ｖ５と第３エッジＥＣとの間の特定幅方向Ｄｗの距離（例えば、画素数）を、距離ＤＶとして算出する。この距離ＤＶが大きいことは、第１折れ線ＰＬ１による第３エッジＥＣの近似の精度が低いことを示している。
【００７８】
図１０のステップＳ２２０では、エッジ検出部２１５は、第１折れ線ＰＬ１の両端を除く全ての頂点と、第２折れ線ＰＬ２の両端を除く全ての頂点と、のそれぞれの頂点における距離ＤＶを算出する。
【００７９】
ステップＳ２３０では、エッジ検出部２１５は、ステップＳ２２０で算出された複数の距離ＤＶの全てが予め決められた第１更新閾値ＤＶｔ以下であるか否かを判定する。第１更新閾値ＤＶｔとしては、ゼロを採用してもよく、ゼロよりも大きい値を採用してもよい。全ての頂点の全ての距離ＤＶが第１更新閾値ＤＶｔ以下であることは、第１折れ線ＰＬ１と第２折れ線ＰＬ２とによる近似の精度が良好であることを示している。この場合（Ｓ２３０：Ｙｅｓ）、エッジ検出部２１５は、図１０の処理を終了する。
【００８０】
算出された複数の距離ＤＶのうちの少なくとも１個の距離ＤＶが、第１更新閾値ＤＶｔよりも大きい場合（Ｓ２３０：Ｎｏ）、エッジ検出部２１５は、大きな距離ＤＶに対応付けられた頂点の近傍のエッジを近似する線分を、折れ線に追加する。具体的には、エッジ検出部２１５は、ステップＳ２４０で、スキャン画像ＳＩから、第１更新閾値ＤＶｔよりも大きい距離ＤＶに対応付けられた頂点の周辺の部分画像を取得する。図１１には、頂点Ｖ５の周辺の部分画像の例が、二重線で示されている。図示された部分画像Ａｖは、スキャン画像ＳＩの特定幅方向Ｄｗ側の端ｅ１から反対方向側の端ｅ２まで延びる矩形の帯状の画像である。図中の長さＡｖＬは、部分画像Ａｖの搬送方向Ｄｆの長さ（例えば、画素数）である。この部分画像Ａｖは、搬送方向Ｄｆの中心位置が頂点Ｖ５と重なるように、配置されている。
【００８１】
長さＡｖＬは、線分を追加する前の１本の折れ線に含まれる線分の総数が多いほど小さくなるように、予め決められている。例えば、エッジ検出部２１５は、「スキャン画像ＳＩの搬送方向Ｄｆの長さ（例えば、画素数）／線分の総数」によって算出される値を、長さＡｖＬとして採用する。
【００８２】
図１０のステップＳ２５０では、エッジ検出部２１５は、部分画像Ａｖのハフ変換を実行する。ハフ変換の方法は、ステップＳ２００でのハフ変換の方法と同じである。ステップＳ２６０では、エッジ検出部２１５は、ハフ変換の結果を用いて、近似線分を決定する。図１１の例では、エッジ検出部２１５は、第３エッジＥＣのうちの部分画像Ａｖに含まれる部分を近似する直線ＬＡを決定する。この直線ＬＡは、第１線分Ｓｇ１の途中の点Ｖ７で第１線分Ｓｇ１と交差し、第２線分Ｓｇ２の途中の点Ｖ８で第２線分Ｓｇ２と交差する。以下、これら２つの点Ｖ７、Ｖ８を結ぶ線分を、第５線分Ｓｇ５と呼ぶ。
【００８３】
図１２は、線分が追加された（すなわち、更新済の）第１折れ線ＰＬ１を示す概略図である。図示するように、更新済の第１折れ線ＰＬ１は、第１線分Ｓｇ１の頂点Ｖ１から点Ｖ７までの部分と、第５線分Ｓｇ５と、第２線分Ｓｇ２の点Ｖ８から頂点Ｖ３までの部分と、で構成されている。第５線分Ｓｇ５が追加されることによって、更新済の第１折れ線ＰＬ１からは、大きな距離ＤＶに対応付けられた頂点Ｖ５が、削除される。そして、更新済の第１折れ線ＰＬ１は、第３エッジＥＣを、より精度よく近似可能である。
【００８４】
なお、エッジ検出部２１５は、第１折れ線ＰＬ１の頂点に応じて第１折れ線ＰＬ１に線分を追加する場合、第２折れ線ＰＬ２の対応する頂点に応じて第２折れ線ＰＬ２にも線分を追加する。ここで、第１折れ線ＰＬ１の頂点に対応する第２折れ線ＰＬ２の頂点は、対象領域を分割する場合に用いられる１本の分割線を形成する頂点である。例えば、図６の例では、頂点Ｖ５に対応する頂点は、頂点Ｖ６である。
【００８５】
図１２に示すように、エッジ検出部２１５は、第２折れ線ＰＬ２の頂点Ｖ６に応じて第２折れ線ＰＬ２に第６線分Ｓｇ６を追加する。更新済の第６線分Ｓｇ６は、第３線分Ｓｇ３の途中の点Ｖ９と、第４線分Ｓｇ４の途中の点Ｖ１０と、を結ぶ線分である。第２折れ線ＰＬ２は、第３線分Ｓｇ３の頂点Ｖ２から点Ｖ９までの部分と、第６線分Ｓｇ６と、第４線分Ｓｇ４の点Ｖ１０から頂点Ｖ４までの部分と、で構成されている。第６線分Ｓｇ６が追加されることによって、更新済の第２折れ線ＰＬ２からは、頂点Ｖ６が削除される。そして、更新済の第２折れ線ＰＬ２は、第４エッジＥＤを、より精度よく近似可能である。
【００８６】
エッジ検出部２１５は、このような第６線分Ｓｇ６を、第５線分Ｓｇ５と同様に、図１０のステップＳ２４０〜Ｓ２６０で決定する。エッジ検出部２１５は、第１折れ線ＰＬ１と第２折れ線ＰＬ２とのいずれか一方に線分を追加する場合には、他方の折れ線にも線分を追加するように、ステップＳ２４０〜Ｓ２６０で、第１折れ線ＰＬ１のための処理と第２折れ線ＰＬ２のための処理とを実行する。第２折れ線ＰＬ２の１個の頂点が、第１更新閾値ＤＶｔよりも大きい距離ＤＶに対応付けられる場合には、エッジ検出部２１５は、その頂点に応じて第２折れ線ＰＬ２に線分を追加し、そして、第１折れ線ＰＬ１の対応する頂点に応じて第１折れ線ＰＬ１にも線分を追加する。
【００８７】
また、エッジ検出部２１５は、ステップＳ２４０〜Ｓ２６０で、第１更新閾値ＤＶｔよりも大きい距離ＤＶに対応付けられる全ての頂点のそれぞれに応じて、折れ線ＰＬ１、ＰＬ２のそれぞれに線分を追加する。この結果、第１更新閾値ＤＶｔよりも大きい距離ＤＶに対応付けられる全ての頂点が折れ線ＰＬ１、ＰＬ２から削除されるので、各折れ線ＰＬ１、ＰＬ２による近似の精度を向上できる。
【００８８】
エッジ検出部２１５は、ステップＳ２６０が終了した場合に、再び、ステップＳ２２０に移行する。ステップＳ２２０では、エッジ検出部２１５は、ステップＳ２６０で追加された頂点のそれぞれにおける距離ＤＶを算出する。そして、エッジ検出部２１５は、全ての頂点の全ての距離ＤＶが第１更新閾値ＤＶｔ以下になるまで、ステップＳ２４０〜Ｓ２６０の処理（線分（すなわち頂点）の追加）を繰り返す。また、図７のステップＳ３００では、画像補正部２３０は、対象領域を、更新済の折れ線ＰＬ１、ＰＬ２によって表されるＮ個（Ｎは２以上の整数）の部分領域に分割する。そして、画像補正部２３０は、ステップＳ３１０〜３３０を部分領域毎に実行することによって、Ｎ個の部分領域のそれぞれを、部分領域毎に補正する。
【００８９】
例えば、図１２の例では、画像補正部２３０は、対象領域ＴＡｘを３個の部分領域ＰＡ１１、ＰＡ１２、ＰＡ１３に分割し、これらの部分領域ＰＡ１１、ＰＡ１２、ＰＡ１３をそれぞれ補正する。図示を省略するが、第１折れ線ＰＬ１の途中の頂点Ｖ７、Ｖ８は、補正済の画像（図８）の頂点Ｖ１ｃ、Ｖ３ｃを結ぶ直線上に配置される。そして、補正済の頂点Ｖ１ｃ、Ｖ７ｃ、Ｖ８ｃ、Ｖ３ｃの間の距離の比率が、頂点Ｖ１、Ｖ７、Ｖ８、Ｖ３の間の距離の比率と同じとなるように、補正済の頂点Ｖ７ｃ、Ｖ８ｃの位置が決定される。第２折れ線ＰＬ２の途中の頂点Ｖ９、Ｖ１０についても、同様である。また、部分領域の総数Ｎが４以上である場合も、同様である。
【００９０】
このように、第２実施例の近似線分の決定処理によれば、エッジ検出部２１５は、図１０のステップＳ２３０で、スキャン画像ＳＩ（図１１）上において、第１線分Ｓｇ１と第２線分Ｓｇ２とを接続する１個の頂点Ｖ５と、シートＳＨの特定幅方向Ｄｗ側に位置する辺を表す第３エッジＥＣと、の間の距離ＤＶが第１更新閾値ＤＶｔ以下であるか否かを判定する。そして、距離ＤＶが第１更新閾値ＤＶｔよりも大きい場合には、ステップＳ２４０〜Ｓ２６０で、エッジ検出部２１５は、第１線分Ｓｇ１の途中の点Ｖ７と、第２線分Ｓｇ２の途中の点Ｖ８とを接続する第５線分Ｓｇ５を第１折れ線ＰＬ１に追加し、第３線分Ｓｇ３の途中の点Ｖ９と、第４線分Ｓｇ４の途中の点Ｖ１０とを接続する第６線分Ｓｇ６を第２折れ線ＰＬ２に追加する。そして、図１２に示すように、画像補正部２３０は、頂点Ｖ７と頂点Ｖ９とを通る直線と、点Ｖ８と点Ｖ１０とを通る直線とを用いて、対象領域ＴＡｘを３個の部分領域ＰＡ１１、ＰＡ１２、ＰＡ１３に分割する。３個の線分で構成される折れ線は、２個の線分で構成される折れ線よりも非直線状のエッジを適切に近似できるので、画像補正部２３０は、適切な部分領域を用いて、補正済の画像データを生成できる。
【００９１】
なお、第１更新閾値ＤＶｔとしては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第１更新閾値ＤＶｔが、シートＳＨのサイズに応じて変化してもよい。具体的には、エッジ検出部２１５は、第１基準線分ＳｇＡ（図６）の長さＷ１が大きいほど大きい値を、第１更新閾値ＤＶｔとして採用してもよい。いずれの場合も、判定の精度を向上するためには、第１更新閾値ＤＶｔが小さいことが好ましく、例えば、ゼロ以上、かつ、長さＷ１の１５％以下の値が好ましく、ゼロ以上、かつ、長さＷ１の１０％以下の値が特に好ましく、ゼロ以上、かつ、長さＷ１の５％以下の値が最も好ましい。
【００９２】
Ｃ．第３実施例：
図１３は、図２のステップＳ１３０で実行される近似線分の決定処理の第３実施例のフローチャートである。図１０の第２実施例との差異は、距離ＤＶを用いるステップＳ２２０、Ｓ２３０が、傾斜角ＡｇＶを用いるステップＳ２２０ａ、Ｓ２３０ａに置換されている点だけである。図１３のフローチャートの他の構成は、図１０のフローチャートの構成と、同じである。以下、図１３のステップのうち、図１０のステップと同じステップには、同じ符号を付して、説明を省略する。また、図２、図７の処理は、第１と第２の実施例と同様に、実行される。第３実施例で用いられるスキャンシステムの構成は、図１に示すスキャンシステム１０００の構成と、同じである。
【００９３】
ステップＳ２２０ａでは、エッジ検出部２１５は、折れ線の頂点に接続された２本の線分の間の傾斜角ＡｇＶを算出する。図１１には、頂点Ｖ５に対応付けられた傾斜角ＡｇＶが示されている。この傾斜角ＡｇＶは、第１線分Ｓｇ１に平行な直線と、第２線分Ｓｇ２に平行な直線とを交差させた場合に、これら２本の直線がなす角度のうちの小さい方の角度と同じである。２本の線分Ｓｇ１、Ｓｇ２が平行である場合、傾斜角ＡｇＶは、ゼロ度である。この傾斜角ＡｇＶが大きいことは、第１折れ線ＰＬ１による第３エッジＥＣの近似の精度が低いことを示している。
【００９４】
図１３のステップＳ２２０ａでは、エッジ検出部２１５は、第１折れ線ＰＬ１の両端を除く全ての頂点と、第２折れ線ＰＬ２の両端を除く全ての頂点と、のそれぞれの頂点の傾斜角ＡｇＶを算出する。
【００９５】
ステップＳ２３０ａでは、エッジ検出部２１５は、ステップＳ２２０ａで算出された複数の傾斜角ＡｇＶの全てが予め決められた第２更新閾値ＡｇＶｔ以下であるか否かを判定する。第２更新閾値ＡｇＶｔとしては、ゼロ（すなわち、直線）を採用してもよく、ゼロよりも大きい値を採用してもよい。全ての頂点の全ての傾斜角ＡｇＶが第２更新閾値ＡｇＶｔ以下であることは、第１折れ線ＰＬ１と第２折れ線ＰＬ２とによる近似の精度が良好であることを示している。この場合（Ｓ２３０ａ：Ｙｅｓ）、エッジ検出部２１５は、図１０の処理を終了する。
【００９６】
少なくとも１個の頂点の傾斜角ＡｇＶが、第２更新閾値ＡｇＶｔよりも大きい場合（Ｓ２３０ａ：Ｎｏ）、エッジ検出部２１５は、ステップＳ２４０〜Ｓ２６０で、折れ線ＰＬ１、ＰＬ２に、線分（すなわち、頂点）を追加する。図１３の実施例では、図１０の実施例とは異なり、第１更新閾値ＤＶｔよりも大きい距離ＤＶに対応付けられた頂点の代わりに、第２更新閾値ＡｇＶｔよりも大きい傾斜角ＡｇＶに対応付けられた頂点に基づいて、線分（頂点）が追加される。以上により、図１２と同様の更新済の折れ線ＰＬ１、ＰＬ２が決定される。
【００９７】
このように、第３実施例の近似線分の決定処理によれば、エッジ検出部２１５は、図１３のステップＳ２３０ａで、スキャン画像ＳＩ（図１１）上において、第１線分Ｓｇ１の延びる方向ｄ１と第２線分Ｓｇ２の延びる方向ｄ２とがなす傾斜角ＡｇＶが第２更新閾値ＡｇＶｔ以下であるか否かを判定する。そして、傾斜角ＡｇＶが第２更新閾値ＡｇＶｔよりも大きい場合には、ステップＳ２４０〜Ｓ２６０で、エッジ検出部２１５は、第１線分Ｓｇ１の途中の点Ｖ７と、第２線分Ｓｇ２の途中の点Ｖ８とを接続する第５線分Ｓｇ５を第１折れ線ＰＬ１に追加し、第３線分Ｓｇ３の途中の点Ｖ９と、第４線分Ｓｇ４の途中の点Ｖ１０とを接続する第６線分Ｓｇ６を第２折れ線ＰＬ２に追加する。そして、図１２に示すように、画像補正部２３０は、頂点Ｖ７と頂点Ｖ９とを通る直線と、点Ｖ８と点Ｖ１０とを通る直線とを用いて、対象領域ＴＡｘを３個の部分領域ＰＡ１１、ＰＡ１２、ＰＡ１３に分割する。３個の線分で構成される折れ線は、２個の線分で構成される折れ線よりも非直線状のエッジを適切に近似できるので、画像補正部２３０は、適切な部分領域を用いて、補正済の画像データを生成できる。
【００９８】
なお、第２更新閾値ＡｇＶｔとしては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第２更新閾値ＡｇＶｔが、シートＳＨのサイズに応じて変化してもよい。具体的には、エッジ検出部２１５は、第１基準線分ＳｇＡ（図６）の長さＷ１が大きいほど小さい値を、第２更新閾値ＡｇＶｔとして採用してもよい。いずれの場合も、判定の精度を向上するためには、第２更新閾値ＡｇＶｔが小さいことが好ましく、例えば、ゼロ度以上５度以下の値が好ましく、ゼロ度以上３度以下の値が特に好ましく、ゼロ度以上１度以下の値が最も好ましい。
【００９９】
Ｄ．変形例：
（１）図２のステップＳ１４０の判定方法、すなわち、スキャン画像ＳＩが非直線状のエッジを含むか否かの判定方法としては、第１エッジＥＡに対する第２エッジＥＢの傾斜角が第１角度閾値よりも大きいか否かの判定結果を用いる方法とは異なる他の種々の方法を採用可能である。例えば、判定部２２０は、シートＳＨの複数の辺ＳＡ〜ＳＤのうち、搬送方向Ｄｆに垂直な方向側（例えば、特定幅方向Ｄｗ側）に位置する第３辺ＳＣを表す第３エッジＥＣの延びる方向が第３エッジＥＣの途中で予め決められた閾値（第２角度閾値と呼ぶ）よりも大きく変化する場合に、スキャン画像ＳＩが非直線状のエッジを含むと判定してもよい。
【０１００】
例えば、画像補正部２３０は、第３エッジＥＣを近似する第１線分Ｓｇ１と第２線分Ｓｇ２とがなす角度が、予め決められた第２角度閾値よりも大きい場合に、第３エッジＥＣの延びる方向が第３エッジＥＣの途中で所定の第２角度閾値よりも大きく変化すると判定可能である。第１線分Ｓｇ１と第２線分Ｓｇ２とがなす角度は、第１線分Ｓｇ１に平行な直線と、第２線分Ｓｇ２に平行な直線とを交差させた場合に、これら２本の直線がなす角度のうちの小さい方の角度である。第２角度閾値としては、ゼロ（すなわち、直線）を採用してもよく、ゼロよりも大きい値を採用してもよい。また、第２角度閾値としては、予め決められた値の代わりに、スキャン処理の条件に応じて変化する可変値を採用してもよい。例えば、第２角度閾値が、シートＳＨのサイズに応じて変化してもよい。具体的には、判定部２２０は、第１基準線分ＳｇＡ（図６）の長さＷ１が大きいほど小さい値を、第２角度閾値として採用してもよい。いずれの場合も、判定の精度を向上するためには、第２角度閾値が小さいことが好ましく、例えば、ゼロ度以上５度以下が好ましく、ゼロ度以上３度以下が特に好ましく、ゼロ度以上１度以下が最も好ましい。
【０１０１】
また、スキャン画像ＳＩが非直線状のエッジを含むと判定するための判定条件は、複数の条件を含んでも良い。例えば、判定条件は、「第１エッジＥＡに対する第２エッジＥＢの傾斜角が第１角度閾値よりも大きいことを示す第１条件」と、「搬送方向Ｄｆに垂直な方向側に位置する辺を表すエッジ（例えば、第３エッジＥＣ）の延びる方向が、そのエッジの途中で第２角度閾値よりも大きく変化することを示す第２条件」と、を含んでもよい。ここで、第１条件と第２条件との少なくとも一方が満たされる場合に、判定条件が満たされることとしてもよい。この代わりに、第１条件と第２条件との両方が満たされる場合に、判定条件が満たされることとしてもよい。
【０１０２】
（２）エッジを近似する近似線分を決定する方法としては、ハフ変換を用いる方法とは異なる他の種々の方法を採用可能である。例えば、エッジ検出部２１５は、最小２乗法に従って、複数のエッジ画素の配置を近似する線分を決定してもよい。
【０１０３】
（３）図１０、図１３の処理において、エッジを近似する折れ線に追加される新たな線分を決定する方法としては、ステップＳ２４０〜Ｓ２６０に示すハフ変換を用いる方法とは異なる他の種々の方法を採用可能である。例えば、図１１の例で第１折れ線ＰＬ１に線分を追加する場合、エッジ検出部２１５は、第１線分Ｓｇ１上の点であって頂点Ｖ５から所定距離の点を、頂点Ｖ７として採用し、第２線分Ｓｇ２上の点であって頂点Ｖ５から所定距離の点を、点Ｖ８として採用し、これらの頂点Ｖ７、Ｖ８を結ぶ線分を第１折れ線ＰＬ１に追加してもよい。
【０１０４】
（４）エッジを近似する折れ線に新たな線分を追加するか否かを判定する方法としては、折れ線の頂点における距離ＤＶ（図１０）または傾斜角ＡｇＶ（図１３）を用いる方法とは異なる他の種々の方法を採用可能である。例えば、エッジ検出部２１５は、第１線分Ｓｇ１（図６）上の点を、頂点Ｖ１から第２基準線分ＳｇＢに向かって移動させつつ、その点と第３エッジＥＣとの間の距離（図１１の距離ＤＶと同様の距離）を算出する。そして、エッジ検出部２１５は、距離が第１更新閾値ＤＶｔ以下の値から第１更新閾値ＤＶｔよりも大きい値に変化する点を特定する。エッジ検出部２１５は、特定された点の周辺部分の画像を取得し、取得した画像のハフ変換によって、新たに追加される線分を決定する。特定された点の周辺部分の画像を用いる線分の決定方法としては、図１０、図１３のステップＳ２４０〜Ｓ２６０と同様の方法を採用可能である。なお、周辺部分の画像の長さＡｖＬとしては、所定の長さを採用可能である。
【０１０５】
（５）エッジを近似する方法としては、折れ線を用いる方法とは異なる他の種々の方法を採用可能である。例えば、エッジ検出部２１５は、スプライン曲線を用いて、図３の第３エッジＥＣを近似する第１曲線と、第４エッジＥＤを近似する第２曲線とを決定してもよい。この場合、画像補正部２３０は、各曲線をＮ個（Ｎは２以上の整数）の等長の部分に分割する。そして、画像補正部２３０は、第１曲線上のＮ個の部分のＮ−１個の接続点と、第２曲線上のＮ個の部分のＮ−１個の接続点と、をそれぞれ通るＮ−１個の直線で対象領域をＮ個の部分領域に分割する。そして、画像補正部２３０は、Ｎ個の部分領域を各部分領域毎に補正する。ここで、対象領域は、第１基準線分ＳｇＡと、第１曲線上のＮ−１個の接続点を順番に辿る折れ線と、第２基準線分ＳｇＢと、第２曲線上のＮ−１個の接続点を順番に辿る折れ線と、で囲まれる領域である。
【０１０６】
（６）画像を変形する方法としては、図７から図９で説明した方法とは異なる他の任意の方法を採用可能である。例えば、アフィン変換を用いて画像を変形する方法を採用してもよい。また、いわゆるモーフィングの技術を用いて画像を変形する方法を採用してもよい。一般的には、スキャン画像ＳＩ（図３（Ｂ））中のシート画像ＳＨＩのエッジの歪みとシート画像ＳＨＩの内部の画像の歪みとを低減するような変形処理を採用することが好ましい。
【０１０７】
（７）スキャン処理としては、図２、図４、図７、図１０、図１３に示す処理とは異なる他の種々の処理を採用可能である。例えば、図２のステップＳ１６０を省略してもよい。また、図１０、図１３の処理において、ステップＳ２４０〜Ｓ２６０の処理の繰り返し回数の上限が予め定められていても良い。上限は、例えば、１回でもよく、２回でもよく、３回であってもよい。
【０１０８】
（８）読取部３６０の構成としては、図１に示す構成とは異なる他の種々の構成を採用可能である。例えば、第１ローラ対３１０と第２ローラ対３２０との一方が省略されてもよい。また、複数の受光素子３４２を有するセンサ３４０の代わりに、１個の受光素子が、回転するポリゴンミラーを用いて、シートＳＨをスキャンしてもよい。
【０１０９】
（９）スキャンデータを処理するための機能は、画像処理装置１００（図１）とは異なる他の任意の種類の装置によって、実現されてよい。例えば、スキャナ装置３００に設けられたコンピュータやＡＳＩＣ等の画像処理部（図示せず）が、画像処理装置１００の代わりにスキャンデータを処理してもよい。この場合、画像処理装置１００を省略可能である。また、画像処理部は、制御部３５０に組み込まれても良い。
【０１１０】
また、ネットワークを介して互いに通信可能な複数の装置（例えば、コンピュータ）が、スキャンデータを処理するための機能を一部ずつ分担して、全体として、スキャンデータを処理するための機能を提供してもよい（これらの装置を備えるシステムが画像処理装置に対応する）。
【０１１１】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の画像補正部２３０の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
【０１１２】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
【０１１３】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１１４】
１００...画像処理装置、１１０...プロセッサ、１２０...揮発性記憶装置、１３０...不揮発性記憶装置、１３２...プログラム、１４０...表示部、１５０...操作部、１６０...装置インタフェース、２１０...取得部、２１５...エッジ検出部、２２０...判定部、２３０...画像補正部、２４０...補正部、３００...スキャナ装置、３１０...第１ローラ対、３１２...駆動ローラ、３１４...従動ローラ、３２０...第２ローラ対、３２２...駆動ローラ、３２４...従動ローラ、３３０...搬送機構、３４０...センサ、３４２...受光素子、３５０...制御部、３６０...読取部、１０００...スキャンシステム
【図１】
2015198306.tif 000003
【図２】
2015198306.tif 000004
【図３】
2015198306.tif 000005
【図４】
2015198306.tif 000006
【図５】
2015198306.tif 000007
【図６】
2015198306.tif 000008
【図７】
2015198306.tif 000009
【図８】
2015198306.tif 000010
【図９】
2015198306.tif 000011
【図１０】
2015198306.tif 000012
【図１１】
2015198306.tif 000013
【図１２】
2015198306.tif 000014
【図１３】
2015198306.tif 000015