(57)【要約】【課題】搬送路を備えた画像読取装置にて、搬送ローラー等の搬送力を超える原稿、または、厚みもしくは形状がいびつな原稿を読み取る際に、原稿への搬送ローラーの力の加わり方によって読取後半に発生しやすい原稿画像の傾きである累積スキューを効率的に補正することができる画像処理装置、画像処理方法、および、プログラムを提供することを課題とする。【解決手段】本発明は、搬送路を備えた画像読取装置にて読み取られた読取画像に含まれる原稿画像のエッジを検出し、エッジスキュー発生位置候補を検出し、コンテンツスキュー発生位置候補を検出し、エッジスキュー発生位置候補およびコンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出し、搬送方向に対して累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する。【選択図】図１
2017225090.tif 000002
【特許請求の範囲】
【請求項１】
搬送路を備えた画像読取装置にて読み取られた読取画像の読取画像データを取得する画像取得手段と、
前記読取画像に含まれる原稿画像のエッジを検出し、前記エッジの最長直線部分を延長した近似直線を取得するエッジ検出手段と、
原稿の搬送方向の前記近似直線と、当該近似直線の前記最長直線部分を含む前記エッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出するエッジスキュー検出手段と、
前記原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出するコンテンツ検出手段と、
前記搬送方向の近似直線と前記方向特定コンテンツとの角度である前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前記前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出するコンテンツスキュー検出手段と、
前記エッジスキュー発生位置候補および前記コンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出する累積スキュー検出手段と、
前記搬送方向に対して前記累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する累積スキュー補正手段と、
を備えたことを特徴とする、画像処理装置。
【請求項２】
前記コンテンツスキュー検出手段は、
前記搬送方向の近似直線と矩形状の図形領域の辺との角度である前記前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該矩形状の図形領域の後方にある前記方向特定コンテンツとの角度である前記後方角度が大きく、且つ、前記前方角度が、最初に前記所定角度以上となる当該近似直線上の位置を前記コンテンツスキュー発生位置候補として検出する、請求項１に記載の画像処理装置。
【請求項３】
前記コンテンツスキュー検出手段は、
前記搬送方向の近似直線と罫線との角度である前記前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該罫線の後方にある前記方向特定コンテンツとの角度である前記後方角度が大きく、且つ、前記前方角度が、最初に前記所定角度以上となる当該近似直線上の位置を前記コンテンツスキュー発生位置候補として検出する、請求項１に記載の画像処理装置。
【請求項４】
前記コンテンツスキュー検出手段は、
前記搬送方向の近似直線と文字列との角度である前記前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該文字列の後方にある前記方向特定コンテンツとの角度である前記後方角度が大きく、且つ、前記前方角度が、最初に前記所定角度以上となる当該近似直線上の位置を前記コンテンツスキュー発生位置候補として検出する、請求項１に記載の画像処理装置。
【請求項５】
前記コンテンツ検出手段は、
前記原稿画像中の前記文字列を検出し、前記文字列を回転させながら、前記搬送方向の近似直線に平行な線分および水平な線分から構成される前記文字列の外接矩形の面積を算出し、前記面積が最小になる回転角度を特定することで、前記搬送方向の近似直線と前記文字列との前記角度を検出する、請求項４に記載の画像処理装置。
【請求項６】
前記コンテンツ検出手段は、
前記原稿画像中の前記文字列を検出し、前記文字列を回転させながら、前記文字列に対してＯＣＲ処理を行い、文字認識精度が最も高くなる回転角度を特定することで、前記搬送方向の近似直線と前記文字列との前記角度を検出する、請求項４に記載の画像処理装置。
【請求項７】
前記累積スキュー検出手段は、
前記エッジスキュー発生位置候補と前記コンテンツスキュー発生位置候補とが存在し、且つ、両検出位置間の距離が所定距離以内の場合、前記搬送方向に対して後方にある候補を、前記累積スキュー発生位置として検出する、請求項１から６のいずれか一つに記載の画像処理装置。
【請求項８】
前記累積スキュー検出手段は、
前記エッジスキュー検出手段により前記エッジスキュー発生位置候補が検出され、且つ、前記コンテンツ検出手段により前記方向特定コンテンツが検出されなかった場合、前記エッジスキュー発生位置候補を、前記累積スキュー発生位置として検出する、請求項１から６のいずれか一つに記載の画像処理装置。
【請求項９】
前記累積スキュー検出手段は、
前記エッジスキュー検出手段により前記エッジスキュー発生位置候補が検出され、且つ、前記コンテンツスキュー検出手段により前記コンテンツスキュー発生位置候補が検出されなかった場合、前記エッジスキュー発生位置候補を、前記累積スキュー発生位置として検出する、請求項１から６のいずれか一つに記載の画像処理装置。
【請求項１０】
前記累積スキュー検出手段は、
前記エッジスキュー検出手段により前記エッジスキュー発生位置候補が検出されず、且つ、前記コンテンツスキュー検出手段により前記コンテンツスキュー発生位置候補が検出された場合、前記コンテンツスキュー発生位置候補を、前記累積スキュー発生位置として検出する、請求項１から６のいずれか一つに記載の画像処理装置。
【請求項１１】
前記累積スキュー補正手段は、
前記原稿後方画像を二つの扇形で囲まれた領域とみなし、当該扇形の弧を前記搬送方向の近似直線上に歪み補正し、前記累積スキュー補正画像データを取得する、請求項１から１０のいずれか一つに記載の画像処理装置。
【請求項１２】
前記読取画像に対する全ての前記近似直線の傾きを検出することで、前記読取画像に対する前記原稿画像の傾きである先端スキューを検出する先端スキュー検出手段と、
前記先端スキューに基づいて、前記原稿画像を正立補正する先端スキュー補正手段と、
を更に備えた、請求項１から１１のいずれか一つに記載の画像処理装置。
【請求項１３】
前記累積スキュー補正手段は、
前記原稿後方画像を二つの扇形で囲まれた領域とみなし、当該扇形の弧を前記搬送方向の近似直線上に幾何変換により歪み補正し、前記累積スキュー補正画像データを取得する、請求項１から１０のいずれか一つに記載の画像処理装置。
【請求項１４】
前記累積スキュー補正手段は、
前記原稿後方画像を二つの扇形で囲まれた領域とみなし、短い方の弧を伸長させるように当該扇形の弧を前記搬送方向の近似直線上に幾何変換により歪み補正し、前記累積スキュー補正画像データを取得する、請求項１から１０のいずれか一つに記載の画像処理装置。
【請求項１５】
前記累積スキュー補正手段は、
前記原稿後方画像をレンズ歪み補正により歪み補正し、前記累積スキュー補正画像データを取得する、請求項１から１０のいずれか一つに記載の画像処理装置。
【請求項１６】
前記コンテンツ検出手段は、
更に、ハフ変換により前記コンテンツの直線要素を抽出する、請求項１から１５のいずれか一つに記載の画像処理装置。
【請求項１７】
搬送路を備えた画像読取装置にて読み取られた読取画像の読取画像データを取得する画像取得ステップと、
前記読取画像に含まれる原稿画像のエッジを検出し、前記エッジの最長直線部分を延長した近似直線を取得するエッジ検出ステップと、
原稿の搬送方向の前記近似直線と、当該近似直線の前記最長直線部分を含む前記エッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出するエッジスキュー検出ステップと、
前記原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出するコンテンツ検出ステップと、
前記搬送方向の近似直線と前記方向特定コンテンツとの角度である前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前記前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出するコンテンツスキュー検出ステップと、
前記エッジスキュー発生位置候補および前記コンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出する累積スキュー検出ステップと、
前記搬送方向に対して前記累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する累積スキュー補正ステップと、
を含むことを特徴とする、画像処理方法。
【請求項１８】
搬送路を備えた画像読取装置にて読み取られた読取画像の読取画像データを取得する画像取得ステップと、
前記読取画像に含まれる原稿画像のエッジを検出し、前記エッジの最長直線部分を延長した近似直線を取得するエッジ検出ステップと、
原稿の搬送方向の前記近似直線と、当該近似直線の前記最長直線部分を含む前記エッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出するエッジスキュー検出ステップと、
前記原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出するコンテンツ検出ステップと、
前記搬送方向の近似直線と前記方向特定コンテンツとの角度である前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前記前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出するコンテンツスキュー検出ステップと、
前記エッジスキュー発生位置候補および前記コンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出する累積スキュー検出ステップと、
前記搬送方向に対して前記累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する累積スキュー補正ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、および、プログラムに関する。
【背景技術】
【０００２】
従来から、スキャン画像に対して歪み補正を行う技術が開示されている。
【０００３】
ここで、本をフラットベッドスキャナに押し当てた際の歪みを検出し、ページ外形の直線部分と曲線部分との境界点を検出することより、歪み発生部分を補正する技術が開示されている（特許文献１を参照）。
【０００４】
また、本をオーバーヘッドスキャナで読み取った際の画像に対して、文書の形状と内容とを考慮した補正メッシュを作り、それを矩形に均等に並ぶように補正することで歪みを除去する技術が開示されている（特許文献２を参照）。
【０００５】
また、ＦＡＸでの原稿搬送時の歪みを、分割位置および回転角度に罫線のみを用いて、画像を搬送方向に複数に分割し、それぞれを回転させることで補正する技術が開示されている（特許文献３を参照）。
【０００６】
また、ＡＤＦスキャナで読み取った画像に対して、原稿エッジを検出し、それぞれのエッジを複数の直線で近似し、直線同士の角度が一定以上変化した地点を歪みの発生位置とし、歪みの発生前後をそれぞれ矩形と仮定して、それぞれの矩形の配置を揃えることで画像の歪みを補正する技術が開示されている（特許文献４を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−０４８６３３号公報
【特許文献２】特開２０１５−１０４１２７号公報
【特許文献３】特開平９−０９１３７６号公報
【特許文献４】特開２０１５−１９８３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の画像補正装置（特許文献１等）においては、原稿の搬送時に生じる緩やかな歪みを必要な部分だけ変形させて補正することができないという問題点を有していた。
【０００９】
本発明は、上記問題点に鑑みてなされたもので、搬送路を備えた画像読取装置にて、搬送ローラー等の搬送力を超える原稿、または、厚みもしくは形状がいびつな原稿を読み取る際に、原稿への搬送ローラーの力の加わり方によって読取後半に発生しやすい原稿画像の傾きである累積スキューを効率的に補正することができる画像処理装置、画像処理方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
このような目的を達成するため、本発明に係る画像処理装置は、搬送路を備えた画像読取装置にて読み取られた読取画像の読取画像データを取得する画像取得手段と、前記読取画像に含まれる原稿画像のエッジを検出し、前記エッジの最長直線部分を延長した近似直線を取得するエッジ検出手段と、原稿の搬送方向の前記近似直線と、当該近似直線の前記最長直線部分を含む前記エッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出するエッジスキュー検出手段と、前記原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出するコンテンツ検出手段と、前記搬送方向の近似直線と前記方向特定コンテンツとの角度である前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前記前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出するコンテンツスキュー検出手段と、前記エッジスキュー発生位置候補および前記コンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出する累積スキュー検出手段と、前記搬送方向に対して前記累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する累積スキュー補正手段と、を備えたことを特徴とする。
【００１１】
また、本発明に係る画像処理方法は、搬送路を備えた画像読取装置にて読み取られた読取画像の読取画像データを取得する画像取得ステップと、前記読取画像に含まれる原稿画像のエッジを検出し、前記エッジの最長直線部分を延長した近似直線を取得するエッジ検出ステップと、原稿の搬送方向の前記近似直線と、当該近似直線の前記最長直線部分を含む前記エッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出するエッジスキュー検出ステップと、前記原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出するコンテンツ検出ステップと、前記搬送方向の近似直線と前記方向特定コンテンツとの角度である前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前記前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出するコンテンツスキュー検出ステップと、前記エッジスキュー発生位置候補および前記コンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出する累積スキュー検出ステップと、前記搬送方向に対して前記累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する累積スキュー補正ステップと、を含むことを特徴とする。
【００１２】
また、本発明に係るプログラムは、搬送路を備えた画像読取装置にて読み取られた読取画像の読取画像データを取得する画像取得ステップと、前記読取画像に含まれる原稿画像のエッジを検出し、前記エッジの最長直線部分を延長した近似直線を取得するエッジ検出ステップと、原稿の搬送方向の前記近似直線と、当該近似直線の前記最長直線部分を含む前記エッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出するエッジスキュー検出ステップと、前記原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出するコンテンツ検出ステップと、前記搬送方向の近似直線と前記方向特定コンテンツとの角度である前方角度より、前記搬送方向の近似直線と前記搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前記前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出するコンテンツスキュー検出ステップと、前記エッジスキュー発生位置候補および前記コンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出する累積スキュー検出ステップと、前記搬送方向に対して前記累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する累積スキュー補正ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１３】
この発明によれば、ハードウェア的にスキューの発生を防ぐことができた場合と同等の結果になるよう補正することができる。また、この発明によれば、既存のハードウェアにて読み取られた画像への適用が可能であるため、ハードウェアの改良を必要としない。
【００１４】
したがって、この発明によれば、強制的にスキューの発生を防ぐために一定サイズの給紙経路を設ける、または、常に複数の搬送ローラーで搬送し切るように搬送ローラーを増やす等のハードウェアの変更を必要とせずに、累積スキューを補正する柔軟性の高い方法を提供することができる。
【００１５】
すなわち、この発明によれば、搬送装置の大型化および用紙サイズの制限等を生じるハードウェアの設計変更を必要としないので、各種ハードウェアにより読み取られた画像に対応できる。
【図面の簡単な説明】
【００１６】
【図１】図１は、本実施形態に係る画像処理装置の構成の一例を示す機能ブロック図である。
【図２】図２は、本実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。
【図３】図３は、本実施形態の画像処理装置における処理の一例を示すフローチャートである。
【図４】図４は、本実施形態における先端スキュー検出補正処理の一例を示す図である。
【図５】図５は、本実施形態におけるエッジスキュー検出処理の一例を示す図である。
【図６】図６は、本実施形態におけるコンテンツスキュー検出処理の一例を示す図である。
【図７】図７は、本実施形態におけるコンテンツスキュー検出処理の一例を示す図である。
【図８】図８は、本実施形態におけるコンテンツスキュー検出処理の一例を示す図である。
【図９】図９は、本実施形態における累積スキュー発生の一例を示す図である。
【図１０】図１０は、本実施形態における累積スキュー発生の一例を示す図である。
【図１１】図１１は、本実施形態における原稿後方画像の一例を示す図である。
【図１２】図１２は、本実施形態における累積スキュー補正処理の一例を示す図である。
【図１３】図１３は、本実施形態における累積スキュー検出処理の一例を示す図である。
【図１４】図１４は、本実施形態における累積スキュー検出処理の一例を示す図である。
【図１５】図１５は、本実施形態における累積スキュー検出処理の一例を示す図である。
【図１６】図１６は、本実施形態における累積スキュー検出処理の一例を示す図である。
【図１７】図１７は、本実施形態における累積スキュー検出処理の一例を示す図である。
【発明を実施するための形態】
【００１７】
以下に、本発明に係る画像処理装置、画像処理方法、および、プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１８】
［本実施形態の構成］
以下、本発明の実施形態に係る画像処理装置１００の構成の一例について図１および図２を参照して説明し、その後、本実施形態の処理等について詳細に説明する。図１は、本実施形態に係る画像処理装置１００の構成の一例を示す機能ブロック図である。
【００１９】
但し、以下に示す実施形態は、本発明の技術思想を具体化するための画像処理装置１００を例示するものであって、本発明をこの画像処理装置１００に特定することを意図するものではなく、請求の範囲に含まれるその他の実施形態の画像処理装置１００にも等しく適用し得るものである。
【００２０】
また、本実施形態で例示する画像処理装置１００における機能分散の形態は以下に限られず、同様の効果や機能を奏し得る範囲において、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００２１】
図１に示すように、画像処理装置１００は、概略的に、制御部１０２と、記憶部１０６と、を備えて構成される。また、これら画像処理装置１００の各部は任意の通信路を介して通信可能に接続されている。
【００２２】
ここで、本実施形態の画像処理装置１００は、画像読取装置２００（図１では省略）と接続して構成されてもよい。また、画像処理装置１００は、筐体内に画像読取装置２００を備えていてもよい。
【００２３】
また、画像読取装置２００は、手挿入給紙方式（連送給紙機構（ＣＤＦ）方式）のドキュメントスキャナ装置、または、自動給紙機構方式（ＡＤＦ方式）のドキュメントスキャナ装置等の搬送路を備えた画像読取装置２００であってもよい。
【００２４】
ここで、画像処理装置１００は、更に、入出力部１１２（図１では省略）を備えて構成されてもよい。ここで、入出力部１１２は、データの入出力（Ｉ／Ｏ）を行う。
【００２５】
また、入出力部１１２は、例えば、キー入力部、タッチパネル、コントロールパッド（例えば、タッチパッド、および、ゲームパッド等）、マウス、キーボード、および／または、マイク等の入力部であってもよい。
【００２６】
また、入出力部１１２は、アプリケーション等の表示画面を表示する表示部（例えば、液晶または有機ＥＬ等から構成されるディスプレイ、モニタ、および、タッチパネル等）、および／または、音声情報を音声として出力する音声出力部（例えば、スピーカ等）等の出力部であってもよい。
【００２７】
また、画像処理装置１００は、更に、インターフェース部１０８を備えていてもよい。ここで、画像処理装置１００は、インターフェース部１０８を介して、外部装置（例えば、画像読取装置２００等）と相互に通信可能に接続されていてもよい。
【００２８】
また、インターフェース部１０８は、通信回線および／または電話回線等に接続されるアンテナおよび／またはルータ等の通信装置に接続されるインターフェース（ＮＩＣ等）であってもよく、画像処理装置１００とネットワークとの間における通信制御を行う通信インターフェースであってもよい。
【００２９】
ここで、ネットワークは、有線通信および／または無線通信（例えば、ＷｉＦｉ等）の遠隔通信等を含む。また、インターフェース部１０８は、画像読取装置２００等と制御部１０２との間の入出力制御を行う入出力インターフェースであってもよい。
【００３０】
なお、制御部１０２は、インターフェース部１０８、および、入出力部１１２を制御してもよい。
【００３１】
記憶部１０６は、各種のデータベース、テーブル、および／または、ファイル（画像データファイル１０６ａ等）などを格納する。また、記憶部１０６は、各種アプリケーションプログラム（例えば、ユーザアプリケーション等）を記憶していてもよい。
【００３２】
また、記憶部１０６は、ストレージ手段であり、例えばＲＡＭ・ＲＯＭ等のメモリ、ハードディスクのような固定ディスク装置、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フレキシブルディスク、および／または、光ディスク等の有形の記憶装置、または、記憶回路を用いることができる。
【００３３】
記憶部１０６には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に命令を与え各種処理を行うためのコンピュータプログラム等が記録されている。
【００３４】
これら記憶部１０６の各構成要素のうち、画像データファイル１０６ａは、画像データを記憶する。ここで、画像データは、画像読取装置２００にて読み取られた読取画像データ、原稿画像データ、または、累積スキュー補正画像データ等であってもよい。
【００３５】
また、制御部１０２は、画像処理装置１００を統括的に制御するＣＰＵ、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、および／または、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍｉｎｇ  Ｇａｔｅ  Ａｒｒａｙ）等を含む有形のコントローラ、または、制御回路から構成されてもよい。
【００３６】
制御部１０２は、制御プログラムと各種の処理手順等を規定したプログラムと所要データとを格納するための内部メモリを有し、これらプログラムに基づいて種々の処理を実行するための情報処理を行う。
【００３７】
ここで、制御部１０２は、大別して、画像取得部１０２ａ、エッジ検出部１０２ｂ、先端スキュー検出部１０２ｃ、先端スキュー補正部１０２ｄ、エッジスキュー検出部１０２ｅ、コンテンツ検出部１０２ｆ、コンテンツスキュー検出部１０２ｇ、累積スキュー検出部１０２ｈ、累積スキュー補正部１０２ｉ、および、画像出力部１０２ｊを備える。
【００３８】
画像取得部１０２ａは、画像データを取得する。ここで、画像取得部１０２ａは、搬送路を備えた画像読取装置２００にて読み取られた読取画像の読取画像データを取得してもよい。また、画像取得部１０２ａは、画像データを画像データファイル１０６ａに格納してもよい。
【００３９】
エッジ検出部１０２ｂは、読取画像に含まれる原稿画像のエッジを検出する。ここで、エッジ検出部１０２ｂは、検出したエッジの最長直線部分を延長した近似直線を取得してもよい。
【００４０】
また、エッジ検出部１０２ｂは、検出したエッジに基づいて、読取画像から原稿画像を特定し、原稿画像データを取得してもよい。
【００４１】
先端スキュー検出部１０２ｃは、読取画像に対する原稿画像の傾きである先端スキューを検出する。ここで、先端スキューは、給紙開始時点で角度が付いてしまう傾きであってもよい。
【００４２】
また、先端スキュー検出部１０２ｃは、読取画像に対する、原稿画像の全ての近似直線の傾きを検出することで、読取画像に対する原稿画像の傾きである先端スキューを検出してもよい。
【００４３】
先端スキュー補正部１０２ｄは、先端スキューに基づいて、原稿画像を正立補正する。
【００４４】
エッジスキュー検出部１０２ｅは、原稿の搬送方向の近似直線と、当該近似直線の最長直線部分を含むエッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出する。
【００４５】
コンテンツ検出部１０２ｆは、原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出する。
【００４６】
ここで、コンテンツ検出部１０２ｆは、原稿画像中の文字列を検出し、文字列を回転させながら、原稿の搬送方向の近似直線に平行な線分および水平な線分から構成される文字列の外接矩形の面積を算出し、面積が最小になる回転角度を特定することで、原稿の搬送方向の近似直線と文字列との角度を検出してもよい。
【００４７】
また、コンテンツ検出部１０２ｆは、原稿画像中の文字列を検出し、文字列を回転させながら、文字列に対してＯＣＲ処理を行い、文字認識精度が最も高くなる回転角度を特定することで、原稿の搬送方向の近似直線と文字列との角度を検出してもよい。
【００４８】
また、コンテンツ検出部１０２ｆは、ハフ変換によりコンテンツの直線要素を抽出してもよい。
【００４９】
コンテンツスキュー検出部１０２ｇは、原稿の搬送方向の近似直線と方向特定コンテンツとの角度である前方角度より、原稿の搬送方向の近似直線と搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出する。
【００５０】
また、コンテンツスキュー検出部１０２ｇは、原稿の搬送方向の近似直線と矩形状の図形領域の辺との角度である前方角度より、原稿の搬送方向の近似直線と搬送方向に対して当該矩形状の図形領域の後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出してもよい。
【００５１】
また、コンテンツスキュー検出部１０２ｇは、原稿の搬送方向の近似直線と罫線との角度である前方角度より、原稿の搬送方向の近似直線と搬送方向に対して当該罫線の後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出してもよい。
【００５２】
また、コンテンツスキュー検出部１０２ｇは、原稿の搬送方向の近似直線と文字列との角度である前方角度より、原稿の搬送方向の近似直線と搬送方向に対して当該文字列の後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出してもよい。
【００５３】
累積スキュー検出部１０２ｈは、エッジスキュー発生位置候補およびコンテンツスキュー発生位置候補に基づいて、累積スキュー発生位置を検出する。ここで、累積スキューとは、搬送しながら徐々に角度が付いてしまう傾きであってもよい。
【００５４】
また、累積スキュー検出部１０２ｈは、エッジスキュー発生位置候補とコンテンツスキュー発生位置候補とが存在し、且つ、両検出位置間の距離が所定距離以内の場合、原稿の搬送方向に対して後方にある候補を、累積スキュー発生位置として検出してもよい。
【００５５】
また、累積スキュー検出部１０２ｈは、エッジスキュー検出部１０２ｅによりエッジスキュー発生位置候補が検出され、且つ、コンテンツ検出部１０２ｆにより方向特定コンテンツが検出されなかった場合、エッジスキュー発生位置候補を、累積スキュー発生位置として検出してもよい。
【００５６】
また、累積スキュー検出部１０２ｈは、エッジスキュー検出部１０２ｅによりエッジスキュー発生位置候補が検出され、且つ、コンテンツスキュー検出部１０２ｇによりコンテンツスキュー発生位置候補が検出されなかった場合、エッジスキュー発生位置候補を、累積スキュー発生位置として検出してもよい。
【００５７】
また、累積スキュー検出部１０２ｈは、エッジスキュー検出部１０２ｅによりエッジスキュー発生位置候補が検出されず、且つ、コンテンツスキュー検出部１０２ｇによりコンテンツスキュー発生位置候補が検出された場合、コンテンツスキュー発生位置候補を、累積スキュー発生位置として検出してもよい。
【００５８】
また、累積スキュー検出部１０２ｈは、エッジスキュー発生位置候補とコンテンツスキュー発生位置候補とが存在するが、両検出位置間の距離が所定距離以上の場合、累積スキュー未発生とみなして、累積スキュー発生位置を検出しなくてもよい。
【００５９】
また、累積スキュー検出部１０２ｈは、エッジスキュー検出部１０２ｅによりエッジスキュー発生位置候補が検出されず、且つ、コンテンツ検出部１０２ｆにより方向特定コンテンツが検出されなかった場合、累積スキュー未発生とみなして、累積スキュー発生位置を検出しなくてもよい。
【００６０】
また、累積スキュー検出部１０２ｈは、エッジスキュー検出部１０２ｅによりエッジスキュー発生位置候補が検出されず、且つ、コンテンツスキュー検出部１０２ｇによりコンテンツスキュー発生位置候補が検出されなかった場合、累積スキュー未発生とみなして、累積スキュー発生位置を検出しなくてもよい。
【００６１】
累積スキュー補正部１０２ｉは、原稿の搬送方向に対して累積スキュー発生位置後方の原稿後方画像を歪み補正し、累積スキュー補正画像データを取得する。
【００６２】
また、累積スキュー補正部１０２ｉは、原稿の搬送方向に対して累積スキュー発生位置後方の原稿後方画像を二つの扇形で囲まれた領域とみなし、当該扇形の弧を原稿の搬送方向の近似直線上に歪み補正し、累積スキュー補正画像データを取得してもよい。
【００６３】
また、累積スキュー補正部１０２ｉは、原稿の搬送方向に対して累積スキュー発生位置後方の原稿後方画像を二つの扇形で囲まれた領域とみなし、当該扇形の弧を原稿の搬送方向の近似直線上に幾何変換により歪み補正し、累積スキュー補正画像データを取得してもよい。
【００６４】
また、累積スキュー補正部１０２ｉは、原稿の搬送方向に対して累積スキュー発生位置後方の原稿後方画像を二つの扇形で囲まれた領域とみなし、短い方の弧を伸長させるように当該扇形の弧を原稿の搬送方向の近似直線上に幾何変換により歪み補正し、累積スキュー補正画像データを取得してもよい。
【００６５】
また、累積スキュー補正部１０２ｉは、原稿の搬送方向に対して累積スキュー発生位置後方の原稿後方画像をレンズ歪み補正により歪み補正し、累積スキュー補正画像データを取得してもよい。
【００６６】
ここで、累積スキュー補正画像は、累積スキュー補正部１０２ｉによる歪み補正後の原稿後方画像と、累積スキュー発生位置前方の原稿前方画像と、を合成した画像であってもよい。
【００６７】
画像出力部１０２ｊは、画像データを出力させる。ここで、画像出力部１０２ｊは、画像データを入出力部１１２を介して出力させてもよい。
【００６８】
更に、図２を参照して、本実施形態に係る画像処理装置１００のハードウェア構成の一例について説明する。図２は、本実施形態に係る画像処理装置１００のハードウェア構成の一例を示すブロック図である。
【００６９】
図２に示すように、画像処理装置１００は、インターフェース部（Ｉ／Ｆ）１０８を介して、画像読取装置２００と通信可能に接続されていてもよい。
【００７０】
ここで、図２に示すように、画像処理装置１００は、画像処理装置１００を統括的に制御するＣＰＵ１０２、および、ストレージ手段であるメモリ１０６および補助記憶装置１０６を備えていてもよい。
【００７１】
また、図２に示すように、画像処理装置１００は、画像読取装置２００と通信可能な接続を制御するＩ／Ｆ１０８、記憶媒体等を接続するためのＵＳＢ端子等のインターフェース部（媒体読取部）１０８、データ入力を行うための入出力部（入力部）１１２、および、データ出力を行うための入出力部（出力部）１１２等を備えていてもよい。
【００７２】
また、図２に示すように、画像読取装置２００は、画像読取装置２００を統括的に制御するＣＰＵ、ストレージ手段であるブロックバッファ、メモリおよび画像メモリ、ならびに、メモリへのアクセス要求を調停する調停部を備えていてもよい。
【００７３】
また、図２に示すように、画像読取装置２００は、画像読取を行うイメージセンサ、イメージセンサとシェーディング処理部とを結ぶアナログ回路であるアナログフロントエンド（ＡＦＥ）、および、画像データの陰影を調整するシェーディング処理部を備えていてもよい。
【００７４】
また、図２に示すように、画像読取装置２００は、読み取った画像データへの画像処理を制御する画像処理制御部、画像処理装置１００と通信可能な接続を制御するＩ／Ｆ（インターフェース部）、データ入力を行うための入力部、および、データ出力を行うための出力部等を備えていてもよい。
【００７５】
［本実施形態の処理］
上述した構成の画像処理装置１００で実行される処理の一例について、図３から図を参照して説明する。図３は、本実施形態の画像処理装置１００における処理の一例を示すフローチャートである。
【００７６】
図３に示すように、まず、画像取得部１０２ａは、搬送路を備えた画像読取装置２００にて読み取られた読取画像の読取画像データを取得する（ステップＳＡ−１）。
【００７７】
そして、エッジ検出部１０２ｂは、読取画像に含まれる原稿画像のエッジを検出し、検出したエッジの最長直線部分を延長した近似直線を取得する（ステップＳＡ−２）。
【００７８】
ここで、エッジ検出部１０２ｂは、検出したエッジに基づいて、読取画像から原稿画像を特定し、原稿画像データを取得してもよい。
【００７９】
そして、先端スキュー検出部１０２ｃは、読取画像に対する原稿画像の傾きである先端スキューを検出する（ステップＳＡ−３）。
【００８０】
そして、先端スキュー補正部１０２ｄは、先端スキュー検出部１０２ｃにより検出された先端スキューに基づいて、原稿画像を正立補正する（ステップＳＡ−４）。
【００８１】
すなわち、先端スキュー補正部１０２ｄは、先端スキューを取り除き、原稿画像を正立させることができる。
【００８２】
ここで、図４を参照して、本実施形態における先端スキュー検出補正処理の一例について説明する。図４は、本実施形態における先端スキュー検出補正処理の一例を示す図である。
【００８３】
図４に示すように、本実施形態においては、検出された最長（原稿の搬送方向）のエッジ（図４中の「×」をつないだ線分）の最長直線部分を延長した近似直線、および、当該近似直線の傾きを取得する。
【００８４】
そして、本実施形態においては、原稿の搬送方向の近似直線の傾きから、原稿の搬送方向の近似直線が正立した状態となるように、原稿画像を正立補正する。
【００８５】
ここで、図４に示すように、本実施形態においては、原稿画像全体の傾きの検出と補正とを行ない、搬送時のスキューによる歪み（累積スキュー）は考慮せずに、傾いて給紙された等により生じる傾きの要因を排除している。
【００８６】
ここで、本実施形態においては、特開２００７−８８６５４号公報に記載された、累積スキューが無い前提で傾き検知と原稿切り出しとを行う発明を用いてもよい。
【００８７】
このように、本実施形態における先端スキュー検出補正処理を行うことで、累積スキューを除いて、真っ直ぐに給紙された原稿画像を取得することができ、正立させた辺を、累積スキュー補正時に基準とする辺にすることができる。
【００８８】
また、本実施形態においては、原稿の全てのエッジの最長直線部分を延長した近似直線を用いて、各頂点の角度を検出することで、原稿画像全体の傾きを先端スキューとして検出および補正してもよい。
【００８９】
なお、先端スキューは、原稿セット時、または、給紙開始直後の引き込み時のみに発生傾きであり、原稿画像全体の角度が傾くが、原稿中に歪みを生むことは無いため、累積スキューとは独立して補正が可能である。
【００９０】
図３に戻り、エッジスキュー検出部１０２ｅは、原稿の搬送方向の近似直線と、当該近似直線の最長直線部分を含むエッジと、が離れ始める当該近似直線上の位置をエッジスキュー発生位置候補として検出する（ステップＳＡ−５）。
【００９１】
ここで、図５を参照して、本実施形態におけるエッジスキュー検出処理の一例について説明する。図５は、本実施形態におけるエッジスキュー検出処理の一例を示す図である。
【００９２】
図５に示すように、累積スキューが発生した場合、原稿の搬送方向の最長のエッジは、近似直線から離れるように、左側に次々に移動していく。
【００９３】
そこで、本実施形態においては、近似直線から１ｍｍ以上離れ、且つ、以後同じ方向に移動し続けている条件を満たす位置（図５の点線の位置）を、エッジスキュー発生位置候補として検出してもよい。
【００９４】
図３に戻り、コンテンツ検出部１０２ｆは、原稿画像中の方向を特定できるコンテンツである方向特定コンテンツを検出する（ステップＳＡ−６）。
【００９５】
そして、コンテンツスキュー検出部１０２ｇは、原稿の搬送方向の近似直線と方向特定コンテンツとの角度である前方角度より、原稿の搬送方向の近似直線と搬送方向に対して当該方向特定コンテンツの後方にある方向特定コンテンツとの角度である後方角度が大きく、且つ、前方角度が、最初に所定角度以上となる当該近似直線上の位置をコンテンツスキュー発生位置候補として検出する（ステップＳＡ−７）。
【００９６】
ここで、図６を参照して、本実施形態における罫線によるコンテンツスキュー検出処理の一例について説明する。図６は、本実施形態におけるコンテンツスキュー検出処理の一例を示す図である。
【００９７】
図６に示すように、本実施形態においては、罫線それぞれを方向特定コンテンツとして傾きの計算に用いて、原稿の搬送方向に傾きを見ていくと、累積スキュー発生位置以降において、近似直線と罫線との角度が次々に大きくなっていく。
【００９８】
ここで、本実施形態においては、近似直線と罫線との角度が垂直（９０度）から０．５度以上離れ、且つ、以後角度大きくなり続けている条件を満たす位置（図６の点線の位置）を、コンテンツスキュー発生位置候補として検出してもよい。
【００９９】
なお、本実施形態においては、一般的なハフ変換を用いて、原稿画像中の罫線等の線分に該当する要素を抽出し、検出した直線のうち、一定の長さ以上のものを方向特定コンテンツの構成要素として採用してもよい。
【０１００】
ここで、本実施形態においては、大きな文字の一部分等の原稿画像中の様々な線分要素も、罫線と同様に検出されるため、長さが３ｃｍ以下、且つ、近似直線との角度が水平（０度）または垂直（９０度）から５度以上の線分要素は、方向特定コンテンツの構成要素から除外してもよい。
【０１０１】
また、図７を参照して、本実施形態における文字列によるコンテンツスキュー検出処理の一例について説明する。図７は、本実施形態におけるコンテンツスキュー検出処理の一例を示す図である。
【０１０２】
本実施形態においては、方向特定コンテンツとして検出した文字列を一定の単位（文字列ブロック）ごとに回転させながら当該文字列の角度を検出し、最適な角度が何度であったかを計算することで、その文字列の角度（コンテンツスキュー）を検出してもよい。
【０１０３】
ここで、本実施形態における最適な角度の計算方法としては、文字列の外接矩形もしくは高さが最小となる角度、または、１文字ごとのマッチング等によるＯＣＲ処理により最も確信度が高かった角度を、最適な角度として計算してもよい。
【０１０４】
例えば、図７に示すように、原稿画像中から抽出した文字列（すなわち、文字列画像）を回転させながら、原稿の搬送方向の近似直線に平行な線分および水平な線分から構成される文字列の外接矩形の高さを測ってもよい。
【０１０５】
ここで、図７に示す文字列は、−１度傾いており、＋１度回転させた場合の外接矩形の高さが最小となるため、この文字列は、−１度の傾きであると判定してもよい。
【０１０６】
ここで、本実施形態において、文字列の抽出は、（１）大津の二値化等により、原稿画像を可変の閾値で二値化（地色とコンテンツと分離）し、（２）各二値化領域をラベリングして、これを囲う矩形領域を抽出してもよい。
【０１０７】
そして、本実施形態において、（３）極端に大きな矩形領域は、図形であると判定し、小さな矩形領域を文字として判定し、（４）一定の距離以内に存在する、同サイズの矩形領域を、並んだ文字として連結することで、文字列を抽出してもよい。
【０１０８】
また、図８を参照して、本実施形態における図形領域によるコンテンツスキュー検出処理の一例について説明する。図８は、本実施形態におけるコンテンツスキュー検出処理の一例を示す図である。
【０１０９】
本実施形態においては、方向特定コンテンツとして矩形状の図形領域を抽出し、当該図形領域の矩形らしさを判定することで、コンテンツスキュー発生位置候補を検出してもよい。
【０１１０】
ここで、本実施形態においては、上記（１）から（３）の処理により、矩形状の図形領域を抽出してもよい。
【０１１１】
そして、本実施形態においては、抽出した矩形状の図形領域が矩形であるかを、４辺の角度がそれぞれ平行または垂直であるか否かに基づいて判定する。
【０１１２】
図８に示すように、本実施形態においては、矩形状の図形領域が矩形であると判定した場合、この図形領域が存在する区間は、近似直線と方向特定コンテンツとの角度が均等であって、この図形領域がある区間は歪みがないと判定してもよい。
【０１１３】
一方、本実施形態においては、矩形状の図形領域が矩形でないと判定した（上下端で角度が異なる）場合、どの位置から歪み始めたのかは判別できないため、当該図形領域の上下端を、罫線と同様に、方向特定コンテンツとして扱ってもよい。
【０１１４】
なお、本実施形態においては、同じ位置で結果が異なるコンテンツが複数見付かった場合、図形＞罫線＞文字列の優先順序でコンテンツスキュー発生位置候補の検出を行ってもよい。
【０１１５】
図３に戻り、累積スキュー検出部１０２ｈは、エッジスキュー発生位置候補（エッジでの検出位置）、および、コンテンツスキュー発生位置候補（コンテンツでの検出位置）が両方検出されているという条件を満たすか否かを判定する（ステップＳＡ−８）。
【０１１６】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置およびコンテンツでの検出位置が両方検出されているという条件を満たすと判定した場合（ステップＳＡ−８：Ｙｅｓ）、処理をステップＳＡ−９に移行させる。
【０１１７】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置およびコンテンツでの検出位置の両検出位置間の距離が所定距離（例えば、１ｃｍ等）以内に収まるか否かを判定する（ステップＳＡ−９）。
【０１１８】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置およびコンテンツでの検出位置の両検出位置間の距離が所定距離以内に収まらないと判定した場合（ステップＳＡ−９：Ｎｏ）、処理をステップＳＡ−１０に移行させる。
【０１１９】
そして、累積スキュー検出部１０２ｈは、累積スキュー未発生とみなして、累積スキュー発生位置を検出しない（ステップＳＡ−１０）。
【０１２０】
すなわち、本実施形態においては、エッジスキュー発生位置候補とコンテンツスキュー発生位置候補とが両方存在するが、その位置が大きく離れている場合、原稿の形状自体が歪んでいたり、コンテンツが傾いていたりする可能性があるため、累積スキュー未発生位置とみなしてもよい。
【０１２１】
そして、画像出力部１０２ｊは、読取画像データまたは原稿画像データを入出力部１１２に表示させ（ステップＳＡ−１１）、処理を終了する。
【０１２２】
一方、累積スキュー検出部１０２ｈは、エッジでの検出位置およびコンテンツでの検出位置の両検出位置間の距離が所定距離以内に収まると判定した場合（ステップＳＡ−９：Ｙｅｓ）、処理をステップＳＡ−１２に移行させる。
【０１２３】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置およびコンテンツでの検出位置のうち、原稿の搬送方向に対して後方（下）にある方の候補を、累積スキュー発生位置として採用する（ステップＳＡ−１２）。
【０１２４】
このように、累積スキュー検出部１０２ｈは、累積スキューの有無および発生領域を検出することができる。
【０１２５】
すなわち、本実施形態においては、エッジスキュー発生位置候補と、コンテンツスキュー発生位置候補とが両方存在し、その位置が近い場合、いずれか下にある方を、累積スキュー発生位置として採用してもよい。
【０１２６】
ここで、図９および図１０を参照して、本実施形態における累積スキュー発生の一例について説明する。図９および図１０は、本実施形態における累積スキュー発生の一例を示す図である。
【０１２７】
まず、一般的なＡＤＦスキャナ等の搬送路を備えた画像読取装置２００において、内部のイメージセンサ前後に搬送ローラーが設置されており、用紙ガイドは、内部まで続いていない形状が一般的である。
【０１２８】
そのため、給紙開始後の原稿の搬送は、搬送ローラーに頼ることになる。また、実際に原稿に触れる搬送ローラーの配置は、イメージセンサを原稿後端が通過しきる前に、原稿との接触が、最後の１組だけになるタイミングが生じることが一般的である。
【０１２９】
そのため、原稿の重心または最厚部が搬送ローラーに左右均等に当たらない原稿において、搬送終盤の最後の１つの搬送ローラーしか原稿に当たらないタイミングで、累積スキューが起こりやすい。
【０１３０】
ここで、最も顕著な累積スキューは、パンフレット等の厚く左右非対称な原稿、または、エンボスカードなど厚みが不均一な原稿において、搬送終了間際に最も起こりやすい。
【０１３１】
ここで、図９に示すように、搬送前半においては、片側にエンボス加工文字が印字された左右の厚さが不均一な原稿（カード）に対して、直線状に複数の搬送ローラーがあるため、垂直に複数の搬送ローラーが原稿に触れることになる。
【０１３２】
そのため、図９に示すように、本実施形態においては、出力画像の搬送前半部分は、原稿の左右にかかる力の差に関係なく、原稿が真っ直ぐ搬送されることになるため、歪みのない画像を取得することができる。
【０１３３】
一方、図１０に示すように、搬送後半においては、水平方向に一組の搬送ローラーしか無く、左右にかかる力の差（１．１−１．０＝０．１）がそのまま、搬送速度に表れて、回転する力として表面化する。
【０１３４】
それにより、図１０に示すように、本実施形態においては、搬送ローラーが一組で搬送している区間が、歪みとして出力画像の搬送後半部分に表れる。ここで、歪みの形状は、左右にかかる力の差が表れた扇状になる。
【０１３５】
したがって、図１０に示すように、本実施形態においては、累積スキュー発生前が矩形の部分画像となり、累積スキュー発生後が扇形の部分画像となる出力画像が取得される。
【０１３６】
すなわち、原稿の厚みまたは綴じ方等が左右非対称の場合、搬送ローラーが左右対称に力をかけられず、右と左とで原稿の進むスピードが異なり、扇形の歪みとなる。
【０１３７】
ここで、扇形の部分は長い弧が本来の搬送速度であり、圧縮された短い弧が遅い搬送速度を表している。
【０１３８】
なお、原稿のエンボス加工または折目は、均等に端から端まであることが多いため、扇形の部分は、均一に回転をしており、途中で回転および搬送速度に変化を生じない。
【０１３９】
図３に戻り、累積スキュー補正部１０２ｉは、原稿の搬送方向に対して累積スキュー発生位置後方の原稿後方画像を二つの扇形で囲まれた領域とみなし、短い方の弧を伸長させるように当該扇形の弧を原稿の搬送方向の近似直線上に幾何変換により歪み補正し、累積スキュー発生位置前方の原稿前方画像と合成することにより、累積スキュー補正画像データを取得する（ステップＳＡ−１３）。
【０１４０】
このように、累積スキュー補正部１０２ｉは、累積スキューを、可読性を保ちつつ補正することができる。
【０１４１】
ここで、図１１および図１２を参照して、本実施形態における累積スキュー補正処理の一例について説明する。図１１は、本実施形態における原稿後方画像の一例を示す図である。図１２は、本実施形態における累積スキュー補正処理の一例を示す図である。
【０１４２】
図１１に示すように、本実施形態においては、累積スキューが検出された原稿画像において、累積スキュー発生位置前方のエッジを直線とみなし、累積スキュー発生位置後方のエッジを曲線（扇形の弧）に近似できるため、理想とする形状に、現状の原稿画像の歪んだ形状を近付ける形で歪み補正を行なってもよい。
【０１４３】
ここで、図１１に示すように、理想とする形状は、原稿画像の三つ（上端および左右端）のエッジの最長直線部分を延長した三つの近似直線（図１１中の実線）、ならびに、上端の近似直線に平行な直線の四交点を結んだ矩形であってもよい。
【０１４４】
また、図１１に示すように、歪んだ形状は、同一中心角の半径の異なる二つの扇形で囲まれた領域として近似を行なってもよい。ここで、原稿画像中から弧を検出する手法としては、ハフ変換を利用してもよい。
【０１４５】
このように、二つの扇形の弧（図１１の点線の曲線）は、累積スキュー発生位置後方のエッジを扇形に近似したものであってもよい。
【０１４６】
また、図１１に示すように、扇形の上辺（図１１の点線）は、原稿画像の上端のエッジと並行な直線を、累積スキュー発生位置に引いたものであってもよく、扇形の下辺（図１１の点線）は、原稿の下端のエッジを、そのまま採用したものであってもよい。
【０１４７】
そして、図１２に示すように、本実施形態においては、搬送後半の歪んだ形状（扇形）を、幾何変換により矩形へと変形させることで、理想とする形状に補正してもよい。
【０１４８】
具体的には、図１２に示すように、扇形の左右の弧において、同じ比率だけ弦上を進める（例えば、右の弦の１ドットが比率で１％の場合、左の弦は、１％に相当する０．９ドット進める）ことで、扇形の左右の弧で本来同じ搬送位置となるべき点を探索してもよい。
【０１４９】
そして、図１２に示すように、探索された左右の点を結んだ直線上の画素を収集し、これらの画素を水平に並べて、近似直線に合わせて配置する処理を全行分繰り返すことで、歪み補正を行ってもよい。
【０１５０】
また、本実施形態においては、原稿画像から特徴点を抽出して、理想とする形状と、歪んだ形状と、のマッピングを行なうことにより歪み補正を行う、レンズ歪み補正処理を行ってもよい。
【０１５１】
図３に戻り、画像出力部１０２ｊは、累積スキュー補正部１０２ｉにより取得された累積スキュー補正画像データを入出力部１１２に表示させ（ステップＳＡ−１４）、処理を終了する。
【０１５２】
一方、累積スキュー検出部１０２ｈは、エッジでの検出位置およびコンテンツでの検出位置が両方検出されているという条件を満たさないと判定した場合（ステップＳＡ−８：Ｎｏ）、処理をステップＳＡ−１５に移行させる。
【０１５３】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置が検出された、且つ、コンテンツでの検出位置が検出されていないという条件を満たすか否かを判定する（ステップＳＡ−１５）。
【０１５４】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置が検出された、且つ、コンテンツでの検出位置が検出されていないという条件を満たすと判定した場合（ステップＳＡ−１５：Ｙｅｓ）、処理をステップＳＡ−１６に移行させる。
【０１５５】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置を、累積スキュー発生位置として採用し（ステップＳＡ−１６）、処理をステップＳＡ−１３に移行させる。
【０１５６】
すなわち、本実施形態においては、エッジスキュー発生位置候補はあるが、その近辺にコンテンツがそもそも無い場合、エッジスキュー発生位置候補を信用し、累積スキュー発生位置として採用してもよい。
【０１５７】
なお、本実施形態においては、エッジスキュー発生位置候補があり、コンテンツスキュー発生位置候補が無い場合も、エッジスキュー発生位置候補を、累積スキュー発生位置として採用してもよい。
【０１５８】
一方、累積スキュー検出部１０２ｈは、エッジでの検出位置が検出された、且つ、コンテンツでの検出位置が検出されていないという条件を満たさないと判定した場合（ステップＳＡ−１５：Ｎｏ）、処理をステップＳＡ−１７に移行させる。
【０１５９】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置が検出されていない、且つ、コンテンツでの検出位置が検出されたという条件を満たすか否かを判定する（ステップＳＡ−１７）。
【０１６０】
そして、累積スキュー検出部１０２ｈは、エッジでの検出位置が検出されていない、且つ、コンテンツでの検出位置が検出されたという条件を満たさないと判定した場合（ステップＳＡ−１７：Ｎｏ）、処理をステップＳＡ−１０に移行させる。
【０１６１】
一方、累積スキュー検出部１０２ｈは、エッジでの検出位置が検出されていない、且つ、コンテンツでの検出位置が検出されたという条件を満たすと判定した場合（ステップＳＡ−１７：Ｙｅｓ）、処理をステップＳＡ−１８に移行させる。
【０１６２】
そして、累積スキュー検出部１０２ｈは、コンテンツでの検出位置を、累積スキュー発生位置として採用し（ステップＳＡ−１８）、処理をステップＳＡ−１３に移行させる。
【０１６３】
すなわち、本実施形態においては、コンテンツスキュー発生位置候補があり、エッジスキュー発生位置候補が無い場合、コンテンツスキュー発生位置候補を、累積スキュー発生位置として採用してもよい。
【０１６４】
ここで、図１３から図１７を参照して、本実施形態における累積スキュー検出処理の一例について説明する。図１３から図１７は、本実施形態における累積スキュー検出処理の一例を示す図である。
【０１６５】
まず、図１３に示すように、先端スキュー補正後の原稿画像（カード画像）に対して、四つのエッジ（すなわち、原稿画像の形状）の検出を行なう。なお、本実施形態においては、先端スキュー検出時に検出されたエッジを用いてもよい。
【０１６６】
そして、図１４に示すように、検出した各エッジを一直線に近似し、この近似直線をスキューが無かった場合の理想辺の一部とする。ここで、本実施形態においては、先端スキュー検出時に検出された直線を近似直線として用いてもよい。
【０１６７】
そして、図１４に示すように、各エッジが近似直線からどれだけ離れているかを確認し、累積スキュー発生時は搬送につれてエッジが徐々に近似直線から離れていく（すなわち、同じ方向に歪む）ため、エッジが全て同じ方向に移動し続けているか否かを検知する。
【０１６８】
そして、図１４に示すように、近似直線から離れ始めた位置を、エッジスキュー発生位置候補として検出してもよい。
【０１６９】
そして、図１５に示すように、カード画像中のコンテンツ（例えば、文字列、罫線、および／または、写真矩形等）の傾きを検出してもよい。
【０１７０】
そして、図１６に示すように、コンテンツの傾きが検出された場合、エッジと同様に、累積スキュー発生時は搬送につれて、コンテンツの傾きが同じ方向（時計回りまたは反時計回り）に変化し続けているか否かを検知してもよい。
【０１７１】
そして、図１６に示すように、この位置をコンテンツスキュー発生位置候補として検出してもよい。
【０１７２】
そして、図１７に示すように、エッジスキュー発生位置候補と、コンテンツスキュー発生位置候補と、を確認し、これらの組み合わせによって、最終的な累積スキューの発生有無、および、累積スキュー発生位置の検出を行なってもよい。
【０１７３】
このように、本実施形態においては、エッジ（原稿画像の形状）、および、コンテンツ傾き（原稿の内容）の両方を加味して、誤検出を抑え、高精度に累積スキュー発生位置を検出してもよい。
【０１７４】
ここで、本実施形態において、原稿画像の形状は、原稿の破れなどで常に矩形と限らないため、累積スキュー発生位置の検出には、コンテンツ傾きを優先してもよい。
【０１７５】
これにより、本実施形態においては、原稿画像の累積スキューを、画像のみから検出および補正することができる。
【０１７６】
ここで、一般的に、原稿は、途中まで複数のローラーが接触し真っ直ぐに搬送されるが、最後のローラーだけで搬送されることになる搬送終盤は、累積スキューが顕著な傾向がある。
【０１７７】
そこで、本実施形態においては、累積スキューを画像から検出するために、原稿画像のエッジおよび原稿画像中のコンテンツの傾きから、累積スキューが発生した位置を特定し、累積スキューの有無と形状とを検出している。
【０１７８】
なお、搬送ローラーの劣化、汚れ、または、傷みなどにより、終始累積スキューが発生している場合、原稿画像全体を累積スキュー発生中と捉えてもよい。
【０１７９】
このような場合、搬送ローラーが左右対称に力をかけられないことが原因であるため、汚れを拭き取る、または、ローラーを交換することで、累積スキューの発生を回避できる。
【０１８０】
そして、本実施形態においては、累積スキューが検出された場合、スキュー発生前は矩形、および、スキュー発生後は扇形で各エッジを近似して、累積スキュー発生位置後方の二つの扇形で囲まれた領域を、理想的には矩形だったとして補正を行なってもよい。
【０１８１】
従来から、原稿を搬送させるスキャナ装置において、最も大きな課題の一つに、原稿搬送時のスキューがあった。
【０１８２】
これは所謂、累積スキューであり、ローラー等の搬送力を超える原稿、または、厚みもしくは形状がいびつな原稿（例えば、エンボスカード、または、冊子のままのパンフレット等）の搬送時に、発生しやすかった。
【０１８３】
そして、累積スキューが発生するハードウェアと原稿との組み合わせでは、搬送自体が出来ているにも関わらず、実用的な画像が取得できないという課題があった。
【０１８４】
そこで、従来から、累積スキューが発生しにくい構造、または、累積スキューを検知しリトライさせる構造等の様々なハードウェア上での課題解決が試みられてきた。
【０１８５】
しかしながら、完全な課題の解決は困難であり、小型のハードウェアへの適用、および、既に作成された画像への修正等の課題も解決できていなかった。
【０１８６】
そこで、本実施形態においては、読取画像に対して、搬送時の累積スキューが無かったかのように補正する方法を提供している。
【０１８７】
［他の実施形態］
さて、これまで本発明の実施形態について説明したが、本発明は、上述した実施形態以外にも、請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【０１８８】
例えば、画像処理装置１００は、スタンドアローンの形態で処理を行ってもよく、クライアント端末（画像処理装置１００とは別筐体である）からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するようにしてもよい。
【０１８９】
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１９０】
このほか、明細書中および図面中で示した処理手順、制御手順、具体的名称、各処理の登録データもしくは検索条件等のパラメータを含む情報、画面例、または、データベース構成については、特記する場合を除いて任意に変更することができる。
【０１９１】
また、画像処理装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【０１９２】
例えば、画像処理装置１００の各装置が備える処理機能、特に制御部１０２にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵおよび当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。
【０１９３】
なお、プログラムは、後述する、コンピュータに本発明に係る方法を実行させるためのプログラム化された命令を含む、一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて画像処理装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤＤなどの記憶部１０６などには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【０１９４】
また、このコンピュータプログラムは、画像処理装置１００に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【０１９５】
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢメモリ、ＳＤカード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【０１９６】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【０１９７】
記憶部１０６に格納される各種のデータベース等は、ＲＡＭもしくはＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および／または、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および／または、ウェブページ用ファイル等を格納してもよい。
【０１９８】
また、画像処理装置１００は、既知のパーソナルコンピュータ等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、画像処理装置１００は、該情報処理装置に本発明の方法を実現させるソフトウェア（プログラム、データ等を含む）を実装することにより実現してもよい。
【０１９９】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【０２００】
以上のように、画像処理装置、画像処理方法、および、プログラムは、産業上の多くの分野、特にスキャナまたはカメラで読み込んだ画像を扱う画像処理分野で実施することができ、極めて有用である。
【符号の説明】
【０２０１】
１００  画像処理装置
１０２  制御部
１０２ａ  画像取得部
１０２ｂ  エッジ検出部
１０２ｃ  先端スキュー検出部
１０２ｄ  先端スキュー補正部
１０２ｅ  エッジスキュー検出部
１０２ｆ  コンテンツ検出部
１０２ｇ  コンテンツスキュー検出部
１０２ｈ  累積スキュー検出部
１０２ｉ  累積スキュー補正部
１０２ｊ  画像出力部
１０６  記憶部
１０６ａ  画像データファイル
１０８  インターフェース部
１１２  入出力部
２００  画像読取装置
【図１】
2017225090.tif 000003
【図２】
2017225090.tif 000004
【図３】
2017225090.tif 000005
【図４】
2017225090.tif 000006
【図５】
2017225090.tif 000007
【図６】
2017225090.tif 000008
【図７】
2017225090.tif 000009
【図８】
2017225090.tif 000010
【図９】
2017225090.tif 000011
【図１０】
2017225090.tif 000012
【図１１】
2017225090.tif 000013
【図１２】
2017225090.tif 000014
【図１３】
2017225090.tif 000015
【図１４】
2017225090.tif 000016
【図１５】
2017225090.tif 000017
【図１６】
2017225090.tif 000018
【図１７】
2017225090.tif 000019