(57)【要約】【課題】高速処理が可能であるとともに、帳票外縁部に一部欠損やベタ塗り領域がある場合でも正しく帳票外縁を検出可能な画像傾き補正装置を提供する。【解決手段】開示される画像傾き補正装置は、ラインバッファ202のデータから帳票の外縁のエッジ点の位置を生成するエッジ位置生成部203と、エッジ位置の情報を保存するエッジ位置保存メモリ210と、保存されたエッジ位置の情報を利用して、帳票外縁となる複数のエッジ直線候補を検出するエッジ候補検出部205と、エッジ直線候補から帳票として妥当な４辺の組み合わせを選択するエッジ選択部206と、帳票のコーナー座標を検出するコーナー検出部207と、コーナー座標から帳票画像の補正時に必要となるパラメータを生成するパラメータ生成部208と、ラインバッファの情報を画像として保存する画像保存メモリ204と、パラメータを用いて画像保存メモリの画像を補正する画像補正部209とを備えて構成されている。【選択図】図２
2008147976.tif 000002
【特許請求の範囲】
【請求項１】
入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成するエッジ位置生成部と、前記生成されたエッジ位置の情報を順次保存するエッジ位置保存メモリと、該エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、前記帳票の４辺のエッジ直線の候補として複数の直線を検出するエッジ候補検出部と、前記検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択するエッジ選択部と、前記選択された４辺の組み合わせから帳票のコーナー座標を検出するコーナー検出部と、前記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成するパラメータ生成部と、前記ラインバッファの情報を順次格納して画像として保存する画像保存メモリと、前記生成されたパラメータを用いて前記画像保存メモリに保存された画像を補正する画像補正部とを備えてなることを特徴とする画像傾き補正装置。
【請求項２】
入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成するエッジ位置生成部と、前記生成されたエッジ位置の情報を順次保存するエッジ位置保存メモリと、該エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、前記帳票の上辺をなすエッジ直線の候補として複数の直線を検出する上辺エッジ候補検出部と、前記エッジ位置保存メモリに保存されたエッジ位置の情報と、前記上辺エッジ候補検出部で検出された上辺のエッジ直線の情報とから、帳票の下辺，左辺，右辺をなすエッジ直線の候補として複数の直線を検出する下辺，左辺，右辺エッジ候補検出部と、前記検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択するエッジ選択部と、前記選択された４辺の組み合わせから帳票のコーナー座標を検出するコーナー検出部と、前記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成するパラメータ生成部と、前記ラインバッファの情報を順次格納して画像として保存する画像保存メモリと、前記生成されたパラメータを用いて前記画像保存メモリに保存された画像を補正する画像補正部とを備えてなることを特徴とする画像傾き補正装置。
【請求項３】
前記エッジ位置生成部が、前記ラインバッファに格納された画像データを複数の範囲に等間隔に分割して、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最初に検出されたとき、当該範囲の中点に上辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行い、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最後に検出されたとき、当該範囲の中点を下辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行う上辺・下辺エッジ位置生成部と、画像データをライン方向に探索して帳票部分の画素が帳票幅以上に連続した最初の画素位置によって左辺エッジ点の位置を検出し、最後の画素位置によって右辺エッジ点の位置を検出する処理をラインごとに行う左辺・右辺エッジ位置生成部とからなり、生成された４辺のエッジ位置の情報を前記エッジ位置保存メモリに保存するように構成されていることを特徴とする請求項１又は２記載の画像傾き補正装置。
【請求項４】
前記エッジ候補検出部が、前記エッジ位置保存メモリに保存された４辺のエッジ位置の位置からＨｏｕｇｈ変換を用いて４辺のエッジ直線の候補となる複数の直線を検出するように構成されていることを特徴とする請求項１又は３記載の画像傾き補正装置。
【請求項５】
前記上辺エッジ候補検出部が、前記エッジ位置保存メモリに保存された上辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて上辺のエッジ直線の候補となる複数の直線を検出するように構成されていることを特徴とする請求項２又は３記載の画像傾き補正装置。
【請求項６】
前記下辺，左辺，右辺エッジ候補検出部が、前記エッジ位置保存メモリに保存された４辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて検出された４辺のエッジ直線の候補となる複数の直線と、前記上辺エッジ候補検出部で検出された上辺のエッジ直線の候補となる複数の直線とから、下辺，左辺，右辺のエッジ直線の候補となる複数の直線を検出するように構成されていることを特徴とする請求項５記載の画像傾き補正装置。
【請求項７】
前記エッジ選択部が、隣り合う２辺のなす角度が同等な４辺の組み合わせをすべて検出し、検出されたすべての４辺の組み合わせのうち、上辺と下辺の距離と、左辺と右辺の距離との和が最大となる４辺の組み合わせを、前記帳票として妥当な４辺の組み合わせとして選択するように構成されていることを特徴とする請求項１乃至６のいずれか一記載の画像傾き補正装置。
【請求項８】
前記コーナー検出部が、前記帳票として妥当な４辺の組み合わせとして選択された４辺のエッジ直線における、隣りあう２辺を構成する直線（直線の延長部分である場合を含む）の交点として帳票のコーナー座標を検出するように構成されていることを特徴とする請求項１乃至７のいずれか一記載の画像傾き補正装置。
【請求項９】
前記パラメータ生成部が、入力画像の座標を特定の位置に移動し、特定の倍率で拡大または縮小して、特定の角度回転させたのち、回転中心を出力画像の座標の原点に合わせる演算を行って出力画像座標を求める変換行列の逆行列によって前記パラメータを生成するように構成されていることを特徴とする請求項１乃至８のいずれか一記載の画像傾き補正装置。
【請求項１０】
前記画像補正部が、前記パラメータを用いて、入力帳票画像の傾きを補正するとともに、帳票画像の外側の部分を除去する補正を行うように構成されていることを特徴とする請求項１乃至９のいずれか一記載の画像傾き補正装置。
【請求項１１】
入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、エッジ位置生成手段によって、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成して、生成されたエッジ位置の情報をエッジ位置保存メモリに順次保存し、エッジ候補検出手段が、前記エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、前記帳票の４辺のエッジ直線の候補として複数の直線を検出し、エッジ選択手段が、前記検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択し、コーナー検出手段が、前記選択された４辺の組み合わせから帳票のコーナー座標を検出し、パラメータ生成手段が、前記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成し、画像補正手段が、前記生成されたパラメータを用いて、前記ラインバッファの情報を順次格納して画像として保存した画像保存メモリの画像を補正することを特徴とする画像傾き補正方法。
【請求項１２】
入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、エッジ位置生成手段によって、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成して、生成されたエッジ位置の情報をエッジ位置保存メモリに順次保存し、上辺エッジ候補検出手段が、前記エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、前記帳票の上辺をなすエッジ直線の候補として複数の直線を検出し、下辺，左辺，右辺エッジ候補検出手段が、前記エッジ位置保存メモリに保存されたエッジ位置の情報と、前記上辺エッジ候補検出手段で検出された上辺のエッジ直線の情報とから、帳票の下辺，左辺，右辺をなすエッジ直線の候補として複数の直線を検出し、エッジ選択手段が、前記検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択し、コーナー検出手段が、前記選択された４辺の組み合わせから帳票のコーナー座標を検出し、パラメータ生成手段が、前記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成し、画像補正手段が、前記生成されたパラメータを用いて、前記ラインバッファの情報を順次格納して画像として保存した画像保存メモリの画像を補正することを特徴とする画像傾き補正方法。
【請求項１３】
前記エッジ位置生成手段において、上辺・下辺エッジ位置生成手段が、前記ラインバッファに格納された画像データを複数の範囲に等間隔に分割して、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最初に検出されたとき、当該範囲の中点を上辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行い、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最後に検出されたとき、当該範囲の中点を下辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行い、左辺・右辺エッジ位置生成手段が、画像データをライン方向に探索して帳票部分の画素が帳票幅以上連続した最初の画素位置によって左辺エッジ点の位置を検出し、最後の画素位置によって右辺エッジ点の位置を検出する処理をラインごとに行って、生成された４辺のエッジ位置の情報を前記エッジ位置保存メモリに保存することを特徴とする請求項１１又は１２記載の画像傾き補正方法。
【請求項１４】
前記エッジ候補検出手段が、前記エッジ位置保存メモリに保存された４辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて４辺のエッジ直線の候補となる複数の直線を検出することを特徴とする請求項１１又は１３記載の画像傾き補正方法。
【請求項１５】
前記上辺エッジ候補検出手段が、前記エッジ位置保存メモリに保存された上辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて上辺のエッジ直線の候補となる複数の直線を検出することを特徴とする請求項１２又は１３記載の画像傾き補正方法。
【請求項１６】
前記下辺，左辺，右辺エッジ候補検出手段が、前記エッジ位置保存メモリに保存された４辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて検出された４辺のエッジ直線の候補となる複数の直線と、前記上辺エッジ候補手段で検出された上辺のエッジ直線の候補となる複数の直線とから、下辺，左辺，右辺のエッジ直線の候補となる複数の直線を検出することを特徴とする請求項１５記載の画像傾き補正方法。
【請求項１７】
前記エッジ選択手段が、隣りあう２辺のなす角度が同等な４辺の組み合わせをすべて検出し、検出されたすべての４辺の組み合わせのうち、上辺と下辺の距離と、左辺と右辺の距離との和が最大となる４辺の組み合わせを、前記帳票として妥当な４辺の組み合わせとして選択することを特徴とする請求項１１乃至１６のいずれか一記載の画像傾き補正方法。
【請求項１８】
前記コーナー検出手段が、前記帳票として妥当な４辺の組み合わせとして選択された４辺のエッジ直線における、隣り合う２辺を構成する直線（直線の延長部分である場合を含む）の交点として帳票のコーナー座標を検出することを特徴とする請求項１１乃至１７のいずれか一記載の画像傾き補正方法。
【請求項１９】
前記パラメータ生成手段が、入力画像座標を特定の位置に移動し、特定の倍率で拡大または縮小して、特定の角度回転させたのち、回転中心を出力画像の座標の原点に合わせる演算を行って出力画像を求める変換行列の逆行列によって前記パラメータを生成することを特徴とする請求項１１乃至１８のいずれか一記載の画像傾き補正方法。
【請求項２０】
前記画像補正手段が、前記パラメータを用いて、入力帳票画像の傾きを補正するとともに、帳票画像の外側の部分を除去する補正を行うことを特徴とする請求項１１乃至１９のいずれか一記載の画像傾き補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、紙送り機構を有するスキャナ装置等において、読み取った帳票の傾き補正と帳票領域の正しい切り出し等を行うための、画像傾き補正装置及び画像傾き補正方法に関する。
【背景技術】
【０００２】
紙送り機構を有するスキャナ装置においては、出力データがラスタ画像データであって、帳票画像の外側の領域も同時に読み込まれるため、読み取るべき帳票がスキャナ装置に対して正しく配置されていなかった場合には、出力帳票画像の外縁もラスタ画像データの外縁に対して傾いてしまう。また、スキャナ装置の紙送りが正しく行われない場合には、読み取るべき帳票が正しく配置されていた場合でも、出力帳票画像の外縁がラスタ画像データの外縁に対して傾く場合がある。
【０００３】
そこで、帳票画像の外側の不必要な部分を除去した画像を生成するためには、帳票画像の傾きを補正するとともに、帳票領域のみを切り出すようにする必要があるが、そのためには、帳票画像の４つのコーナーの座標を正確に検出することが必要となる。
従来、帳票の４つのコーナーの座標を検出するために、帳票画像を一旦、画像メモリに格納し、格納された帳票画像に対して主走査方向と副走査方向に探索を行って、帳票画像の上辺，下辺，左辺，右辺における、帳票画像とその外側との境界の点（エッジ点）を複数検出し、それぞれ複数のエッジ点によって定まる直線からなる４辺の交点を求めることによって、帳票画像のコーナー座標を求める方法が知られている。
【０００４】
しかしながら、スキャナ装置の出力データはラスタ画像であって、スキャナ装置からは、帳票画像に対して主走査方向の走査を繰り返しながら、順次、垂直方向に走査位置を移動する副走査を行って得られたデータが送られてくる。そこで、上述の検出方法において、上辺及び下辺のエッジ点を検出するためには、帳票画像を一旦、画像メモリに格納し、副走査方向の探索を行って複数のエッジ点を検出しなければならないが、副走査方向の探索は主走査方向の探索に比べて処理に時間がかかるため、帳票画像のコーナー座標の検出に要する時間が長くなるという問題があった。
また、帳票のコーナーが折れ曲がっていたり、斜めにまたは丸くカットされている場合や、図１７に示すように、帳票のエッジの部分に帳票画像の外側と輝度の差が少ないベタ塗り領域があるような場合には、正しく帳票領域を検出することができないという問題があった。
【０００５】
このような問題を解決するためには、次のような手順によって帳票画像の傾き補正等を行うことが考えられる。
ラスタ画像として入力された帳票画像を主走査方向に複数の範囲に等間隔に分割し、各分割範囲内に存在する帳票部分を表す画素（白画素）数を利用して、帳票の上辺および下辺のエッジ点の位置（エッジ位置）を検出し、帳票画像が、帳票の外側部分を表す画素（黒画素）から白画素に変わる変化点と、白画素から黒画素に変わる変化点とによって、帳票の左辺および右辺のエッジ位置を検出する。そして、同一辺上の複数のエッジ点を通る直線として、複数のエッジ直線候補を求め、エッジ直線候補の傾き情報を利用して、上辺，下辺，左辺，右辺の４辺の組み合わせを生成して、その中から上辺と下辺の距離と、左辺と右辺の距離との和が最大になる４辺の組み合わせを選択し、選択された４辺の直線の交点を求めることによって、帳票のコーナー座標を検出する。そして、帳票のコーナー座標から画像の補正時に必要となるパラメータを求め、このパラメータを用いて帳票画像の傾き補正と帳票領域の切り出しとを行う。
【０００６】
これに対して特許文献１においては、主走査方向を処理単位として、帳票画像の左エッジ点と右エッジ点の座標値を特定するとともに、この処理を副走査方向に繰り返して全ラインに対して実行することによって特定された座標値に基づいて左右のエッジ点の間隔を求め、この間隔が副走査方向に一定となる領域を安定領域とする。そして、安定領域以外の領域に存在する左エッジ点および右エッジ点の座標値に基づいて、基準位置に対する帳票画像の傾き角をを導出する技術が開示されている。
しかしながら、特許文献１においては、帳票画像を複数の範囲に等間隔に分割し、各分割範囲内に存在する帳票部分を表す白画素数を利用して、帳票の上辺，下辺のエッジ位置を検出し、検出されたエッジ位置を用いて複数のエッジ直線候補を求め、エッジ直線候補の傾きを利用して、上辺，下辺，左辺，右辺の４辺の組み合わせを生成して、その中から上辺と下辺の距離と、左辺と右辺の距離との和が最大になる４辺の組み合わせを選択し、選択された４辺の直線を用いて直線の交点を求めて帳票のコーナー座標を検出して、これによって画像の補正時に必要となるパラメータを求め、このパラメータを用いて帳票画像の補正を行うことについては記載されていない。
【０００７】
また特許文献２においては、画像入力装置を通じて入力された用紙の画像データを画像メモリに画素単位で展開し、垂直方向または水平方向の少なくとも一方向からの走査によって、画像メモリの中で、白黒反転している座標を検出する。そして、最初の白黒反転座標を開始位置として、その位置から白黒反転座標が一方向に連続してなる直線を、用紙の外形線の一辺として検出し、その直線の傾き角度を用紙の傾き角として算出する技術が開示されている。
しかしながら、特許文献２においては、帳票画像を複数の範囲に等間隔に分割し、各分割範囲内に存在する帳票部分を表す白画素数を利用して、帳票の上辺，下辺のエッジ位置を検出し、エッジ直線候補の傾きを利用して、上辺，下辺，左辺，右辺の４辺の組み合わせを生成して、その中から上辺と下辺の距離と、左辺と右辺の距離との和が最大になる４辺の組み合わせを選択して、これから求めたパラメータを用いて帳票画像の補正を行うことについては記載されていない。
【０００８】
また特許文献３においては、画像の各走査線の白ラン長を計測し、計測された白ラン長を所定の複数走査線内で比較して、最小の白ラン長とその走査線位置を画像端部点として抽出し、複数の画像端部点を最もよく連結できる直線を画像端部線として抽出して、画像端部線の垂直線からの傾きを算出することによって原稿の傾きを検出する技術が開示されている。
しかしながら、特許文献３においては、エッジ直線候補の傾きを利用して、上辺，下辺，左辺，右辺の４辺の組み合わせを生成して、その中から上辺と下辺の距離と、左辺と右辺の距離との和が最大になる４辺の組み合わせを選択し、選択された４辺の直線を用いて直線の交点を求めて、帳票のコーナー座標を検出することについては記載されていない。
【特許文献１】特開平０７−３３４６１８号公報（図１(a),(b) 、〔０００５〕〜〔０００９〕）
【特許文献２】特開２００５−１６５８２２号公報（図２、〔００２６〕，〔００２７〕）
【特許文献３】特開平０２−１５８８８２号公報（第１図、第５８０頁，左上欄第１９行〜右上欄第１９行）
【非特許文献１】長尾  真：画像認識論，ｐ７２〜７４、コロナ社（昭和５８年）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来の画像傾き補正装置および画像傾き補正方法では、スキャナ装置から出力されるラスタ画像を一旦、画像メモリに格納し、主走査方向の探索と、主走査方向に比べて処理に時間がかかる副走査方向の探索とを行って画像傾きの検出を行うため、帳票画像の傾きの検出に要する時間が長くなるとともに、帳票画像の傾きが小さくなるにつれて検出可能な帳票上辺および下辺のエッジ点の数が減少するため、上辺および下辺の検出のために十分なエッジ点を安定に検出できない。また、上辺および下辺のエッジ検出に際しては、安定領域の検出精度が重要であるが、帳票コーナーが折れ曲がっていたり、斜めまたは丸くカットされていた場合や、帳票のエッジの一部に輝度差が少ないベタ塗り領域がある場合には、正しく安定領域を検出できない。
【００１０】
この発明は上述の事情に鑑みてなされたものであって、紙送り機構を有するスキャナ装置において、副走査方向への探索を必要とせず、主走査方向を処理単位としてラスタ画像の入力と同時に処理を行うことができるため、高速処理が可能であるとともに、帳票画像の傾きが小さい場合でも帳票画像のコーナー座標を精度よく求めて、帳票画像の傾きを補正することができ、さらに、安定領域の検出を必要とせず、また、帳票コーナーが折れ曲がっていたり、斜めまたは丸くカットされていた場合や、帳票のエッジ部分の一部に帳票画像の外側との間で輝度の差が少ないベタ塗り領域がある場合でも正しく帳票画像の外縁を検出することが可能な、画像傾き補正装置および画像傾き補正方法を提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、請求項１記載の発明は画像傾き補正装置に係り、入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成するエッジ位置生成部と、上記生成されたエッジ位置の情報を順次保存するエッジ位置保存メモリと、該エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、上記帳票の４辺のエッジ直線の候補として複数の直線を検出するエッジ候補検出部と、上記検出された複数の直線から生成された４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択するエッジ選択部と、上記選択された４辺の組み合わせから帳票のコーナー座標を検出するコーナー検出部と、上記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成するパラメータ生成部と、上記ラインバッファの情報を順次格納して画像として保存する画像保存メモリと、上記生成されたパラメータを用いて上記画像保存メモリに保存された画像を補正する画像補正部とを備えてなることを特徴としている。
【００１２】
また、請求項２記載の発明は画像傾き補正装置に係り、入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成するエッジ位置生成部と、上記生成されたエッジ位置の情報を順次保存するエッジ位置保存メモリと、該エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、上記帳票の上辺をなすエッジ直線の候補として複数の直線を検出する上辺エッジ候補検出部と、上記エッジ位置保存メモリに保存されたエッジ位置の情報と、上記上辺エッジ候補検出部で検出された上辺のエッジ直線の情報とから、帳票の下辺，左辺，右辺をなすエッジ直線の候補として複数の直線を検出する下辺，左辺，右辺エッジ候補検出部と、上記検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択するエッジ選択部と、上記選択された４辺の組み合わせから帳票のコーナー座標を検出するコーナー検出部と、上記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成するパラメータ生成部と、上記ラインバッファの情報を順次格納して画像として保存する画像保存メモリと、上記生成されたパラメータを用いて上記画像保存メモリに保存された画像を補正する画像補正部とを備えてなることを特徴としている。
【００１３】
また、請求項３記載の発明は、請求項１又は２記載の画像傾き補正装置に係り、上記エッジ位置生成部が、上記ラインバッファに格納された画像データを複数の範囲に等間隔に分割して、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最初に検出されたとき、当該範囲の中点に上辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行い、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最後に検出されたとき、当該範囲の中点を下辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行う上辺・下辺エッジ位置生成部と、画像データをライン方向に探索して帳票部分の画素が帳票幅以上に連続した最初の画素位置によって左辺エッジ点の位置を検出し、最後の画素位置によって右辺エッジ点の位置を検出する処理をラインごとに行う左辺・右辺エッジ位置生成部とからなり、生成された４辺のエッジ位置の情報を上記エッジ位置保存メモリに保存するように構成されていることを特徴としている。
【００１４】
また、請求項４記載の発明は、請求項１又は３記載の画像傾き補正装置に係り、上記エッジ候補検出部が、上記エッジ位置保存メモリに保存された４辺のエッジ位置の位置からＨｏｕｇｈ変換を用いて４辺のエッジ直線の候補となる複数の直線を検出するように構成されていることを特徴としている。
【００１５】
また、請求項５記載の発明は、請求項２又は３記載の画像傾き補正装置に係り、上記上辺エッジ候補検出部が、上記エッジ位置保存メモリに保存された上辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて上辺のエッジ直線の候補となる複数の直線を検出するように構成されていることを特徴としている。
【００１６】
また、請求項６記載の発明は、請求項５記載の画像傾き補正装置に係り、上記下辺，左辺，右辺エッジ候補検出部が、上記エッジ位置保存メモリに保存された４辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて検出された４辺のエッジ直線の候補となる複数の直線と、上記上辺エッジ候補検出部で検出された上辺のエッジ直線の候補となる複数の直線とから、下辺，左辺，右辺のエッジ直線の候補となる複数の直線を検出するように構成されていることを特徴としている。
【００１７】
また、請求項７記載の発明は、請求項１乃至６のいずれか一記載の画像傾き補正装置に係り、上記エッジ選択部が、隣り合う２辺のなす角度が同等な４辺の組み合わせをすべて検出し、検出されたすべての４辺の組み合わせのうち、上辺と下辺の距離と、左辺と右辺の距離との和が最大となる４辺の組み合わせを、上記帳票として妥当な４辺の組み合わせとして選択するように構成されていることを特徴としている。
【００１８】
また、請求項８記載の発明は、請求項１乃至７のいずれか一記載の画像傾き補正装置に係り、上記コーナー検出部が、上記帳票として妥当な４辺の組み合わせとして選択された４辺のエッジ直線における、隣りあう２辺を構成する直線（直線の延長部分である場合を含む）の交点として帳票のコーナー座標を検出するように構成されていることを特徴としている。
【００１９】
また、請求項９記載の発明は、請求項１乃至８のいずれか一記載の画像傾き補正装置に係り、上記パラメータ生成部が、入力画像の座標を特定の位置に移動し、特定の倍率で拡大または縮小して、特定の角度回転させたのち、回転中心を出力画像の座標の原点に合わせる演算を行って出力画像を求める変換行列の逆行列によって上記パラメータを生成するように構成されていることを特徴としている。
【００２０】
また、請求項１０記載の発明は、請求項１乃至９のいずれか一記載の画像傾き補正装置に係り、上記画像補正部が、上記パラメータを用いて、入力帳票画像の傾きを補正するとともに、帳票画像の外側の部分を除去する補正を行うように構成されていることを特徴としている。
【００２１】
また、請求項１１記載の発明は画像傾き補正方法に係り、入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、エッジ位置生成手段によって、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成して、生成されたエッジ位置の情報をエッジ位置保存メモリに順次保存し、エッジ候補検出手段が、上記エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、上記帳票の４辺のエッジ直線の候補として複数の直線を検出し、エッジ選択手段が、上記検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択し、コーナー検出手段が、上記選択された４辺の組み合わせから帳票のコーナー座標を検出し、パラメータ生成手段が、上記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成し、画像補正手段が、上記生成されたパラメータを用いて、上記ラインバッファの情報を順次格納して画像として保存した画像保存メモリの画像を補正することを特徴としている。
【００２２】
また、請求項１２記載の発明は画像傾き補正方法に係り、入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、エッジ位置生成手段によって、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成して、生成されたエッジ位置の情報をエッジ位置保存メモリに順次保存し、上辺エッジ候補検出手段が、上記エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、上記帳票の上辺をなすエッジ直線の候補として複数の直線を検出し、下辺，左辺，右辺エッジ候補検出手段が、上記エッジ位置保存メモリに保存されたエッジ位置の情報と、上記上辺エッジ候補検出手段で検出された上辺のエッジ直線の情報とから、帳票の下辺，左辺，右辺をなすエッジ直線の候補として複数の直線を検出し、エッジ選択手段が、上記検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択し、コーナー検出手段が、上記選択された４辺の組み合わせから帳票のコーナー座標を検出し、パラメータ生成手段が、上記検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成し、画像補正手段が、上記生成されたパラメータを用いて、上記ラインバッファの情報を順次格納して画像として保存した画像保存メモリの画像を補正することを特徴としている。
【００２３】
また、請求項１３記載の発明は、請求項１１又は１２記載の画像傾き補正方法に係り、上記エッジ位置生成手段において、上辺・下辺エッジ位置生成手段が、上記ラインバッファに格納された画像データを複数の範囲に等間隔に分割して、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最初に検出されたとき、当該範囲の中点を上辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行い、各範囲内に存在する帳票部分の画素数が当該範囲内の画素数の１／２以上であることが最後に検出されたとき、当該範囲の中点を下辺エッジ点の位置として画像データの番号を設定する処理をラインごとに行い、左辺・右辺エッジ位置生成手段が、画像データをライン方向に探索して帳票部分の画素が帳票幅以上連続した最初の画素位置によって左辺エッジ点の位置を検出し、最後の画素位置によって右辺エッジ点の位置を検出する処理をラインごとに行って、生成された４辺のエッジ位置の情報を上記エッジ位置保存メモリに保存することを特徴としている。
【００２４】
また、請求項１４記載の発明は、請求項１１又は１３記載の画像傾き補正方法に係り、上記エッジ候補検出手段が、上記エッジ位置保存メモリに保存された４辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて４辺のエッジ直線の候補となる複数の直線を検出することを特徴としている。
【００２５】
また、請求項１５記載の発明は、請求項１２又は１３記載の画像傾き補正方法に係り、上記上辺エッジ候補検出手段が、上記エッジ位置保存メモリに保存された上辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて上辺のエッジ直線の候補となる複数の直線を検出することを特徴としている。
【００２６】
また、請求項１６記載の発明は、請求項１５記載の画像傾き補正方法に係り、上記下辺，左辺，右辺エッジ候補検出手段が、上記エッジ位置保存メモリに保存された４辺のエッジ位置の情報からＨｏｕｇｈ変換を用いて検出された４辺のエッジ直線の候補となる複数の直線と、上記上辺エッジ候補手段で検出された上辺のエッジ直線の候補となる複数の直線とから、下辺，左辺，右辺のエッジ直線の候補となる複数の直線を検出することを特徴としている。
【００２７】
また、請求項１７記載の発明は、請求項１１乃至１６のいずれか一記載の画像傾き補正方法に係り、上記エッジ選択手段が、隣りあう２辺のなす角度が同等な４辺の組み合わせをすべて検出し、検出されたすべての４辺の組み合わせのうち、上辺と下辺の距離と、左辺と右辺の距離との和が最大となる４辺の組み合わせを、上記帳票として妥当な４辺の組み合わせとして選択することを特徴としている。
【００２８】
また、請求項１８記載の発明は、請求項１１乃至１７のいずれか一記載の画像傾き補正方法に係り、上記コーナー検出手段が、上記帳票として妥当な４辺の組み合わせとして選択された４辺のエッジ直線における、隣り合う２辺を構成する直線（直線の延長部分である場合を含む）の交点として帳票のコーナー座標を検出することを特徴としている。
【００２９】
また、請求項１９記載の発明は、請求項１１乃至１８のいずれか一記載の画像傾き補正方法に係り、上記パラメータ生成手段が、入力画像座標を特定の位置に移動し、特定の倍率で拡大または縮小して、特定の角度回転させたのち、回転中心を出力画像の座標の原点に合わせる演算を行って出力画像を求める変換行列の逆行列によって上記パラメータを生成することを特徴としている。
【００３０】
また、請求項２０記載の発明は、請求項１１乃至１９のいずれか一記載の画像傾き補正方法に係り、上記画像補正手段が、上記パラメータを用いて、入力帳票画像の傾きを補正するとともに、帳票画像の外側の部分を除去する補正を行うことを特徴としている。
【発明の効果】
【００３１】
本発明の画像傾き補正装置および画像傾き補正方法では、紙送り機構を有するスキャナ装置において、副走査方向への探索を必要とせず、主走査方向を処理単位としてラスタ画像の入力と同時に処理を行うことができるため、高速処理が可能であるとともに、帳票画像の傾きが小さい場合でも帳票画像のコーナー座標を精度よく求めて、帳票画像の傾きを補正することができる。さらに、帳票コーナーが折れ曲がっていたり、斜めまたは丸くカットされていた場合や、帳票のエッジ部分の一部に帳票画像の外側との間で輝度の差が少ないベタ塗り領域がある場合でも正しく帳票画像の外縁を検出することが可能である。
【発明を実施するための最良の形態】
【００３２】
入力された帳票画像を１走査ラインごとに一時的に格納するラインバッファから読み出された画像を用いて、帳票の上辺および下辺のエッジ点の位置と、帳票の左辺および右辺のエッジ点の位置とを生成するエッジ位置生成部と、生成されたエッジ位置の情報を順次保存するエッジ位置保存メモリと、エッジ位置保存メモリに保存されたエッジ位置の情報を利用して、帳票の４辺のエッジ直線の候補として複数の直線を検出するエッジ候補検出部と、検出された複数の直線から生成される４辺の組み合わせから、帳票として妥当な４辺の組み合わせを選択するエッジ選択部と、選択された４辺の組み合わせから帳票のコーナー座標を検出するコーナー検出部と、検出されたコーナー座標を用いて帳票画像の補正時に必要となるパラメータを生成するパラメータ生成部と、ラインバッファの情報を順次格納して画像として保存する画像保存メモリと、生成されたパラメータを用いて画像保存メモリに保存された画像を補正する画像補正部とを備えて画像傾き補正装置を構成する。
【実施例１】
【００３３】
図１は、本発明の画像傾き補正装置による帳票画像の補正を概念的に説明する図、図２は、本発明の第１実施例である傾き補正装置の構成を示すブロック図、図３は、本実施例の傾き補正装置における処理手順を示すフローチャート、図４は、上辺，下辺エッジ位置生成部の処理手順を示すフローチャート、図５は、上辺，下辺のエッジ位置を生成する際の処理方法を説明する図、図６は、４辺のエッジ位置の書式を例示する図、図７は、上辺のエッジ位置と下辺のエッジ位置の検出を説明するための図、図８は、左辺，右辺エッジ位置生成部の処理手順を示すフローチャート、図９は、エッジ候補検出部の処理手順を示すフローチャート、図１０は、不正な左辺エッジ位置と右辺エッジ位置とを除去する方法を説明する図、図１１は、エッジ選択部の処理手順を示すフローチャート、図１２は、エッジ選択部の選択方法を説明する図、図１３は、コーナー検出部で検出されるコーナー座標を説明する図、図１４は、入力画像から出力画像を算出する方法を説明する図である。
【００３４】
図１は、本発明の画像傾き補正装置によって実現される帳票画像の補正を、概念的に説明するものである。
紙送り機構を有するスキャナにおいて帳票を読み込んだ場合に、例えば帳票がスキャナの正常な入力位置に対して傾いてセットされていたような場合には、図１(a) における帳票ＰＱＲＳで示すように、帳票画像が、入力画像の外縁に対して傾いたものとなる。または、帳票が正しくセットされていた場合でも、スキャナの紙送り機構の不具合によって、スキャナに対して用紙が傾いて送られたような場合も、同様に、帳票画像が入力画像の外縁に対して傾いたものとなる。
本発明の画像傾き補正装置は、このような場合に、帳票画像を入力画像に対して、例えば点Ｐを中心として回転することによって、出力帳票画像が入力画像に対して傾きのない状態に補正することができるとともに、出力帳票画像の外側の領域を除去して、図１(b) に示すように、帳票部分に対応する幅Ｗ，高さＨの領域のみからなる画像を切り出すことができるようにするものである。
【００３５】
次に、図２を用いて、本実施例の傾き補正装置の構成を説明する。この例の傾き補正装置は、紙送り機構を有するスキャナ等の帳票画像入力部２０１と、帳票画像入力部２０１から１走査ラインごとに入力されたラスタ画像を一時的に格納するラインバッファ２０２と、ラインバッファ２０２に一時的に格納されたラスタ画像から上辺，下辺，左辺，右辺の各エッジ点の情報を検出するエッジ位置生成部２０３と、ラインバッファ２０２に一時的に格納されたラスタ画像を順次格納する画像保存メモリ２０４と、エッジ位置生成部２０３で生成されたエッジ点の情報（エッジ位置）を保存するエッジ位置保存メモリ２１０と、エッジ位置保存メモリ２１０に保存されたエッジ位置から各辺を構成する可能性がある直線として複数のエッジ直線候補を検出するエッジ候補検出部２０５と、エッジ候補検出部２０５で検出された各辺のエッジ直線候補から直線の傾きと、向かい合う２直線（上辺と下辺、左辺と右辺）の距離情報を利用して、帳票のエッジ（外縁）として妥当な組み合わせを検出するエッジ選択部２０６と、エッジ選択部２０６で検出された４辺の直線における隣り合う２辺の交点の座標を算出して、帳票のコーナー座標を求めるコーナー検出部２０７と、コーナー検出部２０７で検出されたコーナー座標から画像補正時に必要となるパラメータを算出するパラメータ生成部２０８と、パラメータ生成部２０８で算出されたパラメータを使用して、画像保存メモリ２０４に保存されている画像を補正して、帳票の傾き補正と、帳票の外側部分を取り除く処理とを行う画像補正部２０９とから概略構成されている。
【００３６】
以下、図２に示されたこの例の傾き補正装置における各構成要素の機能について詳細に説明する。
帳票画像入力部２０１には、紙送り機構を有するスキャナから、処理対象となる帳票画像がラスタ画像として１走査ラインごとに順次入力される。なおこの際、帳票の外側部分の輝度は、帳票面中の文字や画像等が存在しない背景の部分の輝度よりも低く取得されているものとする。
ラインバッファ２０２は、帳票画像入力部２０１によって入力された画像データを１走査ラインごとに一時的に格納する。
【００３７】
エッジ位置生成部２０３は、ラインバッファ２０２に格納されているラインごとの画像データから、上辺・下辺エッジ位置生成部２０３a によって、上辺, 下辺のエッジ位置を生成し、左辺・右辺エッジ位置生成部２０３b によって、左辺，右辺のエッジ位置を生成して、エッジ位置保存メモリ２１０に保存する。この際、エッジ位置生成部２０３は、図６の書式でエッジ位置を生成する。なお、上辺・下辺エッジ位置生成部２０３a と左辺・右辺エッジ位置生成部２０３b の具体的動作については、さらに後述する。
画像保存メモリ２０４は、ラインバッファ２０２に一時的に格納されている画像データに基づいて、エッジ位置生成部２０３で各辺のエッジ位置が生成されたのち、ラインバッファ２０２から出力される画像データを順次格納する。
【００３８】
エッジ候補検出部２０５では、エッジ位置保存メモリ２１０から読み出された上辺，下辺，左辺，右辺の各エッジ位置の情報から、既知のＨｏｕｇｈ変換によって各辺のエッジ直線の候補を検出する。各辺のエッジ直線は、この時点では一意に決定されず、直線性が認められるエッジ直線が複数存在する場合には、それらすべてを候補として生成される。なお、Ｈｏｕｇｈ変換の方法についてはさらに後述する。検出された複数のエッジ直線は、エッジ選択部２０６に出力される。
エッジ選択部２０６では、エッジ候補検出部２０５で検出されたエッジ直線から、隣りあう２辺がなす角度が同等（ほぼ直角）な直線の組み合わせを４辺を構成する直線として複数選択し、それらのうち、上辺と下辺の距離と、左辺と右辺の距離の和が最大となる組み合わせを、帳票のエッジ（外縁）として妥当な組み合わせとして選択して、コーナー検出部２０７に出力する。
【００３９】
コーナー検出部２０７では、エッジ選択部２０６から出力された各辺のエッジ直線を利用して、それぞれの直線の交点を求めることによって、帳票のコーナー座標を検出する。検出されたコーナー座標は、パラメータ生成部２０８に出力される。
パラメータ生成部２０８では、コーナー検出部２０７からのコーナー座標の出力によって、画像補正時に必要となるパラメータを生成して、画像補正部２０９に出力する。
画像補正部２０９では、パラメータ生成部２０８で生成されたパラメータを用いて、画像保存メモリ２０４に保存されていた画像データを補正して、補正された帳票画像を出力する。
【００４０】
次に、図２乃至図１１を用いて、この例の傾き補正装置の動作を順次説明する。
まず、図３のフローチャートに示すように、画像入力部２０１からｋ番目の１ライン分の画像データが入力されて、ラインバッファ２０２に一時的に格納される（ステップ３０１）。
次に、エッジ位置生成部２０３では、ラインバッファ２０２に格納された１ライン分の画像データから、上辺，下辺のエッジ位置を生成し（ステップ３０２）、左辺，右辺のエッジ位置を生成する（ステップ３０３）。
【００４１】
次に、図２に示す上辺・下辺エッジ位置生成部２０３a の動作を、図４のフローチャートと、図５，図６，図７とを用いて説明する。
入力されたｋ番目のラインの画像データは、主走査方向に s[pixel] 間隔でＭ箇の範囲に分割され、各範囲を以降の処理単位として処理が行われる（ステップ４０１）。
次に、図５に示すように、範囲ｉ（０≦ｉ≦Ｍ）の中から、輝度Ｔ以上となる白画素数Ａi が検出される（ステップ４０２）。
【００４２】
次に、範囲ｉの中で検出された白画素数Ａi がｓ／２以上であれば、ステップ４０４に進み、ｓ／２未満であればステップ４０２に戻る（ステップ４０３）ことによって、順次次の範囲の白画素数が検出される。
次に、ステップ４０４で、最初に範囲ｉにおいてステップ４０３の条件（Ａi ≧ｓ／２）を満たした場合であれば、図６の表６０１中の上辺エッジ位置と範囲ｉを示す箇所に現在の画像データの番号（Ｋ）が設定され、そうでなければ、図６の表６０１中の下辺エッジ位置と範囲ｉを示す箇所に、現在の画像データの番号（Ｋ）が設定される（ステップ４０５）。表６０１中においては、Ｘ座標が範囲ｉの中点に、上辺と下辺のエッジ位置のＹ座標として、Ｋが設定されたことが示されている。
【００４３】
その後、ステップ４０７に示すように、ステップ４０４，４０５，４０６の処理が全範囲について終了していない場合には、ステップ４０２に戻り、全範囲について終了した場合には、処理を終了する。
このような処理を全ラインについて行うことによって、帳票の上辺および下辺のエッジ位置が生成される。
【００４４】
図７は、上辺のエッジ位置と下辺のエッジ位置の検出を説明するものであって、最初、帳票画像を１走査ライン単位で順次、ラインバッファに一時的に格納したのち、ラインバッファに一時的に格納された画像を主走査方向に所定の閾値、例えば s[pixel] ごとに、範囲１，範囲２，…，範囲Ｍのように、複数の範囲に等間隔に分割し、各範囲内に存在する白画素数が所定の閾値、例えば s/2[pixel] 以上となる最初のライン位置において、その範囲の中心の位置に、帳票の上辺のエッジ位置の情報（●）を生成し、各範囲内に存在する白画素数が所定の閾値 s/2[pixel] 以上となる最後のライン位置において、その範囲の中心の位置に、帳票の下辺のエッジ位置の情報（▼）を生成することが示されている。
【００４５】
特許文献１に示された技術においては、ラインごとに、黒画素から白画素に変わる変化点と、白画素から黒画素に変わる変化点を求めるため、帳票の傾きが小さくなるに従って、上辺および下辺ではエッジ点の検出数が減少し、極端な場合、傾きがないときは検出されるエッジ点の数は「０」である。
これに対して、本発明の場合は、帳票を主走査方向に複数の範囲に分割し、各範囲内に存在する白画素を検出して、検出された白画素数が所定の閾値を超えているとき、その範囲内の中点をエッジ点として検出するので、傾きの大小にかかわらず検出されるエッジ点の位置と、エッジ点の数は同じである。従って本発明の場合は、帳票画像の傾きが小さい場合でも、帳票画像の上辺および下辺のエッジ点を精度良く検出することができる。
【００４６】
次に、左辺・右辺エッジ位置生成部２０３b の動作を、図８のフローチャートと、図６とを用いて説明する。
まず、入力されたｋ番目のラインの画像データを左から探索して、最初に白画素が w[pixel] 以上連続した最初の白画素位置Ｌを検出する（ステップ８０１）。ここで w[pixel] は、帳票幅内に主走査方向に存在する画素数である。
Ｌが存在する場合は、ステップ８０３へ進み、Ｌが存在しない場合は、処理を終了する（ステップ８０２）。
【００４７】
ステップ８０３では、入力されたＫ番目のラインの画像データを左から探索して、最後に白画素が w[pixel] 以上連続した最後の白画素位置Ｒを検出する。
Ｒが存在する場合は、ステップ８０５へ進み、Ｒが存在しない場合は、処理を終了する（ステップ８０４）。
ステップ８０５では、位置Ｌとそのときの画像データの番号とを左辺のエッジ位置として、図６の表６０２中の現在の画像データの番号に対応した箇所に保存して、ステップ８０６に進む。
【００４８】
ステップ８０６では、位置Ｒとそのときの画像データの番号を右辺のエッジ位置として、図６の表６０２中の現在の画像データの番号に対応した箇所に保存する。
このような処理を画像データの全ラインについて行うことによって、左辺および右辺のエッジ位置が生成される。
【００４９】
次に、エッジ候補検出部２０５では、エッジ位置保存メモリ２１０に保存された各辺のエッジ位置から、図９に示されたフローチャートに従って、各辺のエッジ直線の候補を検出する（ステップ３０５）。各辺のエッジ直線は、この時点では一意に決定されず、直線性が認められるエッジ直線が多数存在する場合には、それらすべてがエッジ直線候補として生成される。エッジ直線候補となるべき直線の検出には、既知の技術であるＨｏｕｇｈ変換（非特許文献１参照）を用いる。
以下、図９のフローチャートと図１０とを用いて、直線検出の動作を説明する。
【００５０】
まず、上辺のエッジ位置の情報をＨｏｕｇｈ空間に投票する（ステップ９０１）。ここで使用するＨｏｕｇｈ空間は、次に示す直線の式（１）
ρ＝Ｘｃｏｓθ＋Ｙｓｉｎθ                              ・・・（１）
から変換される（ρ，θ）平面である。ここで、ρは座標の原点（Ｘ＝０，Ｙ＝０）から直線までの距離、θは原点から直線に下ろした垂線とＸ軸とのなす角である。
【００５１】
次に、Ｈｏｕｇｈ空間内の投票数Ｐ以上となるすべての位置を、上辺のエッジ直線候補として生成する（ステップ９０２）。
さらに下辺のエッジ位置の情報をＨｏｕｇｈ空間に投票し（ステップ９０３）、Ｈｏｕｇｈ空間内の投票数Ｐ以上となるすべての位置を、下辺のエッジ直線候補として生成する（ステップ９０４）。
【００５２】
次に、上辺のエッジ位置の情報と下辺のエッジ位置の情報とから、正しい左辺エッジ位置情報を検出する（ステップ９０５）。
これは、図１０において１００１に示すように、左辺のエッジ位置情報には、下辺に属すべき不正な左辺エッジ位置情報が含まれているためである。
これを除外するために、図１０の１００２に示すように、上辺のエッジ位置のうちでＹ座標が最大となるエッジ点と、下辺のエッジ位置のうちでＹ座標が最小になるエッジ点とをそれぞれ基準点として、マージンを付加したエッジ位置１００３と１００４の範囲内にあるエッジ位置のみを、正しい左辺エッジ位置として検出する。
そして、正しい左辺エッジ位置がＨｏｕｇｈ空間に投票される（ステップ９０６）ことによって、Ｈｏｕｇｈ空間内の投票数Ｐ以上となる位置がすべて求められ、これらの位置が左辺のエッジ直線候補として生成される（ステップ９０７）。
【００５３】
次に、左辺の場合と同様に、上辺のエッジ位置と下辺のエッジ位置の情報とから、正しい右辺のエッジ位置情報を検出する（ステップ９０８）。
そして、正しい右辺エッジ位置がＨｏｕｇｈ空間に投票される（ステップ９０９）ことによって、Ｈｏｕｇｈ空間内の投票数Ｐ以上となる位置がすべて求められ、これらの位置が右辺のエッジ直線候補として生成される（ステップ９１０）。
このようにして、各辺のエッジ直線の候補が生成される。
【００５４】
次に、エッジ選択部２０６では、エッジ候補検出部２０５における各辺のエッジ直線候補の検出（ステップ３０５）結果から、隣りあう２辺が交わる角度が同等（ほぼ直角）な４辺によって帳票のエッジ直線の組み合わせが選択される（ステップ３０６）。
そして選択されたすべての帳票のエッジ直線の組み合わせにおいて、上辺と下辺の距離と、左辺と右辺の距離の和が最大となる４辺の組み合わせによって、妥当性のある４辺の組み合わせを検出し（ステップ３０７）、妥当性のある組み合わせが存在するときは、帳票コーナーの検出に進む（ステップ３０８）が、妥当性のある組み合わせが存在しないときは、エラー処理を行って（ステップ３１１）、処理を終了する。
【００５５】
以下、エッジ選択部２０６における、エッジ直線の組み合わせの選択方法を、図１１に示すフローチャートと図１２とを用いて説明する。
まず、変数Ｍａｘを設け、これを０で初期化する（ステップ１１０１）。次に、角度が同等な（誤差±０．５°程度）、４辺の組み合わせをすべて検出する（ステップ１１０２）。ただし、左辺と右辺は上辺と下辺に対して直角であるため、９０°から傾き角度を差し引いて調整する。
【００５６】
次に、４辺の組み合わせが存在するか否かをみて（ステップ１１０３）、組み合わせが存在しない場合は、エラー処理を行って（ステップ１１０９）、処理を終了する。
４辺の組み合わせが存在する場合は、図１２の１２０１に示すように、上辺と下辺の距離Ｄ1 を算出し（ステップ１１０４）、同様に、左辺と右辺の距離Ｄ2 を算出する（ステップ１１０5 ）。
ここで距離Ｄ1 ，Ｄ2 は、図１２の１６０１に示すように、ベタ塗り領域があるときは、ベタ塗り領域を含む値をＤ1 とし、ベタ塗り領域を含まない値をＤ2 として距離を算出するものとする。
【００５７】
次に、変数Ｍａｘと（Ｄ1 ＋Ｄ2 ）の値を比較して（ステップ１１０６）、Ｍａｘの値が小さければ、このときの４辺の組み合わせの情報を保持して、変数Ｍａｘに（Ｄ1 ＋Ｄ2 ）の値を代入し（ステップ１１０７）、変数Ｍａｘの値が小さくなければ、ステップ１１０８へ進む。
ステップ１１０８では、すべての組み合わせについての処理が終了したか否かをみて、終了していなければ、ステップ１１０４へ戻り、すべての組み合わせが終了していれば処理を終了する。
これによって、図１２の１２０２に示すように、ベタ塗り領域を含めた帳票の外縁として、各辺のエッジ直線が選択される。
【００５８】
次に、コーナー検出部２０７では、エッジ選択部２０６で選択された各辺のエッジ直線を用いて、それぞれの直線の交点を求めることによって、図１３に示すように、帳票画像の左上，右上，左下，右下の４点のコーナー座標を検出する（ステップ３０８）。
この際、本発明の傾き補正装置では、各辺のエッジ直線の交点としてコーナー座標を検出するので、エッジ直線の一部が欠けている場合でも、エッジ直線の延長の交点としてコーナー座標を求めることができる。従って、帳票コーナーが折れ曲がっていたり、斜めまたは丸くカットされていた場合でも、正しく帳票画像の外縁を検出することができる。
【００５９】
次に、パラメータ生成部２０８では、コーナー検出部２０７で検出された４点のコーナー座標を基に所定の計算を行って、画像補正部２０９で使用するパラメータを生成する（ステップ３０９）。
この際、画像補正部２０９で使用する変換式は、入力画像座標をＸ、出力画像座標をＵ、変換行列をＡとすると、次の式（２）で表される。
Ｘ＝Ａ−１Ｕ                                              ・・・（２）
（２）式における入力画像座標Ｘ、出力画像座標Ｕ、変換行列Ａは次のようなものである。
【００６０】
2008147976.tif 000003
mx : x方向の移動量,   sx : x方向の倍率,   cx :  回転中心の x座標
my : y方向の移動量,   sy : y方向の倍率,   cx :  回転中心の y座標
θ :  回転角度
【００６１】
上記各式において、ｘは主走査方向の座標を示し、ｙは副走査方向の座標を示すものとする。変換行列Ａにおいて、第１項は、帳票画像の特定位置への移動量を示している。第２項は、帳票画像の拡大，縮小の倍率を示している。第３項は、帳票画像の回転角度を示している。また第４項は、回転中心をｘ，ｙ座標の原点（０，０）に合わせることを示している。
帳票画像の拡大，縮小は、スキャナの特性によって、帳票画像のｘ方向とｙ方向に伸縮が生じるのを補償するためであって、伸縮量が十分少ない場合は、倍率（ｓｘ，ｓｙ）＝（１，１）とする。
この場合、変換行列Ａの逆行列Ａ−１は、次の式（３）で表される。
【００６２】
2008147976.tif 000004
【００６３】
従って、パラメータ生成部２０８では、（２）式 ,（３）式におけるｍｘ，ｍｙ，ｓｘ，ｓｙ，ｃｘ，ｃｙ，θから、６個のパラメータａ１１，ａ１２，ａ１３，ａ２１，ａ２２，ａ２３を求めることになる。
一例として、図１に示すように帳票の傾きを補正し、帳票の外側の不要な部分を除去する場合、回転角度θはエッジ選択部２０６で検出された４辺の直線の傾きから求めることが可能であり、回転中心（ｃｘ，ｃｙ）を左上コーナー座標位置とすると、移動量（ｍｘ，ｍｙ）＝（０，０）となり、倍率（ｓｘ，ｓｙ）＝（１，１）として、パラメータａ１１，ａ１２，ａ１３，ａ２１，ａ２２，ａ２３が算出される。
【００６４】
最後に、画像補正部２０９では、パラメータ生成部２０８で生成されたパラメータを用いて、帳票の傾きを補正し、帳票の外側の不要な部分を除去する補正を行う（ステップ３１０）。
図１に示されたように補正を行う場合、式（２）を用いて、出力画像座標Ｕの次の（４）式に示す範囲に対して出力画像が生成される。
この際、出力画像の各画素の値に対して、線形補間法等の既知の補間技術を適用して変換を行うことによって、滑らかに補正を行うことが可能である。
０≦ｕ≦Ｗ，  ０≦ｖ≦Ｈ                                ・・・（４）
ここで、出力画像Ｕ＝（ｕ，ｖ）であって、ｕはＸ方向の出力座標、ｖはＹ方向の出力座標である。また、（４）式のＷは帳票の幅、Ｈは帳票の高さである。
これによって、帳票画像の外側の不要な領域が除去される。なお、帳票画像の傾き補正の処理と、帳票画像の外側の不要な領域の除去の処理とは、画像補正部２０９において並行して行われるものである。
【００６５】
以下、入力画像から出力画像を算出する方法について、図１４を用いてさらに詳細に説明する。
いま、図１４(a) に示す座標系ｘ，ｙにおける入力画像上において、帳票がＰ，Ｑ，Ｒ，Ｓで示す領域に存在するとき、図１４ (b)に示す座標系ｕ，ｖにおいて、帳票を示す出力画像がＡ，Ｂ，Ｃ，Ｄで示す領域を占めるものとする。
上述の式（４）は、Ａ，Ｂ，Ｃ，Ｄで囲まれた領域を表すものであり、この領域は、帳票の外側を除いた帳票部分となる。すなわち、出力画像は、横幅がＷ、縦幅（高さ）がＨのサイズを持つものとして生成される。なお、横幅Ｗ，縦幅Ｈは、四つの帳票コーナーから算出することができる。
【００６６】
具体的に説明すれば、出力画像の原点の座標Ａ（０，０）に対応する入力画像の座標は、式（２）にＡの座標（０，０）を代入することによって算出され、そのときの座標値が図１４(a) のＰ点となる。同様に、Ｂ，Ｃ，Ｄについても、式（２）から対応する入力画像中の座標を算出することができ、それぞれ図１４(a) のＱ，Ｒ，Ｓの各点となる。
このような演算を、出力画像のＡ，Ｂ，Ｃ，Ｄで囲まれた領域に含まれる（Ｗ×Ｈ）箇のすべての座標に対して行えば、図１４(b) に示すように、傾きが補正され、帳票の外側が除去された出力画像（補正画像）が生成される。
【００６７】
この際、式（２）で算出される入力画像中の座標は、小数点を含む座標になる。一方、入力画像はディジタル画像であって離散化されているので、入力画像の座標は整数となる。従って、出力画像の座標と入力画像の座標とを対応付けようとしても、誤差が生じることになる。
このような誤差を避けるための最も簡単な方法は、小数点以下を四捨五入して、整数化された入力画像側の座標の輝度を出力画像側の輝度とする方法であるが、この場合は、罫線等のエッジ付近がギザギザになる傾向がある。これに対しては、周知の線形補間法等の補間技術を用いて補間することによって、滑らかに補正することが可能になる。
【００６８】
以上、説明したように、この例の傾き補正装置によれば、紙送り機構を有するスキャナ装置において、副走査方向への探索を必要とせず、主走査方向を処理単位としてラスタ画像の入力と同時に処理を行うことができるため、高速処理が可能であるとともに、帳票画像の傾きが小さい場合でも帳票画像のコーナー座標を精度よく求めて、帳票画像の傾きを補正することができる。さらに、安定領域の検出を必要とせず、また、帳票コーナーが折れ曲がっていたり、斜めまたは丸くカットされていた場合や、帳票のエッジの一部に帳票画像の外側との間で輝度の差が少ないベタ塗り領域があるような場合でも正しく帳票画像の外縁を検出することができる。
【実施例２】
【００６９】
図１５は、本発明の第２実施例である傾き補正装置の構成を示すブロック図、図１６は、本実施例の傾き補正装置における処理手順を示すフローチャートである。
この例の傾き補正装置の構成は、図２に示された第１実施例の傾き補正装置とほぼ同様であるが、エッジ候補検出部２０５に代えて下辺・左辺・右辺エッジ候補検出部２１２を備えるとともに、エッジ位置保存メモリ２１０と下辺・左辺・右辺エッジ候補検出部２１２との間に別に上辺エッジ候補検出部２１１を備えた点が異なっている。
また、この例の傾き補正装置の処理手順は、図３に示された第１実施例の傾き補正装置の場合とほぼ同様であるが、ステップ３０３とステップ３０４の間にステップ３１２を有し、ステップ３０４とステップ３０６の間に、ステップ３０５に代えてステップ３１４を有するとともに、ステップ３１２とステップ３１４の間にステップ３１３を有する点が異なっている。
【００７０】
以下、この例の傾き補正装置の構成において、特に第１実施例の場合と異なる部分について詳細に説明する。
上辺エッジ候補検出部２１１は、エッジ位置生成部２０３で生成された上辺のエッジ直線の情報を、エッジ位置保存メモリ２１０を介して検出して、下辺・左辺・右辺エッジ候補検出部２１２に伝達する。
下辺・左辺・右辺エッジ候補検出部２１２では、エッジ位置保存メモリ２１０に保存された下辺・左辺・右辺のエッジ位置の情報を用いて、、下辺・左辺・右辺のエッジ直線の候補を検出し、上辺エッジ候補検出部２１１で検出された上辺のエッジ直線の情報とともに、エッジ選択部２０６に伝達する。
【００７１】
次に、この例の傾き補正装置の動作について説明する。この例の傾き補正装置における、ステップ３０１〜３１０の動作は第１実施例の場合と同様である。以下においては、特に第１実施例の場合と異なる部分について詳細に説明する。
ステップ３１２においては、帳票の上辺が必ず取得される画像データの番号Ｇを予め定めておくことによって、入力された画像データの番号（入力ライン数で示される）がＧになると、上辺のエッジ直線検出が起動される。なおＧの値は、あまり大きな値とする必要はなく、実際上生じ得る傾きに応じて、例えば傾きが１０°程度の範囲内の画像データの番号とすればよい。
ステップ３１３では、現時点で生成されている上辺のエッジ位置を用いて、上辺のエッジ直線候補の検出が先行して行われる。
ステップ３１４においては、ステップ３１３による上辺のエッジ直線候補の検出が行われた後に、下辺・左辺・右辺のエッジ直線候補の検出を行う。
【００７２】
前述の第１実施例の傾き補正装置では、画像データの全ラインに対してエッジ位置を生成してからエッジ直線候補の検出を行っていた。この例の傾き補正装置では、上辺以外のエッジ位置は、画像データのラインがすべて入力されるまで生成が完了しないが、上辺のエッジ位置は、ある程度の画像データのラインが入力された時点で完了していることを利用して、上辺のエッジ位置の生成が完了した時点で、上辺のエッジ直線候補の検出を先行して行うようにしたので、第１実施例の場合と比べて全体の処理時間を短縮することが可能となる。
【００７３】
以上、この発明の実施例を図面により詳述してきたが、具体的な構成はこの実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。例えば、傾き補正を行うべき帳票の大きさや縦横の形状比等は任意である。
【産業上の利用可能性】
【００７４】
この発明は、紙送り機構を有するスキャナ装置として、ファクシミリ装置のように光センサに対して帳票を移動させる形式のものでもよく、または複写機のように帳票を固定して光センサを移動させる形式のものでも利用可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の画像傾き補正装置による帳票画像の補正を概念的に説明する図である。
【図２】本発明の第１実施例である傾き補正装置の構成を示すブロック図である。
【図３】同実施例の傾き補正装置における処理手順を示すフローチャートである。
【図４】上辺，下辺エッジ位置生成部の処理手順を示すフローチャートである。
【図５】上辺，下辺のエッジ位置を生成する際の処理方法を説明する図である。
【図６】４辺のエッジ位置の書式を例示する図である。
【図７】上辺のエッジ位置と下辺のエッジ位置の検出を説明するための図である。
【図８】左辺，右辺エッジ位置生成部の処理手順を示すフローチャートである。
【図９】エッジ候補検出部の処理手順を示すフローチャートである。
【図１０】不正な左辺エッジ位置と右辺エッジ位置とを除去する方法を説明する図である。
【図１１】エッジ選択部の処理手順を示すフローチャートである。
【図１２】エッジ選択部の選択方法を例示する図である。
【図１３】コーナー検出部で検出されるコーナー座標を例示する図である。
【図１４】入力画像から出力画像を算出する方法を説明する図である。
【図１５】本発明の第２実施例である傾き補正装置の構成を示すブロック図である。
【図１６】同実施例の傾き補正装置の処理手順を示すフローチャートである。
【図１７】帳票エッジ付近のベタ塗りを例示する図である。
【符号の説明】
【００７６】
２０１  帳票画像入力部（帳票画像入力手段）
２０２  ラインバッファ
２０３  エッジ位置生成部（エッジ位置生成手段）
２０３a   上辺・下辺エッジ位置生成部
２０３b   左辺・右辺エッジ位置生成部
２０４  画像保存メモリ
２０５  エッジ候補検出部（エッジ候補検出手段）
２０６  エッジ選択部（エッジ選択手段）
２０７  コーナー検出部（コーナー検出手段）
２０８  パラメータ生成部（パラメータ生成手段）
２０９  画像補正部（画像補正手段）
２１０  エッジ位置保存メモリ
２１１  上辺エッジ候補検出部（上辺エッジ候補検出手段）
２１２  下辺・左辺・右辺エッジ候補検出部（下辺・左辺・右辺エッジ候補検出手段）
【図１】
2008147976.tif 000005
【図２】
2008147976.tif 000006
【図３】
2008147976.tif 000007
【図４】
2008147976.tif 000008
【図５】
2008147976.tif 000009
【図６】
2008147976.tif 000010
【図７】
2008147976.tif 000011
【図８】
2008147976.tif 000012
【図９】
2008147976.tif 000013
【図１０】
2008147976.tif 000014
【図１１】
2008147976.tif 000015
【図１２】
2008147976.tif 000016
【図１３】
2008147976.tif 000017
【図１４】
2008147976.tif 000018
【図１５】
2008147976.tif 000019
【図１６】
2008147976.tif 000020
【図１７】
2008147976.tif 000021