(57)【要約】      （修正有）【課題】読取画像の傾きを正確に検出する装置を提供する。【解決手段】複合装置１は、原稿の画像を読み取った読取画像データをデータ受取部４０が受け取り、検出用データ生成部４２ａ〜４２ｃが異なる端部検出方式に適合した方式別処理対象データを生成する。原稿端部検出部４３ａ〜４３ｃが、方式別処理対象データに基づいて、原稿の端部を検出して方式別端部データを出力し、原稿傾き算出部４５ａ〜４５ｃが各方式別端部データに基づいて読取画像データの傾きを個別に算出して方式別傾きデータを出力する。適合度算出部４４ａ〜４４ｃが、各端部検出方式での原稿の端部検出に対する適合度を算出し、重み係数算出部４６ａ〜４６ｃが、適合度から方式別傾きデータに対する方式別重み係数を算出する。最終原稿傾き算出部４７が、方式別傾きデータと方式別重み係数に基づいて読取画像データの傾きを算出し、傾き補正部４８が読取画像データの傾きを補正する。【選択図】図３
2015211446.tif 000002
【特許請求の範囲】
【請求項１】
原稿の画像を読み取ることで取得された読取画像データを受け取るデータ受取手段と、
異なる端部検出方式、同じ端部検出方式の異なる検出条件で前記読取画像データから前記原稿の端部を検出して方式別端部データを出力する複数の原稿端部検出手段と、
前記各方式別端部データに基づいて前記読取画像データの傾きを個別に算出して方式別傾きデータを出力する方式別傾き算出手段と、
前記方式別傾きデータに基づいて前記読取画像データの傾きを算出する傾き算出手段と、
を備えていることを特徴とする画像処理装置。
【請求項２】
前記画像処理装置は、
前記傾きデータに基づいて前記読取画像データの傾きを補正する傾き補正手段を、
さらに備えていることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理装置は、
前記読取画像データから前記各原稿端部検出手段の前記端部検出方式または前記検出条件に適合した方式別処理対象データを生成するデータ生成手段を、
さらに備え、
前記原稿端部検出手段は、
前記方式別処理対象データに基づいて前記原稿の端部を検出して前記方式別端部データを出力することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
前記画像処理装置は、
前記各原稿端部検出手段の前記端部検出方式における前記原稿の端部検出に対する適合度を算出する適合度算出手段と、
前記適合度から前記方式別傾きデータに対する方式別重み係数を算出する重み係数算出手段と、
をさらに備え、
前記傾き算出手段は、
前記各方式別傾きデータと前記方式別重み係数に基づいて前記読取画像データの傾きを算出することを特徴とする請求項１から請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記原稿端部検出手段は、
その１つの前記端部検出方式が、エッジ抽出レベルに基づいて前記原稿の端部を検出するエッジ抽出端部検出方式であり、
前記適合度算出手段は、
前記エッジ抽出端部検出方式における適合度として、所定の基準エッジレベルと前記読取画像データにおけるエッジ抽出レベルのピークレベルとの比を算出することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記原稿端部検出手段は、
その１つの前記端部検出方式が、画像データの濃度差に基づいて前記原稿の端部を検出する濃度差端部検出方式であり、
前記適合度算出手段は、
前記濃度差端部検出方式における適合度として、所定の基準濃度差と前記原稿領域内外の濃度差との比を算出することを特徴とする請求項４記載の画像処理装置。
【請求項７】
前記原稿端部検出手段は、
その１つの前記端部検出方式が、画像データの色差に基づいて前記原稿の端部を検出する色差端部検出方式であり、
前記適合度算出手段は、
前記色差端部検出方式における適合度として、所定の基準色差と前記原稿領域内外の色差との比を算出することを特徴とする請求項４記載の画像処理装置。
【請求項８】
前記重み係数算出手段は、
前記原稿端部検出手段の検出する前記原稿の端部位置における適合度の単純平均値、該適合度のうち最大値と最小値のいずれかの値、前記端部検出方式または前記検出条件に応じた寄与率をそれぞれ乗算した該適合率を平均した重み付け平均値のうち、いずれかを前記方式別重み係数として算出することを特徴とする請求項４から請求項７のいずれかに記載の画像処理装置。
【請求項９】
前記重み係数算出手段は、
前記適合度の上限値と下限値を飽和させて該適合度を前記方式別重み係数として算出することを特徴とする請求項４から請求項７のいずれかに記載の画像処理装置。
【請求項１０】
前記重み係数算出手段は、
前記適合度が予め設定されている設定下限値を下回ると、前回の原稿傾き、または、所定の設定原稿傾きを前記傾きとして指定する指定適合度を前記方式別重み係数として算出し、
前記傾き算出手段は、
前記重み係数算出手段が前記方式別重み係数として前記指定適合度を指定していると、前記前回の原稿傾き、または、前記設定原稿傾きを、前記読取画像データの傾きとする前記傾きデータを出力することを特徴とする請求項４から請求項７のいずれかに記載の画像処理装置。
【請求項１１】
前記画像処理装置は、
情報を報知出力する報知手段を、
さらに備え、
前記傾き算出手段は、
前記前回の原稿傾き、または、前記設定原稿傾きを、前記読取画像データの傾きとする前記傾きデータを出力する場合には、前記報知手段に、その旨を報知出力させることを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
原稿の画像を画像読取手段で読み取って、該画像読取手段の読み取った原稿の読取画像データの傾きを検出して補正する画像処理部を備えた画像読取装置であって、
前記画像処理部として、請求項１から請求項１１のいずれかに記載の画像処理装置を備えていることを特徴とする画像読取装置。
【請求項１３】
原稿の画像を読み取ることで取得された読取画像データを受け取るデータ受取処理ステップと、
異なる端部検出方式、同じ端部検出方式の異なる検出条件で前記読取画像データから前記原稿の端部を検出して方式別端部データを出力する複数の原稿端部検出処理ステップと、
前記各方式別端部データに基づいて前記読取画像データの傾きを個別に算出して方式別傾きデータを出力する方式別傾き算出処理ステップと、
前記方式別傾きデータに基づいて前記読取画像データの傾きを算出する傾き算出処理ステップと、
を有していることを特徴とする画像処理方法。
【請求項１４】
制御プロセッサに、
原稿の画像を読み取ることで取得された読取画像データを受け取るデータ受取処理と、
異なる端部検出方式、同じ端部検出方式の異なる検出条件で前記読取画像データから前記原稿の端部を検出して方式別端部データを出力する複数の原稿端部検出処理と、
前記各方式別端部データに基づいて前記読取画像データの傾きを個別に算出して方式別傾きデータを出力する方式別傾き算出処理と、
前記方式別傾きデータに基づいて前記読取画像データの傾きを算出する傾き算出処理と、
を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像読取装置、画像処理方法及び画像処理プログラムに関し、詳細には、読取画像の傾きを検出する画像処理装置、画像読取装置、画像処理方法及び画像処理プログラに関する。
【背景技術】
【０００２】
近年、情報のデジタル化に伴って、原稿の画像をスキャナ等の画像読取装置で読み取って画像データを取得し、デジタルの画像データを管理することが行われるようになってきている。
【０００３】
ところが、画像読取装置で原稿の画像データを読み取る場合、自動原稿搬送装置を画像読取装置に取り付けて、原稿を複数枚順次搬送して読み取ると、原稿スキューによって読取画像が傾いた画像となることがある。
【０００４】
そこで、従来から、自動原稿搬送装置で搬送される原稿の傾きを機械的に補正することが行われている。
【０００５】
ところが、機械的に原稿の傾きを補正する機構を自動原稿搬送装置に組み込むと、機械音が大きく、近年の装置に要求される静音性を満たすことができなくなってきている。
【０００６】
そこで、近年では、読み取った画像データの傾きを検出して、画像処理によって傾きを補正することが行われるようになってきている。
【０００７】
そして、従来、原稿のサイズを検知する検知部と、原稿の読取位置に光を照射しその反射光から読取画像を読み取る画像読取部と、前記検知部が読み取った前記原稿のサイズに基づく範囲内で、前記読取画像から前記原稿に対応する原稿画像と前記原稿以外の領域に対応する背景画像との境界を読み取り、前記境界と前記原稿の搬送方向とのなす角度に基づいて前記読取画像中の前記原稿画像の傾きを補正する傾き補正手段とを有する画像読取装置が提案されている（特許文献１参照）。
【０００８】
すなわち、この従来技術は、原稿サイズを検出して、該原稿サイズの範囲内で、読取画像から原稿に対応する原稿画像と原稿以外の領域に対応する背景画像との境界を読み取って、傾き角度を検出している。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記従来技術にあっては、原稿サイズを検出して原稿傾きを検出しているため、原稿傾き角度の検出精度を向上させる上で、改良の必要があった。
【００１０】
すなわち、原稿サイズの検知においては、ゴミや縦スジ以外の要因による原稿画像と原稿以外の領域に対する背景画像との境界の検出における検出誤りを防止することができず、原稿傾き角度の検出誤りが発生するおそれがあった。
【００１１】
そこで、本発明は、原稿傾きを正確に判定することを目的としている。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、請求項１記載の画像処理装置は、原稿の画像を読み取ることで取得された読取画像データを受け取るデータ受取手段と、異なる端部検出方式、同じ端部検出方式の異なる検出条件で前記読取画像データから前記原稿の端部を検出して方式別端部データを出力する複数の原稿端部検出手段と、前記各方式別端部データに基づいて前記読取画像データの傾きを個別に算出して方式別傾きデータを出力する方式別傾き算出手段と、前記方式別傾きデータに基づいて前記読取画像データの傾きを算出して傾きデータを出力する傾き算出手段と、を備えていることを特徴としている。
【発明の効果】
【００１３】
本発明によれば、原稿傾きを正確に判定することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施例を適用した複合装置の外観斜視図。
【図２】複合装置のハードウェアのブロック構成図。
【図３】複合装置の要部機能ブロック図。
【図４】画像データ傾き検出・補正処理の説明図。
【図５】原稿端部検出処理の説明図。
【図６】画像データ傾き検出・補正処理を示すフローチャート。
【図７】輝度に基づく原稿端部検出処理の説明図。
【図８】輝度差に基づく原稿端部検出処理の説明図。
【図９】色差に基づく原稿端部検出処理の説明図。
【発明を実施するための形態】
【００１５】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１６】
図１〜図９は、本発明の画像処理装置、画像読取装置、画像処理方法及び画像処理プログラムの一実施例を示す図であり、図１は、本発明の画像処理装置、画像読取装置、画像処理方法及び画像処理プログラムの一実施例を適用した複合装置１の外観斜視図である。
【００１７】
図１において、複合装置（画像読取装置）１は、本体筐体２の上部に、スキャナ部３が配設され、本体筐体２内に、プリンタ部４、給紙部５、排紙部６及びインクカートリッジ収納部７等が設けられている。
【００１８】
また、複合装置１は、本体筐体２の上部前面に、操作表示部８が設けられており、操作表示部８には、各種キー８ａが設けられているとともに、ディスプレイ（報知手段）８ｂが設けられている。操作表示部８は、キー８ａにより複合装置１の各種動作命令等が入力され、ディスプレイ８ｂは、キー８ａから入力された内容や複合装置１からユーザへ通知する各種情報を表示する。
【００１９】
スキャナ部（画像読取手段）３としては、例えば、光電変換素子としてＣＣＤ(Charge Coupled Device)またはＣＭＯＳ（Complementary Metal Oxide Semiconductor ）を用いたスキャナが用いられており、原稿を走査して、該原稿の画像を読み取るという画像読取処理を行う。
【００２０】
プリンタ部４は、例えば、インク吐出方式のプリンタが用いられており、各色のインクを吐出するノズルの形成されている記録ヘッドを備えている。プリンタ部４は、スキャナ部３の読み取った原稿の画像データやコンピュータ等の外部のホスト装置から有線または無線のネットワークを介して送信されてきた画像データに基づいて、給紙部５から送られてきた用紙に、ノズルからインクを吐出して画像を形成する。プリンタ部４は、画像形成済みの用紙を、排紙部６へ排出する。
【００２１】
給紙部５は、複数の給紙トレイを備えており、各給紙トレイには、それぞれサイズの異なる用紙、フィルム等の被記録媒体（以下、単に、用紙という。）を収納可能である。給紙部５は、指定された給紙トレイの用紙を、１枚ずつ、プリンタ部４へ搬送する。
【００２２】
インクカートリッジ収納部７は、各色のインクカートリッジを収納しており、インクカートリッジ内のインクをプリンタ部４の記録ヘッドのノズルへ供給する。
【００２３】
そして、複合装置１は、図２に示すようにブロック構成されており、コントローラ１１、外部記憶部１２及び上記スキャナ部３、プリンタ部４及び操作表示部８等を備えている。
【００２４】
コントローラ１１は、ＣＰＵ（Central Processing Unit ）２１、プログラムＲＯＭ（Read Only Memory）２２、ＲＡＭ（Random Access Memory）２３、ＮＶＲＡＭ（Non-Volatile Random Access Memory）２４、ハードディスク（ＨＤＤ）２５、ネットワークＩ／Ｆ（インターフェイス）２６、スキャナＩ／Ｆ２７、プリンタＩ／Ｆ２８、パネルＩ／Ｆ２９及び外部Ｉ／Ｆ３０等を備えていて、各部は、バス３１で接続されている。
【００２５】
ネットワークＩ／Ｆ２６には、ＬＡＮ（Local Area Network）等のネットワークＮＷを介してコンピュータ等のホスト装置が接続されており、ネットワークＩ／Ｆ２６は、ホスト装置から送信されてくる制御信号及び画像データ等を受け取る。また、ネットワークＩ／Ｆ２６は、複合装置１からホスト装置に送信するステータス信号等の送り出しを行う。
【００２６】
プログラムＲＯＭ２２は、コントローラ１１内でのデータの処理や管理及び周辺モジュールを制御するためのプログラム、具体的には、複合装置１としての基本処理プログラム及び本発明の原稿傾き検出処理を行う画像処理方法を実行する画像処理プログラム等の各種プログラムを格納しているとともに、これらの各プログラムを実行するのに必要な各種データを格納している。
【００２７】
ＣＰＵ２１は、プログラムＲＯＭ２２に格納されているプログラムに基づいて、ＲＡＭ２３をワークメモリとして利用しつつ、複合装置１の各部を制御して、印刷処理、転送処理等の画像処理を行うとともに、後述する本発明の画像処理方法を実行する。
【００２８】
ＲＡＭ２３は、ＣＰＵ２１のワークメモリとして利用されるとともに、各種画像処理を行うために、画像データをページ単位に管理して一時記憶するバッファ及びバッファに記憶されたデータを実際の印刷に適した描画データに変換して展開されるビットマップメモリ等として利用される。
【００２９】
ＮＶＲＡＭ２４は、複合装置１の電源が切られているときにも記憶内容を保持するメモリであり、複合装置１の電源がオフの際にも保持する必要のあるデータ、特に、後述する画像処理で必要な各種データがＣＰＵ２１の制御下で格納される。
【００３０】
ハードディスク２５は、スキャナ部３で読み取られた原稿の画像データ、ホスト装置から送られてきた画像データ等のデータをＣＰＵ２１の制御下で蓄積し、また、読み出される。
【００３１】
スキャナＩ／Ｆ２７には、上記スキャナ部３が接続されており、スキャナＩ／Ｆ２７は、コントローラ１１からスキャナ部３への制御信号及びスキャナ部３からコントローラ１１へのステータス信号や読取原稿の画像データ等の授受を行う。
【００３２】
プリンタＩ／Ｆ２８には、上記プリンタ部４が接続されており、プリンタＩ／Ｆ２８は、コントローラ１１からプリンタ部４への制御信号や描画データ及びプリンタ部４からコントローラ１１へのステータス信号の授受を行う。
【００３３】
パネルＩ／Ｆ２９には、上記操作表示部８が接続されており、パネルＩ／Ｆ２９は、ＣＰＵ２１と操作表示部８との間の信号及びデータの授受を行う。
【００３４】
外部Ｉ／Ｆ３０には、可搬性を有する外部記憶部１２が着脱可能に装着され、外部記憶部１２としては、例えば、ＵＳＢ（Universal Serial Bus）メモリ、メモリカード（例えば、ＳＤメモリカード等）、フロッピィディスク（登録商標）等が挿入される。外部Ｉ／Ｆ３０は、ＣＰＵ２１の制御下で、外部記憶部１２をドライブして、外部記憶部１２に記憶されているデータの読み出し及び外部記憶部１２へのデータの書き込みを行う。この外部Ｉ／Ｆ３０は、外部記憶部１２の外部Ｉ／Ｆ３０への挿入及び取り出しを自動検出し、検出結果をＣＰＵ２１に出力する。
【００３５】
そして、複合装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Video Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の画像処理方法を実行する画像処理プログラムを読み込んでプログラムＲＯＭ２２、ハードディスク２５等に導入することで、後述する原稿の画像を読み取ることで取得された読取画像データにおける原稿傾きを正確に検出する画像処理方法を実行する画像処理装置として構築されている。この画像処理プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００３６】
複合装置１は、上記画像処理プログラムが導入されて実行されることで、図３に示すような機能ブロックが構築される。すなわち、複合装置１は、画像処理プログラムが導入されることで、データ受取部４０、データ蓄積部４１、第１検出用データ生成部４２ａ、第２検出用データ生成部４２ｂ、第３検出用データ生成部４２ｃ、第１原稿端部検出部４３ａ、第２原稿端部検出部４３ｂ、第３原稿端部検出部４３ｃ、第１適合度選出部４４ａ、第２適合度算出部４４ｂ、第３適合度算出部４４ｃ、第１原稿傾き算出部４５ａ、第２原稿傾き算出部４５ｂ、第３原稿傾き算出部４５ｃ、第１重み係数算出部４６ａ、第２重み係数算出部４６ｂ、第３重み係数算出部４６ｃ、最終原稿傾き算出部４７及び傾き補正部４８が構築される。複合装置１は、上記画像処理プログラムが導入されることで、上記各機能ブロックが、コントローラ１１に構築され、コントローラ１１は、画像処理装置として機能する。したがって、複合装置１は、画像読取部としてスキャナ部３を備え、画像処理装置（画像処理部）としてコントローラ１１を備えた画像読取装置として機能している。
【００３７】
データ受取部（データ受取手段）４０は、スキャナＩ／Ｆ２７やネットワークＩ／Ｆ２６等で構築され、スキャナ部３の読み取った読取画像データやホスト装置が読み取った読取画像データを受け取って、データ蓄積部４１に蓄積する。
【００３８】
データ蓄積部４１は、ハードディスク２５等で構築されており、データ受取部４０が受け取った読取画像データをページ毎に蓄積する。
【００３９】
検出用データ生成部（データ生成手段）４２ａ〜４２ｃは、それぞれデータ受取部４０の受け取った読取画像データに対して、後述する原稿端部検出部４３ａ〜４３ｃにおける端部検出方式に対応した形式のデータ（方式別処理対象データ）を生成する。
【００４０】
いま、第１原稿端部検出部４３ａが、輝度データ（エッジ抽出レベル）に基づいて原稿端部を検出する端部検出方式であり、第２原稿端部検出部４３ｂが、輝度差（濃度差）に基づいて原稿端部を検出する端部検出方式であるとする。また、第３原稿端部検出部４３ｃが、色差に基づいて原稿端部を検出する端部検出方式であるとする。
【００４１】
上記端部検出方式であるものとしたとき、第１検出用データ生成部４２ａは、読取画像データから輝度データ、特に、エッジ抽出データを方式別処理対象データとして生成して、第１原稿端部検出部４３ａ及び第１適合度算出部４４ａへ出力する。また、第２検出用データ生成部４２ｂは、読取画像データから輝度差データを方式別処理対象データとして生成して、第２原稿端部検出部４３ｂ及び第２適合度算出部４４ｂへ出力する。さらに、第３検出用データ生成部４２ｃは、読取画像データから色差データを方式別処理対象データとして生成して、第３原稿端部検出部４３ｃ及び第３適合度算出部４４ｃへ出力する。例えば、第３検出用データ生成部４２ｃは、読取画像データがＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）データであると、このＲＧＢデータをＬａｂ空間に変換したＬａｂデータを生成し、Ｌａｂデータを用いて色差データを生成する。
【００４２】
第１原稿端部検出部（原稿端部検出手段）４３ａは、第１検出用データ生成部４２ａの生成した輝度データに基づいて、読取画像データの端部位置、特に、上端２箇所の位置を検出し、検出した２箇所の端部位置データを第１原稿傾き算出部４５ａへ出力する。なお、第１原稿端部検出部４３ａは、上記説明では、読取画像データの所定距離離れた２箇所の上端を検出しているが、検出する位置は、上端に限るものではなく、また、２箇所に限るものでもない。
【００４３】
第１適合度算出部（適合度算出手段）４４ａは、第１原稿端部検出部４３ａのエッジ抽出データ（輝度データ）に基づく端部検出方式における原稿の端部検出に対する適合度を算出し、算出した適合度を第１重み係数算出部４６ａへ出力する。
【００４４】
第２原稿端部検出部（原稿端部検出手段）４３ｂは、第２検出用データ生成部４２ｂの生成した輝度差データに基づいて、読取画像データの端部位置、特に、上端２箇所の位置を検出し、検出した２箇所の端部位置データを第１原稿傾き算出部４５ｂへ出力する。なお、第２原稿端部検出部４３ｂは、上記説明では、読取画像データの所定距離離れた２箇所の上端を検出しているが、検出する位置は、上端に限るものではなく、また、２箇所に限るものでもない。
【００４５】
第２適合度算出部（適合度算出手段）４４ｂは、第２原稿端部検出部４３ｂの輝度差データに基づく端部検出方式における原稿の端部検出に対する適合度を算出し、算出した適合度を第２重み係数算出部４６ｂへ出力する。
【００４６】
第３適合度算出部（適合度算出手段）４４ｃは、第３原稿端部検出部４３ｃの色差データに基づく端部検出方式における原稿の端部検出に対する適合度を算出し、算出した適合度を第３重み係数算出部４６ｃへ出力する。
【００４７】
第３原稿端部検出部（原稿端部検出手段）４３ｃは、第３検出用データ生成部４２ｃの生成した色差データに基づいて、読取画像データの端部位置、特に、上端２箇所の位置を検出し、検出した２箇所の端部位置データを第１原稿傾き算出部４５ｃへ出力する。なお、第３原稿端部検出部４３ｃは、上記説明では、読取画像データの所定距離離れた２箇所の上端を検出しているが、検出する位置は、上端に限るものではなく、また、２箇所に限るものでもない。
【００４８】
第１原稿傾き算出部（方式別傾き算出手段）４５ａは、第１原稿端部検出部４３ａから入力される端部位置データに基づいて読取画像データの傾きを第１原稿傾きとして算出し、算出した第１原稿傾きを最終原稿傾き算出部４７へ出力する。
【００４９】
第１重み係数算出部（重み係数算出手段）４６ａは、第１適合度算出部４４ａから入力される適合度から、第１原稿傾き算出部４５ａの算出する第１原稿傾きに対する重み付け係数を算出し、第１重み係数として最終原稿傾き算出部４７へ出力する。
【００５０】
第２原稿傾き算出部（方式別傾き算出手段）４５ｂは、第２原稿端部検出部４３ｂから入力される端部位置データに基づいて読取画像データの傾きを第２原稿傾きとして算出し、算出した第２原稿傾きを最終原稿傾き算出部４７へ出力する。
【００５１】
第２重み係数算出部（重み係数算出手段）４６ｂは、第２適合度算出部４４ｂから入力される適合度から、第２原稿傾き算出部４５ｂの算出する第２原稿傾きに対する重み付け係数を算出し、第２重み係数として最終原稿傾き算出部４７へ出力する。
【００５２】
第３原稿傾き算出部（方式別傾き算出手段）４５ｃは、第３原稿端部検出部４３ｃから入力される端部位置データに基づいて読取画像データの傾きを第３原稿傾きとして算出し、算出した第３原稿傾きを最終原稿傾き算出部４７へ出力する。
【００５３】
第３重み係数算出部（重み係数算出手段）４６ｃは、第３適合度算出部４４ｃから入力される適合度から、第３原稿傾き算出部４５ｃの算出する第３原稿傾きに対する重み付け係数を算出し、第３重み係数として最終原稿傾き算出部４７へ出力する。
【００５４】
最終原稿傾き算出部（傾き算出手段）４７は、上記第１原稿傾き、第１重み係数、第２原稿傾き、第２重み係数、第３原稿傾き及び第３重み係数に基づいて、読取画像データの傾きを最終原稿傾きとして算出し、算出した最終原稿傾きを傾き補正部４８へ出力する。
【００５５】
傾き補正部（傾き補正手段）４８は、最終原稿傾きに基づいて、読取画像データの傾きを補正する。
【００５６】
次に、本実施例の作用を説明する。本実施例の複合装置１は、読取画像データの読み取り時の傾きをハードウェア的に検出することなく、正確に検出する。
【００５７】
すなわち、複合装置１は、読取画像データをデータ受取部４０が受け取ると、データ蓄積部４１に蓄積し、図４に示すように、蓄積した読取画像データの傾きを検出して、検出結果に基づいて傾き補正する。複合装置１は、スキャナ部３において、あるいは、ホスト装置のスキャナにおいて、図４（ａ）に示すように、原稿Ｇが、スキャン方向に対して、ある傾きを持ってスキャンされた（読み取られた）ものとする。複合装置１は、データ受取部４０が、傾いて読み取られた原稿の読取画像データを受け取り、データ蓄積部４１にページ毎に蓄積する。
【００５８】
複合装置１は、読取画像データが傾きを有しているため、図４（ｂ）に示すように、データ蓄積部４１に対して、読取画像データの画像領域である読取画像領域Ｇｒよりも大きな蓄積画像領域Ａｒに該読取画像領域Ｇｒで示す読取画像データを蓄積することとなる。
【００５９】
複合装置１は、この蓄積画像領域Ａｒに蓄積された読取画像データ（読取画像領域Ｇｒ）の傾きを検出し、図４（ｃ）に示すように、検出した傾きに基づいて読取画像データ（読取画像領域Ｇｒを、蓄積画像領域Ａｒに対して補正する。
【００６０】
複合装置１は、図４（ｄ）に示すように、蓄積画像領域Ａｒの読取画像領域Ｇｒの画像データを切り出して、印刷出力や転送出力等の出力を行う。
【００６１】
そして、複合装置１は、少ないデータ処理で、かつ、速やかに、読取画像データの傾きを検出するために、図５に示すように、読取画像領域Ｇｒの上端の蓄積画像領域Ａｒの上端に対する傾きを検出することで、読取画像データの傾きを検出する。
【００６２】
すなわち、複合装置１は、例えば、読取画像領域Ｇｒの右上隅の位置から所定量（図５では、１００ｍｍの位置（検出位置Ａ）と２００ｍｍの位置（検出位置Ｂ）の２箇所の位置において、副走査方向（図５の縦方向）における原稿画像の端部位置を検出する。そして、複合装置１は、少ないデータ処理で、かつ、速やかに、読取画像データの傾きを検出するために、蓄積画像領域Ａｒの上端位置Ｃから副走査方向に検査下限位置Ｄまでを検査範囲として、原稿端部検出を行う。そして、複合装置１は、原稿端部を検出した位置を、蓄積画像領域Ａｒ上の先端から読取画像領域Ｇｒの上端までの距離を、原稿端部位置データｙａ、ｙｂとして取得して、原稿傾きを算出する。したがって、検査範囲のみのデータ処理を行うことで、読取画像データの傾きを検出することができ、処理速度を速くすることができる。
【００６３】
具体的には、複合装置１は、図６に示すような傾き検出・補正を行う画像処理を実行する。すなわち、複合装置１は、図６に示すように、データ受取部４０が、スキャナ部３やホスト装置から読取画像データを受け取る読取画像データ受取処理を行う（ステップＳ１０１）。
【００６４】
次に、複合装置１lは、受け取った読取画像データを、図４（ｂ）に示したように、データ蓄積部４１の蓄積画像領域Ａｒに蓄積する読取画像データ蓄積処理を行う（ステップＳ１０２）。
【００６５】
複合装置１は、次に、検出用データ生成部４２ａ〜４２ｃが、第１原稿端部検出部４３ａ〜４３ｃによる原稿端部検出処理の処理方法に応じた検出用データを生成する（ステップＳ１０３）。
【００６６】
例えば、第１原稿端部検出部４３ａは、ソーベルフィルタ等のエッジ抽出フィルタで原稿の端部（エッジ部）を検出に基づいて原稿端部を検出する。そこで、第１原稿端部検出部４３ａに対応する第１検出用データ生成部４２ａは、読取画像データから検出用データとして、輝度データ、特に、エッジ抽出データを生成する。この輝度データは、読取画像データのＲＧＢから生成するグレー情報やＬａｂに色変換したＬデータである。第２原稿端部検出部４３ｂは、輝度差に基づいて原稿端部を検出するため、第２原稿端部検出部４３ｂに対応する第２検出用データ生成部４２ｂは、読取画像データから検出用データとして、輝度データを生成する。さらに、第３原稿端部検出部４３ｃは、画像データの色差に基づいて原稿端部を検出するため、第１３原稿端部検出部４３ｃに対応する第３検出用データ生成部４２ｃは、読取画像データから色差データを生成する。そして、各検出用データ生成部４２ａ〜４２ｃは、生成した検出用データを、対応する原稿端部検出部４３ａ〜４３ｃへ出力するとともに、対応する適合度算出部４４ａ〜４４ｃへ出力する。
【００６７】
次に、複合装置１は、原稿端部検出部４３ａ〜４３ｃ、適合度算出部４４ａ〜４４ｃ、原稿傾き算出部４５ａ〜４５ｃ及び重み係数算出部４６ａ〜４６ｃが、原稿端部・傾き算出処理を行う（ステップＳ１０４）。なお、この原稿端部・傾き算出処理では、原稿端部を検出してその検出結果に基づいて原稿傾き角度を算出するとともに、その適合度に応じた重み係数の算出を行うが、その詳細については、後で説明する。
【００６８】
複合装置１は、最終原稿傾き算出部４７が、原稿端部・傾き算出処理で算出した原稿傾きを、重み係数に基づいて調整して、最終的な原稿傾き角度を算出する最終原稿傾き算出処理を行う（ステップＳ１０５）。
【００６９】
複合装置１は、最終的な原稿傾き角度に基づいて、傾き補正部４８が、読取画像データの傾きを補正して、必要な画像データを切り出す傾き補正処理を行う（ステップＳ１０６）。
【００７０】
そして、上記複合装置１は、上記原稿端部・傾き算出処理を、原稿端部検出部４３ａ〜４３ｃ、適合度算出部４４ａ〜４４ｃ、原稿傾き算出部４５ａ〜４５ｃ及び重み係数算出部４６ａ〜４６ｃが、以下のように、実行する。
【００７１】
第１原稿端部検出部４３ａは、第１検出用データ生成部４２ａから入力される第１検出用データである輝度データ（エッジ抽出データ）に基づいて、図７に示すように、読取画像データにおける原稿端部位置を検出する。すなわち、原稿を読み取った読取画像データのうち、第１検出用データ生成部４２ａで生成された輝度データは、図７（ａ）に示すように、上記検出位置Ａと検出位置Ｂにおける副走査方向においてデータ変化する。ここで、図７に示す対向板領域とは、スキャナ部３等の原稿読取部において、読取センサから見て原稿の背面に配設されている面状部材であり、例えば、コンタクトガラス上に原稿が設置される方式の場合の圧板、原稿が搬送される場合のガイド板等である。対向板は、通常、白色に施されているが、浮游ボミや汚れ等によって読取画像データに小さいデータ変化として現れる。そして、第１原稿端部検出部４３ａは、検出位置Ａ及び検出位置Ｂに対応する読取画像データから生成された輝度データの変化を調べて、図７（ｂ）に示すように、原稿端部の影の部分をエッジ成分として抽出する。第１原稿端部検出部４３ａは、例えば、このエッジ検出を、ソーベルフィルタ等のエッジ抽出フィルタ処理を行うことで、エッジ検出を行ない、そのデータに対して２値化処理してエッジ検出結果とする。さらに、第１原稿端部検出部４３ａは、２値化処理後のエッジ検出結果を、図７（ｃ）に示すように、所定の閾値（例えば、「２５５」）と比較して、閾値（「２５５」）以下の部分をエッジ部分とし、「０」から「２５５」に変わるところの変化点を原稿端と判定する。第１原稿端部検出部４３ａは、検出位置Ａと検出位置Ｂのそれぞれにおいて、画像の先頭からエッジ変化点までのライン数を、検出位置Ａの原稿端部ｙａを、ｙａ＝１００ライン目、検出位置Ｂの原稿端部ｙｂを、ｙｂ＝１１６ライン目としてカウントし、カウント結果を、原稿端部位置として第１原稿傾き算出部４５ａへ出力する。
【００７２】
そして、第１原稿傾き算出部４５ａは、第１原稿端部検出部４３ａからの検出位置Ａと検出位置Ｂにおける原稿端部位置ｙａ、ｙｂ及び（検出位置Ａ−Ｂ間の画素数ＡＢｓ）から次式（１）により算出する。いま、ｙａ＝１００、ｙｂ＝１１６、ＡＢｓ＝２３６２とすると、次式より、第１原稿傾きｄ１は、約０．３９度となる。なお、本実施例では、読取解像度は、主走査方向及び副走査方向共に、６００ｄｐｉとする。
【００７３】
第１原稿傾きｄ１＝（ｙａ−ｙｂ）／ＡＢｓ
＝ｄ１＝（１００ー１１６）／２３６２＝約０．３９度・・・（１）
第１原稿傾き算出部４５ａは、算出した第１原稿傾きｄ１を最終原稿傾き算出部４７へ出力する。
【００７４】
第１適合度算出部４４ａは、第１原稿端部検出部４３ａにおけるエッジ検出による原稿端部を検出する方法の適合度を、エッジのピーク位置のレベルと、予め設定されている基準とするエッジレベル（基準エッジレベル）との比として算出する。エッジ検出においては、このエッジのピークが高いほど精度よく原稿端を検出することができる。
【００７５】
そして、第１適合度算出部４４ａは、エッジのピークが小さい場合には、浮遊ごみや対向板の汚れ等を検知した可能性がある。そこで、本実施例では、例えば、図７（ｂ）に示すように、基準エッジレベルを「８８」として、検出位置Ａの原稿端エッジのエッジレベルが、「９８」であるので、第１適合度算出部４４ａは、適合度ｓａを、ｓａ＝９８／８８＝約１．１１として算出する。第１適合度算出部４４ａは、同様に、検出位置Ｂの原稿端エッジのエッジレベルが「９４」であるので、適合度ｓｂを、ｓｂ＝９４／８８＝約１．０７として算出する。
【００７６】
第１適合度算出部４４ａは、算出した適合度ｓａ、ｓｂを、第１重み係数算出部４６ａへ出力する。
【００７７】
第１重み係数算出部４６ａは、第１適合度算出部４４ａから入力される適合度を重み付け係数に変換して、最終原稿傾き算出部４７へ出力する。具体的には、第１重み係数算出部４６ａは、検出位置Ａと検出位置Ｂの適合度の単純平均、検出位置Ａの適合度と検出位置Ｂの適合度のうち大きい方か、小さい方、あるいは、検出位置Ａと検出位置Ｂの適合度に一定の倍数を乗算した平均を、重み係数Ｋ１として求める。
【００７８】
例えば、第１重み係数算出部４６ａは、単純平均では、Ｋ１＝（ｓａ＋ｓｂ）／２、大小何れかでは、Ｋ１＝ｍａｘ（ｓａ、ｓｂ）、Ｋ１＝ｍｉｎ（ｓａ、ｓｂ）、乗算平均では、Ｋ１＝（ｓａ＊ｓ＋ｓｂ＊ｓ）／２である。なお、上記式において、ｍａｘ（）は、最大値を選択する関数、ｍｉｎ（）は、最小値を選択する関数である。また、ｓａ＊ｓ、ｓｂ＊ｓにおける「ｓ」は、倍率を示している。
【００７９】
いま、乗算平均の場合、ｓａを「１．１１」、ｓｂを「１．０７」、ｓを「１．４」とすると、重み係数Ｋ１は、Ｋ１＝（１．１１×１．４＋１．０７×１．４）／２＝１．５２６となる。
【００８０】
第１重み係数算出部４６ａは、基準に比較して原稿地肌部との差が極端に大きい場合は、過度に重みがかからないようにするために、上限を設けて一定の値に重み係数を飽和させてもよい。
【００８１】
例えば、第１重み係数算出部４６ａは、上限の適合度が、「１．１０」である場合、上記例の「１．１１」を、「１．１０」に置き換える処理を行う。
【００８２】
また、逆に、第１重み係数算出部４６ａは、適合度が極端に小さい場合は、誤った検出の可能性があるため、誤検知の影響を小さくするために、適合度に下限値を設けて、下限値を下回る場合、係数を「０」に設定する。例えば、第１重み係数算出部４６ａは、ｓａ＝１．１１、ｓｂ＝０．８で、下限値＝０．９の場合、重み係数Ｋ１＝０に設定する。
【００８３】
そして、第２原稿端部検出部４３ｂは、第２検出用データ生成部４２ｂの生成した輝度データから輝度差を求めて、読取画像データの端部位置、特に、上端２箇所の位置を検出し、検出した２箇所の端部位置データを第２原稿傾き算出部４５ｂへ出力する。
【００８４】
第２原稿端部検出部４３ｂは、第２検出用データ生成部４２ｂから入力される第２検出用データである輝度データに基づいて、図８に示すように、読取画像データにおける原稿端部位置を検出する。すなわち、原稿を読み取った読取画像データのうち、第２検出用データ生成部４２ｂで生成された輝度データは、図８（ａ）に示すように、上記検出位置Ａと検出位置Ｂにおける副走査方向においてデータ変化する。第２原稿端部検出部４３ｂは、原稿部分が読み取られる前の対向板の輝度データと、原稿地肌部の輝度データの変化点を、原稿端部として検出する。複合装置１は、第２原稿端部検出部４３ｂにおける輝度差算出の基準となる対向板の輝度を、工場出荷時等のごみや汚れが付着していない状態でスキャンした（読み取った）データを、例えば、平均した値（平均値）を生成し、予め基準輝度として保管している。いま、図８（ａ）では、対向板輝度が、「２５３」としている。第２原稿端部検出部４３ｂは、原稿領域の輝度については、後述する変化点以降の画素データを平均して算出する。
【００８５】
ここで、原稿領域部の輝度は、図８（ａ）の場合、検出位置Ａで、「２１０」、検出位置Ｂで、「２０５」である。そして、第２原稿端部検出部４３ｂは、変化点を、読取画像データの輝度情報を、変化点検出閾値（本実施例では、「２３０」としている。）で、２値化処理することで求める。
【００８６】
すなわち、第２原稿端部検出部４３ｂは、図８（ｂ）に示すように、上記２値化後の「０」から「２５５」に変化する変化点を原稿端として検出する。図８（ｂ）の場合、第２原稿端部検出部４３ｂは、検出位置Ａについては、ｙａ＝１０５ライン目、検出位置Ｂについては、ｙｂ＝１２０ライン目として検出して、第２原稿傾き算出部４５ｂへ出力する。
【００８７】
第２原稿傾き算出部４５ｂは、第２原稿傾きｄ２を、第２原稿端部検出部４３ｂの検出した検出位置Ａと検出位置Ｂにおける原稿端部位置ｙａ、ｙｂ及び（検出位置Ａ−Ｂ間の画素数ＡＢｓ）から次式（２）により算出する。いま、ｙａ＝１０５、ｙｂ＝１２０、ＡＢｓ＝２３６２とすると、次式より、第２原稿傾きｄ２は、約０．３６度となる。
【００８８】
第２原稿傾きｄ２＝（ｙａ−ｙｂ）／ＡＢｓ
＝（１０５−１２０）／２３６２＝約０．３６度・・・（２）
第２原稿傾き算出部４５ｂは、算出した第２原稿傾きｄ２を、最終原稿傾き算出部４７へ出力する。
【００８９】
第２適合度算出部４４ｂは、輝度差を用いた第２原稿端部検出部４３ｂにおける原稿端部を検出する方法の適合度を、対向板領域と原稿領域の輝度差と、予め設定されている基準輝度差との比として算出する。輝度差を用いた原稿端部の検出においては、輝度差が大きいほど、精度よく原稿端部を検出することができ、対向板の輝度と原稿地肌部の輝度が同程度であると、輝度差が小さいため、原稿端部の誤検出を招くおそれがある。
【００９０】
そして、本実施例の第２適合度算出部４４ｂは、例えば、基準輝度差を、「３３」としたとき、検出位置Ａの原稿地肌部の輝度差が、「４３」であると、適合度ｓａとして、ｓａ＝４３／３３＝約１．３を算出する。同様に、第２適合度算出部４４ｂは、検出位置Ｂの原稿地肌部の輝度差が、「４８」であると、適合度ｓｂとして、ｓｂ＝４８／３３＝約１．４５を算出する。
【００９１】
第２適合度算出部４４ｂは、算出した適合度ｓａ、ｓｂを、第２重み係数算出部４６ｂへ出力する。
【００９２】
第２重み係数算出部４６ｂは、第２適合度算出部４４ｂから入力される適合度を重み付け係数に変換して、最終原稿傾き算出部４７へ出力する。具体的には、第２重み係数算出部４６ｂは、検出位置Ａと検出位置Ｂの適合度の、単純平均、検出位置Ａの適合度と検出位置Ｂの適合度のうち大きい方か、小さい方、あるいは、検出位置Ａと検出位置Ｂの適合度に一定の倍数を乗算した平均を、重み係数Ｋ２として求める。
【００９３】
例えば、第２重み係数算出部４６ｂは、単純平均では、Ｋ２＝（ｓａ＋ｓｂ）／２、大小何れかでは、Ｋ２＝ｍａｘ（ｓａ、ｓｂ）、Ｋ２＝ｍｉｎ（ｓａ、ｓｂ）、乗算平均では、Ｋ２＝（ｓａ＊ｓ＋ｓｂ＊ｓ）／２である。
【００９４】
いま、乗算平均の場合、ｓａを「１．３０」、ｓｂを「１．４５」、ｓを「１．５」とすると、重み係数Ｋ２は、Ｋ２＝（１．３０×１．５＋１．４５×１．５）／２＝２．０６２５となる。
【００９５】
また、第２重み係数算出部４６ｂは、基準に比較して原稿地肌部との差が極端に大きい場合は、過度に重みがかからないようにするために、上限を設けて一定の値に重み係数を飽和させてもよい。
【００９６】
例えば、第２重み係数算出部４６ｂは、上限の適合度が、「１．３０」である場合、上記例の「１．４５」を、「１．３０」に置き換える処理を行う。
【００９７】
また、逆に、第２重み係数算出部４６ｂは、適合度が極端に小さい場合は、誤った検出の可能性があるため、誤検知の影響を小さくするために、適合度に下限値を設けて、下限値を下回る場合、係数を「０」に設定する。例えば、第２重み係数算出部４６ｂは、ｓａ＝０．８５、ｓｂ＝１．４５で、下限値＝０．９の場合、重み係数Ｋ２＝０に設定する。
【００９８】
そして、第３原稿端部検出部４３ｃは、第３検出用データ生成部４２ｃの生成した色差データに基づいて、読取画像データの端部位置、特に、上端２箇所の位置を検出し、検出した２箇所の端部位置データを第３原稿傾き算出部４５ｃへ出力する。
【００９９】
ここで、第３検出用データ生成部４２ｃは、上述のように、読取画像データのＲＧＢをＬａｂに色変換して色差データを生成し、検出位置Ａ、検出位置Ｂの色差データと色差データの変換点は、図９のように示される。
【０１００】
第３原稿端部検出部４３ｃは、第３検出用データ生成部４２ｃから入力される第３検出用データである色差データに基づいて、図９に示すように、読取画像データにおける原稿端部位置を検出する。すなわち、原稿を読み取った読取画像データのうち、第３検出用データ生成部４２ｃで生成された色差データは、図９（ａ）に示すように、上記検出位置Ａと検出位置Ｂにおける副走査方向においてデータ変化する。第３原稿端部検出部４３ｃは、原稿部分が読み取られる前の対向板の色差データと、原稿地肌部の色差データの変化点を、原稿端部として検出する。複合装置１は、第３原稿端部検出部４３ｃにおける色差算出の基準となる対向板の色情報を、工場出荷時等のごみや汚れが付着していない状態でスキャンした（読み取った）データを、例えば、平均した値（平均値）を生成し、予め基準輝度として保管している。いま、図９（ａ）では、対向板の色情報（ＲＧＢをＬａｂに変換したデータ）が、Ｌ＝９２、ａ＝２、ｂ＝−１２である。また、第３原稿端部検出部４３ｃは、原稿領域の色情報を、変化点以降の画素データを平均して算出する。
【０１０１】
いま、第３原稿端部検出部４３ｃは、検出位置Ａの色情報を、Ｌ＝８８、ａ＝−１、ｂ＝３としたとき、検出位置Ａの原稿領域部の色差Δを、ΔＥ＝√（（９２−８８）^２＋（２−（−１））^２＋（−１２−２）^２）＝１５と算出する。
【０１０２】
また、第３原稿端部検出部４３ｃは、検出位置Ｂの色情報を、Ｌ＝８７、ａ＝−２、ｂ＝３としたとき、検出位置Ｂの原稿領域部の色差Δを、ΔＥ＝√（（９２−８７）^２＋（２−（−２））^２＋（−１２−３）^２）＝１６と算出する。
【０１０３】
そして、第３原稿端部検出部４３ｃは、変化点を、読取画像データの色情報を、変化点検出閾値（本実施例では、「１０」としている。）で、２値化処理することで求める。
【０１０４】
すなわち、第３原稿端部検出部４３ｃは、図９（ｂ）に示すように、上記２値化後の「０」から「２５５」に変化する変化点を原稿端として検出する。図９（ｂ）の場合、第３原稿端部検出部４３ｃは、検出位置Ａについては、ｙａ＝１１１ライン目、検出位置Ｂについては、ｙｂ＝１２０ライン目として検出して、第３原稿傾き算出部４５ｃへ出力する。
【０１０５】
第３原稿傾き算出部４５ｃは、第３原稿傾きｄ３を、第３原稿端部検出部４３ｃの検出した検出位置Ａと検出位置Ｂにおける原稿端部位置ｙａ、ｙｂ及び（検出位置Ａ−Ｂ間の画素数ＡＢｓ）から次式（３）により算出する。いま、ｙａ＝１１１、ｙｂ＝１２５、ＡＢｓ＝２３６２とすると、次式より、第３原稿傾きｄ３は、約０．３４度となる。
【０１０６】
第３原稿傾きｄ３＝（ｙａ−ｙｂ）／ＡＢｓ
＝（１１１−１２５）／２３６２＝約０．３４度・・・（３）
第３原稿傾き算出部４５ｃは、算出した第３原稿傾きｄ３を、最終原稿傾き算出部４７へ出力する。
【０１０７】
第３適合度算出部４４ｃは、色差を用いた第３原稿端部検出部４３ｃにおける原稿端部を検出する方法の適合度を、対向板領域と原稿領域の色差と、予め設定されている基準色差との比として算出する。色差を用いた原稿端部の検出においては、色差が大きいほど、精度よく原稿端部を検出することができ、対向板の色情報と原稿地肌部の色情報が同程度であると、色差が小さいため、原稿端部の誤検出を招くおそれがある。
【０１０８】
そして、本実施例の第３適合度算出部４４ｃは、例えば、基準色差を、「１３」としたとき、検出位置Ａの原稿地肌部の色差が、「１５」であると、適合度ｓａとして、ｓａ＝１５／１３＝約１．１５を算出する。同様に、第３適合度算出部４４ｃは、検出位置Ｂの原稿地肌部の色差が、「１６」であると、適合度ｓｂとして、ｓｂ＝１６／１３＝約１．２３を算出する。
【０１０９】
第３適合度算出部４４ｃは、算出した適合度ｓａ、ｓｂを、第３重み係数算出部４６ｃへ出力する。
【０１１０】
第３重み係数算出部４６ｃは、第３適合度算出部４４ｃから入力される適合度を重み付け係数に変換して、最終原稿傾き算出部４７へ出力する。具体的には、第３重み係数算出部４６ｃは、検出位置Ａと検出位置Ｂの適合度の、単純平均、検出位置Ａの適合度と検出位置Ｂの適合度のうち大きい方か、小さい方、あるいは、検出位置Ａと検出位置Ｂの適合度に一定の倍数を乗算した平均を、重み係数Ｋ３として求める。
【０１１１】
例えば、第３重み係数算出部４６ｃは、単純平均では、Ｋ３＝（ｓａ＋ｓｂ）／２、大小何れかでは、Ｋ３＝ｍａｘ（ｓａ、ｓｂ）、Ｋ３＝ｍｉｎ（ｓａ、ｓｂ）、乗算平均では、Ｋ３＝（ｓａ＊ｓ＋ｓｂ＊ｓ）／２である。
【０１１２】
いま、乗算平均の場合、ｓａを「１．１５」、ｓｂを「１．２３」、ｓを「１．５」とすると、重み係数Ｋ３は、Ｋ３＝（１．１５×１．５＋１．２３×１．５）／２＝１．７８５となる。
【０１１３】
また、第３重み係数算出部４６ｃは、基準に比較して原稿地肌部との差が極端に大きい場合は、過度に重みがかからないようにするために、上限を設けて一定の値に重み係数を飽和させてもよい。
【０１１４】
例えば、第３重み係数算出部４６ｃは、上限の適合度が、「１．１０」である場合、上記例の「１．２３」を、「１．１０」に置き換える処理を行う。
【０１１５】
また、逆に、第３重み係数算出部４６ｃは、適合度が極端に小さい場合は、誤った検出の可能性があるため、誤検知の影響を小さくするために、適合度に下限値を設けて、下限値を下回る場合、係数を「０」に設定する。例えば、第３重み係数算出部４６ｃは、ｓａ＝１．２、ｓｂ＝０．８で、下限値＝０．９の場合、重み係数Ｋ３＝０に設定する。
【０１１６】
そして、最終原稿傾き算出部４７は、原稿傾き算出部４５ａ〜４５ｃから入力される第１原稿傾きｄ１、第２原稿傾きｄ２、第３原稿傾きｄ３及び重み係数算出部４６ａ〜４６ｃから入力される重み係数Ｋ１、Ｋ２、Ｋ３に基づいて、最終的な原稿傾きｄを算出する。
【０１１７】
すなわち、最終原稿傾き算出部４７は、次式（４）に示すように、第１原稿傾きｄ１に重み係数Ｋ１を乗算、第２原稿傾きｄ２に重み係数Ｋ２を乗算、さらに、第３原稿傾きｄ３に重み係数Ｋ３を乗算して、それらの乗算結果の総和を、全ての重み係数を加算した結果で除算することで、最終原稿傾きｄを求める。
【０１１８】
ｄ＝（ｄ１＊Ｋ１＋ｄ２＊Ｋ２＋ｄ３＊Ｋ３）／（Ｋ１＋Ｋ２＋Ｋ３）・・・（４）
そして、最終原稿傾き算出部４７は、求めた最終原稿傾きｄを、傾き補正部４８に出力する。
【０１１９】
傾き補正部４８は、最終原稿傾きｄに基づいて、読取画像データに対して、回転処理を施して、読取画像データの傾きを補正する。傾き補正部４８は、例えば、図４（ａ）に示した読取画像データに対して、最終原稿傾きｄだけ回転処理を施して、図４（ｄ）に示したように、読取画像データの傾きを補正し、さらに、読取画像領域Ｇｒのみを切り出す処理を行う。
【０１２０】
複合装置１は、上記傾き検出・補正処理を、具体的には、以下のように行う。いま、例えば、第１検出用データ生成部４２ａが生成した輝度データに対して、第１原稿傾き算出部４５ａが、第１原稿傾きｄ１＝−１６／２３６２（約０．３９度）を、第１適合度算出部４４ａが、適合度ｓａ＝１．１５、ｓｂ＝１．２３を、そして、第１重み係数算出部４６ａが、重み係数Ｋ１＝１．０９を算出する。第２検出用データ生成部４２ｂが生成した輝度データに対して、第２原稿傾き算出部４５ｂが、第２原稿傾きｄ２＝−１５／２３６２（約０．３６度）を、第２適合度算出部４４ｂが、適合度ｓａ＝１．３０、ｓｂ＝１．４５を、第２重み係数算出部４６ｂが、重み係数Ｋ２＝１．３７５を算出する。そして、第３検出用データ生成部４２ｃが生成した色差データに対して、第３原稿傾き算出部４５ｃが、第３原稿傾きｄ３＝−１４／２３６２（約０．３４度）を、第３適合度算出部４４ｃが、適合度ｓａ＝１．１５、ｓｂ＝１．２３を、第３重み係数算出部４６ｃが、重み係数Ｋ３＝１．１９を算出する。
【０１２１】
この場合、最終原稿傾き算出部４７は、最終原稿傾きｄを、式（４）により、以下のように算出する。
【０１２２】
ｄ＝（−１６／２３６２）×１．０９＋（−１５／２３６２）×１．３７５＋（−１４／２３６２）×１．１９／（１．０９＋１．３７５＋１．１９）＝−０．００６３４（約０．３６度）
また、上述のように加重平均を採用する場合、例えば、適合度が、「１．１」以下が含まれている検出結果を用いない加重平均では、以下のように処理する。
【０１２３】
すなわち、上記例の場合、第１適合度算出部４４ａの算出した適合度ｓｂ＝１．０７は、「１．１」よりも小さいため、この適合度ｓｂを含む第１原稿傾きｄ１を、最終原稿傾きｄの算出対象から除外し、以下のように、最終原稿傾きｄを、算出する。
【０１２４】
ｄ＝（−１５／２３６２）×１．３７５＋（−１４／２３６２）×１．１９／（１．３７５＋１．１９）＝−０．００６１５
そして、複合装置１は、この場合、算出した最終原稿傾きｄに基づいて、読取画像データの傾き補正を傾き補正部４８で行うが、最終原稿傾き算出部４７は、この最終原稿傾きｄを、メモリ、例えば、ＮＶＲＡＭ２４等に保管する。
【０１２５】
複合装置１は、全ての検出方式の適合度が予め設定されている下限値以下であることを傾き破棄条件として設定し、今回の処理で適合度が該下限値以下であると、前の傾き検出・補正処理で算出した最終原稿傾きｄを使用する。
【０１２６】
例えば、最終原稿傾き算出部４７は、予め傾き破棄条件=０．８で、次ページの傾き検出・補正処理での適合度が、以下のようであると、前回の傾き検出・補正処理で取得して保管されている前回の最終原稿傾きｄを採用する。
【０１２７】
第１適合度算出部４４ａの算出した適合度ｓａ＝０．７５、ｓｂ＝０．７９
第２適合度算出部４４ｂの算出した適合度ｓａ＝０．６５、ｓｂ＝０．７８
第３適合度算出部４４ｃの算出した適合度ｓａ＝０．３、ｓｂ＝０．５
この場合、最終原稿傾き算出部４７は、前回の最終原稿傾きｄを、用いる場合に限るものではなく、例えば、予め設定されているデフォルトの最終原稿傾き（例えば、最終原稿傾き＝０）を採用してもよい。
【０１２８】
この場合、最終原稿傾き算出部４７は、前回の最終原稿傾きを採用する旨、デフォルトの最終原稿傾きを採用する旨等の情報を操作表示部８のディスプレイ８ｂに表示する等の方法で通知するようにしてもよい。
【０１２９】
このようにすると、ユーザに読取画像データの傾き補正に用いた傾き角度を明確にすることができ、ユーザの利用性を向上させることができる。
【０１３０】
このように、本実施例の複合装置１は、原稿の画像を読み取ることで取得された読取画像データを受け取るデータ受取部（データ受取手段）４０と、異なる端部検出方式、同じ端部検出方式の異なる検出条件で前記読取画像データから前記原稿の端部を検出して方式別端部データを出力する複数の原稿端部検出部（原稿端部検出手段）４３ａ〜４３ｃと、前記各方式別端部データに基づいて前記読取画像データの傾きを個別に算出して方式別傾きデータを出力する原稿傾き算出部（方式別傾き算出手段）４５ａ〜４５ｃと、前記方式別傾きデータに基づいて前記読取画像データの傾きを算出する最終原稿傾き算出部（傾き算出手段）４７と、を備えている。
【０１３１】
したがって、原稿傾き検出におけるゴミや縦スジ等の影響を抑制することができ、原稿傾きを正確に判定することができる。
【０１３２】
また、本実施例の複合装置１は、原稿の画像を読み取ることで取得された読取画像データを受け取るデータ受取処理ステップと、異なる端部検出方式、同じ端部検出方式の異なる検出条件で前記読取画像データから前記原稿の端部を検出して方式別端部データを出力する複数の原稿端部検出処理ステップと、前記各方式別端部データに基づいて前記読取画像データの傾きを個別に算出して方式別傾きデータを出力する方式別傾き算出処理ステップと、前記方式別傾きデータに基づいて前記読取画像データの傾きを算出する傾き算出処理ステップと、を有する画像処理方法を実行している。
【０１３３】
したがって、原稿傾き検出におけるゴミや縦スジ等の影響を抑制することができ、原稿傾きを正確に判定することができる。
【０１３４】
さらに、本実施例の複合装置１は、ＣＰＵ２１等の制御プロセッサに、原稿の画像を読み取ることで取得された読取画像データを受け取るデータ受取処理と、異なる端部検出方式、同じ端部検出方式の異なる検出条件で前記読取画像データから前記原稿の端部を検出して方式別端部データを出力する複数の原稿端部検出処理と、前記各方式別端部データに基づいて前記読取画像データの傾きを個別に算出して方式別傾きデータを出力する方式別傾き算出処理と、前記方式別傾きデータに基づいて前記読取画像データの傾きを算出する傾き算出処理と、を実行させる画像処理プログラムを搭載している。
【０１３５】
したがって、原稿傾き検出におけるゴミや縦スジ等の影響を抑制することができ、原稿傾きを正確に判定することができる。
【０１３６】
また、本実施例の複合装置１は、前記傾きデータに基づいて前記読取画像データの傾きを補正する傾き補正部（傾き補正手段）４８を、さらに備えている。
【０１３７】
したがって、正確に検出した原稿傾きに基づいて、読取画像データの傾きを補正することができ、読取画像データを有効に利用することができる。
【０１３８】
さらに、本実施例の複合装置１は、前記読取画像データから前記各原稿端部検出部（原稿端部検出手段）４３ａ〜４３ｃの前記端部検出方式または前記検出条件に適合した方式別処理対象データを生成する検出用データ生成部（データ生成手段）４２ａ〜４２ｃを、さらに備え、前記原稿端部検出部４３ａ〜４３ｃは、前記方式別処理対象データに基づいて前記原稿の端部を検出して前記方式別端部データを出力する。
【０１３９】
したがって、読取画像データに対して種々の端部検出方式または検出条件よって適切に原稿端部を検出することができ、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制して、原稿傾きをより一層正確に判定することができる。
【０１４０】
また、本実施例の複合装置１は、前記各原稿端部検出部（原稿端部検出手段）４３ａ〜４３ｃの前記端部検出方式における前記原稿の端部検出に対する適合度を算出する適合度算出部（適合度算出手段）４４ａ〜４４ｃと、前記適合度から前記方式別傾きデータに対する方式別重み係数を算出する重み係数算出部（重み係数算出手段）４６ａ〜４６ｃと、をさらに備え、前記最終原稿傾き算出部（傾き算出手段）４７は、前記各方式別傾きデータと前記方式別重み係数に基づいて前記読取画像データの傾きを算出する。
【０１４１】
したがって、読取画像データに対して種々の端部検出方式または検出条件よってより一層適切に原稿端部を検出することができ、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制して、原稿傾きをより一層正確に判定することができる。
【０１４２】
さらに、本実施例の複合装置１は、前記原稿端部検出部（原稿端部検出手段）４３ａ〜４３ｃが、その１つの前記端部検出方式が、エッジ抽出レベルに基づいて前記原稿の端部を検出するエッジ抽出端部検出方式であり、前記適合度算出部（適合度算出手段）４４ａ〜４４ｃが、前記エッジ抽出端部検出方式における適合度として、所定の基準エッジレベルと前記読取画像データにおけるエッジ抽出レベルのピークレベルとの比を算出する。
【０１４３】
したがって、エッジ抽出によって、原稿端部を正確に検出することができ、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制して、原稿傾きをより一層正確に判定することができる。
【０１４４】
また、本実施例の複合装置１は、前記原稿端部検出部（原稿端部検出手段）４３ａ〜４３ｃが、その１つの前記端部検出方式が、画像データの濃度差に基づいて前記原稿の端部を検出する濃度差端部検出方式であり、前記適合度算出部（適合度算出手段）４４ａ〜４４ｃが、前記濃度差端部検出方式における適合度として、所定の基準濃度差と前記原稿領域内外の濃度差との比を算出する。
【０１４５】
したがって、濃度差によって、原稿端部を正確に検出することができ、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制して、原稿傾きをより一層正確に判定することができる。
【０１４６】
さらに、本実施例の複合装置１は、前記原稿端部検出部（原稿端部検出手段）４３ａ〜４３ｃが、その１つの前記端部検出方式が、画像データの色差に基づいて前記原稿の端部を検出する色差端部検出方式であり、前記適合度算出部（適合度算出手段）４４ａ〜４４ｃが、前記色差端部検出方式における適合度として、所定の基準色差と前記原稿領域内外の色差との比を算出する。
【０１４７】
したがって、色差によって、原稿端部を正確に検出することができ、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制して、原稿傾きをより一層正確に判定することができる。
【０１４８】
また、本実施例の複合装置１は、前記重み係数算出部（重み係数算出手段）４６ａ〜４６ｃが、前記原稿端部検出部（原稿端部検出手段）４３ａ〜４３ｃの検出する前記原稿の端部位置における適合度の単純平均値、該適合度のうち最大値と最小値のいずれかの値、前記端部検出方式または前記検出条件に応じた寄与率をそれぞれ乗算した該適合率を平均した重み付け平均値のうち、いずれかを前記方式別重み係数として算出する。
【０１４９】
したがって、各端部検出方式における検出結果を適切に調整して、原稿傾きの検出精度を向上させることができる。その結果、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制することができ、原稿傾きをより一層正確に判定することができる。
【０１５０】
さらに、本実施例の複合装置１は、前記重み係数算出部（重み係数算出手段）４６ａ〜４６ｃが、前記適合度の上限値と下限値を飽和させて該適合度を前記方式別重み係数として算出する。
【０１５１】
したがって、異常な端部検出結果を適切に処理して、原稿傾きの検出精度を向上させることができる。その結果、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制することができ、原稿傾きをより一層正確に判定することができる。
【０１５２】
また、本実施例の複合装置１は、前記重み係数算出部（重み係数算出手段）４６ａ〜４６ｃが、前記適合度が予め設定されている設定下限値を下回ると、前回の原稿傾き、または、所定の設定原稿傾きを前記傾きとして指定する指定適合度を前記方式別重み係数として算出し、前記最終原稿傾き算出部（傾き算出手段）４７が、前記重み係数算出部４６ａ〜４６ｃが前記方式別重み係数として前記指定適合度を指定していると、前記前回の原稿傾き、または、前記設定原稿傾きを、前記読取画像データの傾きとする前記傾きデータを出力する。
【０１５３】
したがって、異常な端部検出結果を適切に処理して、原稿傾きの検出精度を向上させることができる。その結果、原稿傾き検出におけるゴミや縦スジ等の影響をより一層抑制することができ、原稿傾きをより一層正確に判定することができる。
【０１５４】
さらに、本実施例の複合装置１は、情報を報知出力する操作表示部８のディスプレイ（報知手段）８ｂを、さらに備え、前記最終原稿傾き算出部（傾き算出手段）４７が、前記前回の原稿傾き、または、前記設定原稿傾きを、前記読取画像データの傾きとする前記傾きデータを出力する場合には、前記ディスプレイ８ｂに、その旨を報知出力させる。
【０１５５】
したがって、ユーザに読取画像データの傾き補正に用いた傾き角度を明確にすることができ、ユーザの利用性を向上させることができる。
【０１５６】
また、本実施例の複合装置１は、原稿の上端を２箇所で検出するのに必要な範囲の読取画像データについてのみ原稿端部検出処理を行っている。
【０１５７】
したがって、原稿端部検出処理を速やかにかつ安価に行うことができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１５８】
１  複合装置
２  本体筐体
３  スキャナ部
４  プリンタ部
５  給紙部
６  排紙部
７  インクカートリッジ収納部
８  操作表示部
８ａ  キー
８ｂ  ディスプレイ
２１  ＣＰＵ
２２  プログラムＲＯＭ
２３  ＲＡＭ
２４  ＮＶＲＡＭ
２５  ハードディスク
２６  ネットワークＩ／Ｆ
２７  スキャナＩ／Ｆ
２８  プリンタＩ／Ｆ
２９  パネルＩ／Ｆ
３０  外部Ｉ／Ｆ
３１  バス
４０  データ受取部
４１  データ蓄積部
４２ａ  第１検出用データ生成部
４２ｂ  第２検出用データ生成部
４２ｃ  第３検出用データ生成部
４３ａ  第１原稿端部検出部
４３ｂ  第２原稿端部検出部
４３ｃ  第３原稿端部検出部
４４ａ  第１適合度選出部
４４ｂ  第２適合度算出部
４４ｃ  第３適合度算出部
４５ａ  第１原稿傾き算出部
４５ｂ  第２原稿傾き算出部
４５ｃ  第３原稿傾き算出部
４６ａ  第１重み係数算出部
４６ｂ  第２重み係数算出部
４６ｃ  第３重み係数算出部
４７  最終原稿傾き算出部
４８  傾き補正部
【先行技術文献】
【特許文献】
【０１５９】
【特許文献１】特開２０１２−２４４５０７号公報
【図１】
2015211446.tif 000003
【図２】
2015211446.tif 000004
【図３】
2015211446.tif 000005
【図４】
2015211446.tif 000006
【図５】
2015211446.tif 000007
【図６】
2015211446.tif 000008
【図７】
2015211446.tif 000009
【図８】
2015211446.tif 000010
【図９】
2015211446.tif 000011