JP2023116052A - 画像読取装置 - Google Patents

画像読取装置 Download PDF

Info

Publication number
JP2023116052A
JP2023116052A JP2022018596A JP2022018596A JP2023116052A JP 2023116052 A JP2023116052 A JP 2023116052A JP 2022018596 A JP2022018596 A JP 2022018596A JP 2022018596 A JP2022018596 A JP 2022018596A JP 2023116052 A JP2023116052 A JP 2023116052A
Authority
JP
Japan
Prior art keywords
reading
tilt detection
instruction
detection function
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022018596A
Other languages
English (en)
Inventor
潤 岡島
Jun Okajima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2022018596A priority Critical patent/JP2023116052A/ja
Publication of JP2023116052A publication Critical patent/JP2023116052A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】傾き補正機能を備えた画像読取装置において、傾き補正による不具合の発生を抑制できる画像読取装置を提供すること。【解決手段】MFP10の読取エンジン15は、傾き検出プログラム27を実行することで、読取画像データが示す画像の傾きを検出する傾き検出機能を実行する。スキャンプログラム26は、アプリケーションプログラム25から取得した読取指示に、傾き検出機能を実行させる上で適さない条件が含まれない場合(S27:YES)、傾き検出機能をオンにした読取指示を傾き検出プログラム27に指示し(S29)、適さない条件が含まれる場合(S27:NO)、傾き検出機能をオフにした読取を指示する(S31)。【選択図】図4

Description

本願は、原稿を画像データとして読取る技術に関する。
特許文献1には、原稿を画像データとして読取、この画像データから原稿領域のエッジを検出する画像読取装置が記載されている。画像読取装置は、検出したエッジの傾きに応じて画像を回転させて原稿の傾きを補正している。
特開2021-190946号公報
上記した傾き補正処理では、傾き補正を実行する条件によっては原稿の傾き角度などが検出できない場合があり、傾き補正を適切に実施できない虞がある。
本願は、上記課題に鑑みたものであり、傾き補正機能を備えた画像読取装置において、傾き補正による不具合の発生を抑制できる画像読取装置を提供することを目的とする。
上記課題を解決するために本願は、コントローラと、読取エンジンと、を備え、前記読取エンジンは、読取センサにより原稿を読取った画像データが示す画像の傾きを検出する傾き検出機能を備え、前記コントローラは、外部から取得した読取指示に、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれない場合には、前記傾き検出機能をオンにした前記原稿の読取を前記読取エンジンに指示する第1指示処理と、外部から取得した前記読取指示に、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれる場合には、前記傾き検出機能をオフにした前記原稿の読取を前記読取エンジンに指示する第2指示処理と、を実行する、画像読取装置を開示する。
本願の画像読取装置によれば、読取エンジンに傾き検出機能を実行させる上で適さない条件が読取指示に含まれる場合には、傾き検出機能をオフにした原稿の読取を読取エンジンに指示する。これにより、原稿の傾き角度の検出などが難しい条件の読取指示については、傾き検出機能をオフすることで、その後の傾き補正処理による不具合の発生を抑制できる。
第1実施例に係わるMFPのブロック図。 原稿台の構成図。 アプリケーション処理のフローチャート。 スキャンプログラム処理のフローチャート。 傾き検出プログラム処理のフローチャート。 傾いた原稿と、傾き角度の関係を示す図。
図1に、本願に係る第1実施例として例示されるMFP10のブロック図を示す。MF
P10は、CPU11、メモリ12、印刷エンジン13、読取エンジン15、FAXエンジン16、ユーザIF(インタフェースの略)17、USBIF18、ネットワークIF19を備えている。これらの構成要素は、バス21を介して互いに通信可能とされている。CPU11は、メモリ12内のプログラム23に従って処理を実行する。
印刷エンジン13は、シート(例えば、記録紙やOHPシートなど)に画像を印刷する。印刷エンジン13は、インクジェット方式で印刷する構成や、電子写真方式により印刷する構成を採用できる。読取エンジン15は、原稿から画像を読み取る読取センサ15Aと、ASIC15Bを有する。ASIC15Bには、例えば、読取センサ15Aを制御して原稿の画像を読取る読取ASIC、読取った読取画像データが示す画像の回転処理を実行する回転ASIC、読取画像データの画像の傾きを検出する傾き検出ASICが含まれている。
MFP10は、例えば、フラットベッド方式により、原稿台に置かれた原稿の画像を読取センサ15Aで読取る。図2は、原稿台30の構成を示している。尚、図2は、原稿台30の下方の構成を破線で示している。原稿台30は、例えば、透明なプラテンガラス31を有する。ユーザは、プラテンガラス31の角となる基準位置33を目印として、この基準位置に原稿35の角を合わせて原稿35をプラテンガラス31上に配置する。読取センサ15Aは、原稿台30の下方に配置され、読取部を上方に向けた状態で配置されている。読取センサ15Aは、例えばCISである。尚、読取センサ15Aは、CISに限らず、CCD等の他の画像を読取可能なセンサでも良い。読取センサ15Aは、例えば、長尺状のセンサであり、読取部が延びる方向を、プラテンガラス31の一辺と平行な方向にした状態で配置されている。以下、読取センサ15Aの読取部が延びる方向を「主走査方向X」と称し、主走査方向Xに直交する方向を「副走査方向Y」と称する。読取エンジン15は、原稿台30の下方に配置された搬送機構37により読取センサ15Aを副走査方向Yに往復動させ、原稿台30の画像を読取らせる。
図1に示すFAXエンジン16は、電話回線を介して、他のファクシミリ装置との間でFAXデータの送受信を行う。ユーザIF17は、例えば、タッチパネルやスイッチ等を備え、ユーザの操作入力の受け付けや、ユーザへの情報の表示を行なう。USBIF18は、USB規格に準拠した通信が可能なインタフェースであり、USBメモリ等のUSB機器を接続可能となっている。ネットワークIF19は、例えば、LANインタフェースであり、ネットワーク39を介して情報処理端末41と接続されている。情報処理端末41は、例えばパソコンである。尚、MFP10と接続する情報処理端末41は、パソコンに限らず、スマートフォン、タブレット端末などの他の情報処理が可能な端末でも良い。また、MFP10と情報処理端末41を接続する通信は、有線通信に限らず、無線通信でも良い。
メモリ12は、例えば、RAM、ROM、フラッシュメモリ、HDDなどが組み合わされて構成されている。メモリ12には、CPU11やASIC15Bが実行するプログラム23が記憶されている。プログラム23は、印刷処理、スキャン処理、FAXの送受信処理、MFP10の設定処理などを実行する制御プログラムである。プログラム23には、アプリケーションプログラム25、スキャンプログラム26、傾き検出プログラム27が含まれている。また、メモリ12には、傾き補正機能のオン/オフ、即ち、機能が有効か否かを示す傾き補正フラグ29が記憶される。
尚、プログラム23が記憶される媒体の一例は、MFP10に内蔵されるROM、RAM、HDD等に限らず、コンピュータが読取可能且つ書き込み可能なストレージ媒体でも良い。コンピュータが読取可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM
、DVD-ROM等の記憶媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読取可能な媒体の一種であるコンピュータが読取可能な信号媒体であるが、non-transitoryなコンピュータが読取可能なストレージ媒体には含まれない。また、プログラム23の一部又は全部をMFP10のメモリ12以外の装置(例えば、読取エンジン15)に記憶しても良い。
次に、原稿35の画像を読取る指示をMFP10が受け付けた場合の処理について図3~図6を用いて説明する。以下の説明では、画像を読取る指示の一例として、コピー機能の実行指示を受け付けた場合を説明する。また、画像の印刷対象として記録紙を用いる場合を説明する。CPU11は、アプリケーションプログラム25を実行することで図3に示すアプリケーション処理を実行する。CPU11は、例えば、ユーザIF17に対する所定の操作入力に基づいてコピーの実行指示を受け付ける画面をユーザIF17のタッチパネルに表示すると、図3に示す処理を開始する。
以下の図3~図5の処理は、基本的に、プログラム23に記述された命令に従ったCPU11や読取エンジン15のASIC15B(以下、CPU11等と記載する)の処理を示す。即ち、以下の説明における「受け付け」、「取得」、「決定」、「判断」、「指示」等の処理は、CPU11等の処理を示している。CPU11等による処理はハードウェア制御も含む。以下の説明において、プログラム23に記述された命令に従ったCPU11等の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のように記載することがある。また、プログラム23に記述された命令に従ったCPU11等の処理を、「プログラムが行う」のようにCPU11等を省略した文言で記載することがある。
尚、「取得」は要求を必須とはしない概念で用いる。即ち、CPU11等が要求することなくデータを受信するという処理も、「CPU11等がデータを取得する」という概念に含まれる。また、フローチャートの説明において肯定判断又は否定判断することを、「~した場合」と記載することがある。例えば、「CPU11は、AがBよりも大きい場合」とは、「CPU11は、AがBよりも大きいと判断した場合」を意味する。また、本願中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本願中の「情報」についても同様である。また、「指示する」とは、指示していることを示す情報を相手に出力することを示す概念である。また、指示していることを示す情報のことを、単に、「指示」とも記載する。
また、CPU11等による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
まず、図3のステップ(以下、単に「S」と記載する)11において、アプリケーションプログラム25は、コピーの開始指示を受け付ける。アプリケーションプログラム25は、例えば、ユーザIF17に対する操作入力に基づいてコピーの開始指示を受け付ける。アプリケーションプログラム25は、開始指示を受け付けると、スキャンプログラム26によるスキャンの開始を指示する(S13)。例えば、CPU11は、S13でアプリケーションプログラム25からスキャンの開始指示が通知されると、メモリ12からスキャンプログラム26を読み出して実行し、図4に示すスキャンプログラム処理を開始する
。あるいは、CPU11は、予めスキャンプログラム26を実行して待機させておき、S13においてアプリケーションプログラム25からスキャンプログラム26へスキャンの開始指示を通知し、スキャンプログラム26に図4の処理を開始させても良い。
スキャンプログラム26は、図4に示す処理を開始すると、S21において、アプリケーションプログラム25から情報を取得する。スキャンプログラム26は、例えば、読取った画像を印刷する記録紙のサイズ、画像を拡大する拡大率、解像度、を示す情報を、アプリケーションプログラム25から取得する。記録紙サイズについては、例えば、CPU11は、予め、MFP10の設定画面において、MFP10が備える各用紙トレイにセットする記録紙のサイズを示す設定値(パラメータとも言い得る)を受け付け、各トレイとそのトレイの記録紙サイズを関連付けてメモリ12に記憶する。アプリケーションプログラム25は、コピーの開始画面において選択された用紙トレイに応じた記録紙サイズをメモリ12のデータから検出し、スキャンプログラム26に通知する。尚、MFP10は、トレイにセットされた記録紙のサイズを検出するセンサを備えても良い。そして、アプリケーションプログラム25は、このセンサで検出した値に基づいて記録紙サイズを検出し、検出されたサイズを示す設定値を通知しても良い。また、アプリケーションプログラム25は、コピーの設定画面において受け付けたコピーの拡大率の設定値、読取の解像度の設定値のそれぞれを、拡大率、解像度としてスキャンプログラム26に通知する。
次に、スキャンプログラム26は、アプリケーションプログラム25から取得した記録紙サイズと拡大率に基づいて、読取センサ15Aによって読取る読取範囲の副走査方向Yの幅である読取幅を決定する(S25)。スキャンプログラム26は、例えば、記録紙サイズに応じた読取範囲を設定し、拡大率に応じて読取範囲を拡大又は縮小させる。スキャンプログラム26は、S25で決定した読取幅が、傾き角度の検出に必要な読取必要幅より大きいか否かを判断する(S27)。ここで、傾き角度の検出に必要な読取必要幅とは、所望の精度以上で傾き補正に用いる傾き角度、即ち、原稿35の傾きを検出できる副走査方向Yの読取範囲の幅である。読取必要幅は、例えば、数cmである。スキャンプログラム26は、例えば、原稿台30に配置された原稿35の副走査方向Yのエッジ43(図2参照)を検出し、エッジ43から原稿35の傾き角度を検出する。図6は、大きさの異なる2つの原稿35A,35Bを同一角度で傾けて原稿台30に置いた状態を図示している。図6に一点鎖線で示す幅は読取必要幅Wを示している。原稿35Aの副走査方向Yの幅W1は読取必要幅Wよりも小さく、原稿35Bの副走査方向Yの幅W2は読取必要幅Wよりも大きくなっている。コピーの拡大率を大きくするほど読取範囲は狭くなり、副走査方向Yの読取幅は小さくなる。例えば、記録紙サイズが主走査方向Xに3インチ、副走査方向Yに5インチ、拡大率を400%とした場合、副走査方向Yの読取範囲は、3.175cm(=12.7cm(5インチ)×1/4)となる。このため、原稿35Bのように、仮に印刷先の記録紙サイズの副走査方向Yの幅W2が読取必要幅Wより大きくとも、拡大率が大きくなると読取範囲の副走査方向Yの幅が読取必要幅W以下となる。その結果、エッジ43の検出精度が低下し、傾き角度θ1の検出精度が低下する。そこで、スキャンプログラム26は、S25において記録紙サイズ及び拡大率から副走査方向Yの読取幅を決定する。
また、仮に、記録紙サイズが原稿35Bと同一サイズで拡大率が1倍である場合、原稿35Bの読取範囲の副走査方向Yの読取幅は、幅W2となり、読取必要幅Wよりも大きくなる。この場合、原稿35Bのエッジ43を精度良く検出でき、副走査方向Yに対する原稿35Bの傾き角度θ1を精度良く検出できる。結果として、傾き角度θ1を用いて傾き補正を精度良く実行できる。一方、記録紙サイズが原稿35Aと同一サイズで拡大率が1倍である場合、原稿35Aの副走査方向Yの読取幅は、幅W1となり、読取必要幅Wよりも小さくなる。この場合にも、スキャンプログラム26は、読取エンジン15による傾き角度θ1の検出を実行しない。尚、読取幅の決定方法は上記したパラメータと式を用いた
方法でも良く、あるいは、記録紙サイズ、拡大率、読取幅を関連付けたテーブルを予め用意しておき、テーブルから適宜検出する方法でも良い。
スキャンプログラム26は、読取幅が読取必要幅Wよりも大きい場合(S27:YES)、S28を実行し、読取幅が読取必要幅W以下の場合(S27:NO)、S31を実行する。スキャンプログラム26は、例えば、読取必要幅Wとしてスキャンプログラム26に予め設定された変数を用いる(図1参照)。S28において、スキャンプログラム26は、傾き補正機能がオンであるか否かを判断する。スキャンプログラム26は、例えば、メモリ12の傾き補正フラグ29を読み出して傾き補正機能がオン(有効)であるか判断する。例えば、MFP10は、例えば、傾き補正フラグ29の初期値として、傾き補正機能がオフであることを示す値(例えばゼロの値)が設定されている。MFP10は、ユーザIF17に対する操作入力等により、傾き補正機能をオンする指示を受け付けると、傾き補正フラグ29に傾き補正機能がオンであることを示す値(例えば、1の値)を設定する。
尚、スキャンプログラム26が傾き補正機能のオン/オフの情報を取得する方法は、上記した方法に限らない。例えば、アプリケーションプログラム25が、記録紙サイズや拡大率の情報とともに、メモリ12の傾き補正フラグ29の情報をスキャンプログラム26に通知しても良い。あるいは、ユーザがコピーの指示を行う際に、傾き補正機能を実行するか否かを設定しても良い。この場合、スキャンプログラム26は、メモリ12内に予め設定された情報ではなく、コピーごとに外部から取得した情報に基づいて傾き補正機能のオン/オフを判断する。
スキャンプログラム26は、傾き補正機能がオンである場合(S28:YES)、傾き補正検出機能をオンで原稿の読取を読取エンジン15に指示する(S29)。また、スキャンプログラム26は、S27で否定判断した場合(S27:NO)や、S28で否定判断した場合(S28:NO)、傾き検出機能をオフで原稿の読取を読取エンジン15に指示する(S31)。尚、S27の読取範囲を判断する方法は、上記した副走査方向Yの幅W1,W2を判断する方法に限らない。例えば、スキャンプログラム26は、読取範囲の主走査方向Xの幅を判断し、傾き検出機能のオン/オフを決定しても良い。この場合、傾き検出プログラム27は、後述する傾き角度θ1の検出処理において、主走査方向Xに延びるエッジを検出し、検出した主走査方向Xのエッジと主走査方向Xがなす角度を傾き角度θ1として検出しても良い。あるいは、スキャンプログラム26は、読取範囲の面積の大小に基づいて傾き検出機能のオン/オフを決定しても良い。
S31において、スキャンプログラム26は、ASIC15Bの一部である読取ASICへ、原稿35の読取を指示する。スキャンプログラム26は、例えば、記録紙サイズ及び拡大率に基づく読取範囲の情報、解像度の情報を読取エンジン15に通知する。読取ASICは、読取エンジン15が取得した読取範囲で読取センサ15Aを移動させ、且つ読取エンジン15が取得した解像度に応じた移動速度や読取間隔で読取センサ15Aを動作させ、原稿35の読取を実行し、読取センサ15Aが出力したデータを、読取画像データとして、メモリ12内の読取画像データ領域に記憶させる。スキャンプログラム26は、S31で読取指示を出した後、読取ASICによる読取画像データの記憶が完了したか否かを判断する(S33)。スキャンプログラム26は、読取ASICによる読取画像データの記憶が完了した場合(S33:YES)、ASIC15Bの一部である、回転ASICに、傾き補正角度として0「ゼロ」度を入力し、メモリ12に記憶された読取画像データの回転処理を指示する(S35)。従って、スキャンプログラム26は、読取幅が読取必要幅W以下の場合、読取エンジン15による傾き角度θ1の検出を実行せずに、傾き補正角度として0度の値を設定する。回転ASICは、傾き補正角度として0度が入力されるので、傾き補正のための回転処理をせず、画像データをメモリ12に記憶させる。回転
ASICは、必要であれば、傾き補正のため以外の回転処理を行って良い。尚、スキャンプログラム26は、S35を実行しなくとも良い。即ち、読取幅が読取必要幅W以下の場合、回転ASICによる回転処理を実行しなくとも良い。
また、スキャンプログラム26は、S29を実行する場合、S31と同様に、読取ASICへ読取を指示する。また、スキャンプログラム26は、ASIC15Bの一部である傾き検出ASICに、傾き検出を指示する。傾き検出ASICは、読取ASICによって動作された読取センサ15Aが出力したデータを、傾き検出用読取画像データとして、メモリ12内の傾き検出用読取画像データ領域に記憶させる。傾き検出ASICは、副走査方向Yにおいて上記した読取必要幅Wまでの範囲となる読取画像データを、即ち、傾き角度θ1の検出に必要は読取範囲の読取画像データを、傾き検出読取画像データとして記憶させる。
また、CPU11は、傾き検出ASICによる傾き検出用読取画像データの記憶が完了すると、傾き検出プログラム27に従って、図5に示す傾き検出プログラム処理を開始する。傾き検出プログラム27は、図5に示す処理を開始すると、S51において、原稿35の傾き角度θ1を検出する。傾き検出プログラム27は、例えば、傾き検出用読取画像データのエッジを強調する画像処理を実行し、強調した傾き検出用読取画像データから、原稿35の先頭位置(基準位置33に近い角の位置)や、原稿35の副走査方向Yのエッジ43を検出する。先頭位置やエッジ43の検出方法としては、例えば、2値化した画像データを主走査方向Xに解析し、最初に黒色のピクセルが存在する位置からエッジ43の候補点を推定し、複数の候補点から先頭位置やエッジ43を検出する周知の方法を採用できる。傾き検出プログラム27は、S51を実行し、例えば原稿台30上に原稿35以外の異物が置かれた場合など何らかの不具合でエッジ43や傾き角度θ1を正常に検出できなかった場合(S53:NO)、傾き補正角度として0度を設定する(S55)。
一方、傾き検出プログラム27は、傾き角度θ1の検出に成功した場合(S53:YES)、S57を実行し、検出した傾き角度θ1が閾値角度θthより小さい場合(S57:YES)、検出した傾き角度θ1を傾き補正角度として設定する(S59)。また、傾き検出プログラム27は、傾き角度θ1が閾値角度θth以上である場合(S57:NO)、S55を実行する。閾値角度θthは、例えば10度である。従って、例えば図6に示すように副走査方向Yに沿った直線に対して原稿35が時計回り方向へ傾き角度θ1だけ傾き、その傾き角度θ1が閾値角度θth以上になる、又は図6とは反対に原稿35が反時計回り方向へ傾き、その傾き角度θ1が閾値角度θth以上になると、傾き検出プログラム27は、傾き角度θ1を正常に検出しても傾き補正角度を0度にする。これは、例えば、傾き角度θ1が所定の閾値角度θth以上になる場合、ユーザが意図的に原稿35を傾けた可能性があり、傾き補正を実行しないことが好ましいためである。傾き検出プログラム27は、S59又はS55を実行すると、図5に示す処理を終了する。従って、上記したように、傾き補正機能をオンにした読取指示とは、読取ASICによる画像の読取を読取エンジン15に実行させる指示であり、傾き補正機能をオフにした読取指示とは、読取ASICによる画像の読取だけでなく、傾き検出ASICによる傾き検出用読取画像データの記憶処理や傾き検出プログラム27による傾き角度θ1の検出処理を読取エンジン15に実行させる指示である。
図4に戻り、スキャンプログラム26は、S29で読取を指示した後、S33と同様に、読取ASICによる読取画像データの記憶が完了したか否かを判断する(S39)。スキャンプログラム26は、読取ASICによる読取画像データの記憶が完了した場合(S39:YES)、ASIC15Bの回転ASICに、傾き検出プログラム27によって設定された傾き補正角度を入力し、メモリ12に記憶された読取画像データの回転処理を指示する(S41)。例えば、傾き検出プログラム27は、図5の処理を終了すると、S5
5又はS59で設定した傾き補正角度をスキャンプログラム26へ通知する。尚、傾き補正角度の取得方法は、上記した通知する方法に限らず、例えば、傾き検出プログラム27がメモリ12の特定の領域に傾き補正角度を書き込んで、スキャンプログラム26がメモリ12から読み出しても良い。また、傾き検出ASICによる傾き検出用読取画像データの記憶処理は、副走査方向Yに読取必要幅W(例えば、数cm)分までしか実行されないため、読取ASICによる読取画像データの記憶処理が完了よりも早く終了する。また、傾き検出プログラム27による図5の処理が完了する時間まで含めても、読取ASICによる読取画像データの記憶処理が後に完了する。このため、S39で肯定判断し読取画像データの記憶が完了している時点で、S59又はS55が実行され傾き補正角度が設定されている。尚、仮に、傾き補正角度の設定が完了していない場合には、スキャンプログラム26は、図5の処理が完了するまでS41の開始を一時的に待機しても良い。
尚、仮に、S55が実行され傾き補正角度として0度が設定された場合、画像は回転されない。また、スキャンプログラム26は、読取ASICによる読取画像データの記憶処理が完了する前に、回転ASICによる画像の回転を開始させても良い。即ち、読取画像データの読取が完了する前に、読取が完了した部分から回転処理を並行して実行しても良い。
図3に示すように、アプリケーションプログラム25は、S13でスキャン開始の指示を実行した後、回転ASICによる回転処理が完了した後の読取画像データがメモリ12に記憶されたか否かを判断する(S15)。例えば、スキャンプログラム26は、図4の処理を終了し、回転ASICによる画像の回転処理が完了した後、回転ASICによる読取画像データの記憶の完了をアプリケーションプログラム25に通知する。アプリケーションプログラム25は、通知を取得すると(S15:YES)、所定の画像処理を実行し印刷処理を実行する(S17)。ここでいう所定の画像処理とは、例えば、読取画像データの色を変換する処理や、画像を補正する処理などである。アプリケーションプログラム25は、印刷エンジン13により読取画像データの印刷を実行させる。
尚、上記実施例では、コピー機能の場合について説明したが、画像の読取を伴う他の処理についても同様に、傾き検出機能のオン/オフ判断や、傾き補正角度の設定を実行できる。ここでいう画像の読取を伴う他の処理とは、例えば、スキャン処理である。MFP10は、例えば、情報処理端末41からネットワーク39を介してスキャン指示を受け付けた場合、スキャン指示の内容に基づいて傾き検出機能のオン/オフを決定しても良い。例えば、アプリケーションプログラム25は、情報処理端末41から取得したスキャン指示(本願の読取指示の一例)に含まれるサイズ情報が示す原稿のサイズ(読取原稿のサイズの設定値など)をスキャンプログラム26に通知する。スキャンプログラム26は、S27においてスキャン指示の読取原稿のサイズに基づく読取範囲の副走査方向Yの幅が読取必要幅W以下であるか否かを判断しても良い。そして、スキャンプログラム26は、幅が読取必要幅Wより大きい場合、S29を実行しても良い。この場合にも上記したコピー機能と同様に、傾き角度θ1の検出精度の低下、及びその傾き角度θ1に基づく補正の実施を防ぐことができる。あるいは、例えば、読取エンジン15で読み取った読取画像データをUSBIF18に接続されたUSBストレージに記憶する機能を実行する場合、MFP10は、ユーザIF17で設定された読取範囲(読取原稿のサイズ)の副走査方向Yの幅と読取必要幅Wを比較し傾き検出機能のオン/オフを決定しても良い。従って、スキャンプログラム26にスキャン指示を出すアプリケーションプログラム25としてはコピー機能のアプリケーションプログラム25に限らず、スキャン機能のアプリケーションプログラム25でも良い。スキャン機能の場合、S17の処理としては、読取画像データの出力、保存の他に、圧縮処理や2値化処理を実行しても良い。
因みに、CPU11、スキャンプログラム26は本願のコントローラの一例である。傾
き検出プログラム27は、読取エンジンの一例である。S27は判断処理の一例、S29は第1指示処理の一例、S31は第2指示処理の一例である。読取必要幅Wは、閾値の一例である。S41は補正処理の一例である。
以上説明した本実施例では、以下の効果を奏することができる。
読取エンジン15は、読取画像データが示す画像の傾きを検出する傾き検出機能を、傾き検出プログラム27を実行することで実現する。スキャンプログラム26は、アプリケーションプログラム25から取得した読取指示に、傾き検出プログラム27に傾き検出機能を実行させる上で適さない条件が含まれない場合(S27:YES)傾き検出機能をオンにした読取を読取エンジン15に指示し(S29)、適さない条件が含まれる場合(S27:NO)傾き補正機能をオフにした読取を指示する(S31)。これによれば、原稿35の傾き角度θ1の検出が難しい条件の読取指示については、傾き検出機能をオフすることで、その後の傾き補正処理による不具合の発生を抑制できる。
また、スキャンプログラム26は、読取エンジン15で検出した傾き角度θ1に基づいて画像を回転させる傾き補正処理を実行する(S41)。これにより、傾き補正フラグ29がオンで、適切な検出条件の場合、スキャンプログラム26は、傾き検出プログラム27による傾き角度θ1の検出を実行させ、検出した傾き角度θ1に基づいて読取画像を回転させ、傾きを補正できる。
また、スキャンプログラム26は、傾き検出機能を実行させる上で適さない条件が読取指示に含まれるか判断する(S27)。これによれば、読取指示を受け付けるスキャンプログラム26側によって条件を判断できる。尚、条件の判断を、指示を出すアプリケーションプログラム25が実行しても良い。
また、スキャンプログラム26は、拡大率のパラメータ(設定値)に基づいて傾き検出機能を実行させる上で適さない条件が読取指示に含まれているか判断する(S25、S27)。これによれば、拡大率が一定の倍率以上で読取範囲が狭くなり傾き角度θ1を精度良く検出できない場合に、機能をオフできる。
また、スキャンプログラム26は、読取画像データを印刷する記録紙のサイズのパラメータに基づいて傾き検出機能のオン/オフを判断する(S25、S27)。これによれば、記録紙サイズが小さく傾き角度θ1を精度良く検出できない場合に、機能をオフできる。
また、スキャンプログラム26は、拡大率と記録紙サイズのパラメータの組み合わせで判断することで、傾き検出機能の実行に適さない条件が読取指示に含まれか判断する精度を向上できる。
また、スキャンプログラム26は、拡大率と記録紙サイズに基づいて読取範囲の副走査方向Yの幅を決定し(S25)、決定した読取幅が傾き検出に適した読取必要幅Wより小さいと判断した場合(S27:NO)、傾き検出機能をオフすることで読取エンジン15に適切な処理を実行させることができる。
(第2実施例)
上記した第1実施例では、スキャンプログラム26は、S27において読取範囲を判断した。しかしながら、スキャンプログラム26は、記録紙サイズや拡大率などの読取指示のパラメータを直接判断しても良い。例えば、スキャンプログラム26は、図4のS25を実行せずに、S21の後にS27を実行し、そのS27において、S21でアプリケーションプログラム25から取得したスキャンの開始指示の記録紙サイズが所定の閾値サイズより大きいか否かの判断や、拡大率が所定の基準拡大率(400%など)より小さいか否かの判断を実行しても良い。そして、スキャンプログラム26は、記録紙サイズが所定の閾値サイズより大きい場合(S27:YES)や、拡大率が所定の基準拡大率より小さい場合(S27:YES)、傾き検出機能をオンにした読取指示を傾き検出プログラム27に指示し(S29)、その逆の場合は傾き検出機能をオフにした指示を出しても良い(S31)。これにより、パラメータに基づいて傾き検出機能のオン/オンをパラメータか
ら判断できる。また、パラメータの組み合わせで判断すれば、読取幅の算出などが不要となる。
(第3実施例)
また、上記した第1実施例では、読取必要幅Wがスキャンプログラム26に予め設定されていが、これに限らない。例えば、スキャンプログラム26は、傾き検出プログラム27から傾き検出機能の性能情報を取得しても良い。ここでいう性能情報とは、例えば、傾き検出機能の性能に関係する情報であり、上記した傾き検出に必要な副走査方向Yの読取必要幅Wである。あるいは、性能情報は、主走査方向Xの読取必要幅でも良く、傾き検出処理を実行するのに必要な最小読取範囲、閾値角度θthを示す情報でも良い。また、性能情報は、傾き角度θ1を検出するための処理(エッジ43の検出処理など)における処理の制限情報(エッジの検出可能条件)でも良い。このような性能情報は、例えば、傾き検出のアルゴリズムが改善され、傾き検出プログラム27がアップデートされた場合に、変更される可能性がある。この場合に、スキャンプログラム26は、例えば、図4のS25を実行した後、傾き検出プログラム27から変更後の性能情報を取得し、S27において性能情報が示す読取必要幅WをS25で決定した読取幅と比較する判断処理を実行しても良い。また、スキャンプログラム26は、S27を実行する前に傾き検出プログラム27から性能情報を取得しなくとも良い。例えば、傾き検出プログラム27は、傾き検出プログラム27のアップデート時などの変更ごとに性能情報を傾き検出プログラム27から取得しても良い。
従って、スキャンプログラム26は、傾き検出機能の性能情報を傾き検出プログラム27から取得し、取得した性能情報に適合しない条件が、外部から取得した読取指示に含まれているか判断しても良い。これにより、傾き検出プログラム27のアップデートなどに応じて最新の読取必要幅Wを用いた判断が可能となる。尚、性能情報(読取必要幅Wなど)を取得する方法は、上記方法に限らない。例えば、メモリ12の設定値を記憶する不揮発性領域に読取必要幅Wを予め設定しても良い。この場合、傾き検出プログラム27は、アップデートごとにメモリの読取必要幅Wを更新しても良い。また、メモリ12の読取必要幅Wを、ユーザの操作入力に応じて変更しても良い。即ち、傾き検出機能のオン/オフを判断する性能情報の変更をユーザから受け付けも良い。これにより、スキャンプログラム26は、メモリ12に記憶された最新や最適な性能情報を用いた判断が可能となる。
本願の技術は、上述の各実施例の内容に限られるものではなく、その要旨を逸脱しない範囲において種々の形態に変形することができ、例えば次のような変形も可能である。
上記した図3~図5のフローチャートの各ステップの内容、順番は、一例である。例えば、図4においてS27の前にS28を実行しても良い。
上記実施例では、本願の画像読取装置として、コピー機能、スキャン機能、FAX機能などを備える複合機を採用したが、これに限らない。本願の画像読取装置は、コピー機、スキャナー、FAX機でも良い。
上記実施例では、ASIC15Bの一部である、回転ASICが読取画像データの回転処理を実行したが、これに限らない。例えば、スキャンプログラム26、あるいは回転処理用のプログラムなど、ソフトウェアをCPU11で実行して回転処理を実行しても良い。
また、MFP10は、ADFを有し、ADFで原稿を自動で搬送しつつ、読取センサ15Aで画像を読取っても良い。
MFP10は、ネットワークIF19やUSBIF18を備えなくとも良い。
アプリケーションプログラム25、スキャンプログラム26を実行する主体は、ASICでも良く、傾き検出プログラム27を実行する主体はCPUでも良い。
アプリケーションプログラム25、スキャンプログラム26、傾き検出プログラム27を1つのプログラムにまとめても良い。
10 MFP(画像読取装置)、11 CPU(コントローラ)、12 メモリ、15
読取エンジン、15A 読取センサ、26 スキャンプログラム(コントローラ)、27 傾き検出プログラム(読取エンジン)、35 原稿、W 読取必要幅(閾値)。

Claims (14)

  1. コントローラと、
    読取エンジンと、
    を備え、
    前記読取エンジンは、
    読取センサにより原稿を読取った画像データが示す画像の傾きを検出する傾き検出機能を備え、
    前記コントローラは、
    外部から取得した読取指示に、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれない場合には、前記傾き検出機能をオンにした前記原稿の読取を前記読取エンジンに指示する第1指示処理と、
    外部から取得した前記読取指示に、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれる場合には、前記傾き検出機能をオフにした前記原稿の読取を前記読取エンジンに指示する第2指示処理と、
    を実行する、画像読取装置。
  2. 前記コントローラは、
    前記第1指示処理を実行した後、前記読取エンジンで検出した傾き補正角度に基づいて前記画像データが示す画像を回転させる傾き補正処理を実行する、請求項1に記載の画像読取装置。
  3. 前記コントローラは、
    外部から取得した前記読取指示に、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれるか否かを判断する判断処理を実行し、
    前記判断処理によって前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれない判断した場合、前記第1指示処理を実行し、前記判断処理によって前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれると判断した場合、前記第2指示処理を実行する、請求項1又は請求項2に記載の画像読取装置。
  4. 前記読取エンジンの前記傾き検出機能の性能情報を記憶するメモリを備え、
    前記コントローラは、
    前記性能情報を前記メモリから取得し、取得した前記性能情報に適合しない条件が、外部から取得した前記読取指示に含まれていない場合、前記判断処理において前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれないと判断し、前記第1指示処理を実行し、取得した前記性能情報に適合しない条件が前記読取指示に含まれている場合、前記判断処理において前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれると判断し、前記第2指示処理を実行する、請求項3に記載の画像読取装置。
  5. 前記コントローラは、
    前記読取エンジンの前記傾き検出機能の性能情報を前記読取エンジンから取得し、取得した前記性能情報に適合しない条件が、外部から取得した前記読取指示に含まれていない場合、前記判断処理において前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれないと判断し、前記第1指示処理を実行し、取得した前記性能情報に適合しない条件が前記読取指示に含まれている場合、前記判断処理において前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれると判断し、前記第2指示処理を実行する、請求項3に記載の画像読取装置。
  6. 前記コントローラは、
    前記判断処理において、外部から取得した前記読取指示に含まれる拡大率のパラメータに基づいて、前記傾き検出機能を実行させる上で適さない条件が前記読取指示に含まれているか否かを判断する、請求項3から請求項5の何れか1項に記載の画像読取装置。
  7. 前記コントローラは、
    前記判断処理において、外部から取得した前記読取指示に含まれる、読取画像データを印刷するシートのシートサイズのパラメータに基づいて、前記傾き検出機能を実行させる上で適さない条件が前記読取指示に含まれているか否かを判断する、請求項3から請求項6の何れか1項に記載の画像読取装置。
  8. 前記コントローラは、
    前記判断処理において、外部から取得した前記読取指示に含まれる、拡大率のパラメータと、読取画像データを印刷するシートのシートサイズのパラメータと、の組み合わせが、前記傾き検出機能を実行させる上で適さない条件か否かを判断する、請求項3から請求項7の何れか1項に記載の画像読取装置。
  9. 前記コントローラは、
    外部から取得した前記読取指示に含まれる情報として、読取範囲を示すサイズ情報を受け付け、前記判断処理において、受け付けた前記サイズ情報が示すサイズが所定の閾値以下であるか否かを判断し、所定の閾値以下であると判断した場合、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれると判断する、請求項3から請求項8の何れか1項に記載の画像読取装置。
  10. 前記コントローラは、
    前記サイズ情報として、拡大率のパラメータと、読取画像データを印刷するシートのシートサイズのパラメータを受け付け、前記拡大率のパラメータと、前記シートサイズのパラメータと、に基づいて読取範囲を決定し、前記判断処理において、決定した読取範囲が、傾き検出に適したサイズより小さいと判断した場合、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれると判断する、請求項9に記載の画像読取装置。
  11. 前記コントローラは、
    前記拡大率のパラメータと、前記シートサイズのパラメータと、に基づいて読取範囲の副走査方向の幅を決定し、前記判断処理において、決定した読取範囲の副走査方向の幅が、傾き検出に適した副走査方向の幅より小さいと判断した場合、前記読取エンジンに前記傾き検出機能を実行させる上で適さない条件が含まれると判断する、請求項10の何れか1項に記載の画像読取装置。
  12. コントローラと、
    読取エンジンと、
    を備え、
    前記読取エンジンは、
    読取センサにより原稿を読取った画像データが示す画像の傾きを検出する傾き検出機能を備え、
    前記コントローラは、
    外部から取得した読取指示に、前記読取エンジンに前記傾き検出機能を実行させる上で適さないパラメータが含まれない場合には、前記傾き検出機能をオンにした前記原稿の読取を前記読取エンジンに指示する第1指示処理と、
    外部から取得した前記読取指示に、前記読取エンジンに前記傾き検出機能を実行させる上で適さないパラメータが含まれる場合には、前記傾き検出機能をオフにした前記原稿の
    読取を前記読取エンジンに指示する第2指示処理と、
    を実行する、画像読取装置。
  13. 前記コントローラは、
    外部から取得した前記読取指示に含まれる、拡大率のパラメータと、読取画像データを印刷するシートのシートサイズのパラメータと、の組み合わせが、前記傾き検出機能を実行させる上で適さない条件であるか否かを判断する判断処理を実行し、
    前記判断処理によって、拡大率のパラメータと、読取画像データを印刷するシートのシートサイズのパラメータと、の組み合わせが、前記傾き検出機能を実行させる上で適さない条件でないと判断した場合、前記第1指示処理を実行し、前記判断処理によって、拡大率のパラメータと、読取画像データを印刷するシートのシートサイズのパラメータと、の組み合わせが、前記傾き検出機能を実行させる上で適さない条件であると判断した場合、前記第2指示処理を実行する、請求項12に記載の画像読取装置。
  14. 前記コントローラは、
    外部から取得した前記読取指示に含まれる情報として、拡大率のパラメータと、読取画像データを印刷するシートのシートサイズのパラメータを受け付け、前記拡大率のパラメータと、前記シートサイズのパラメータと、に基づいて読取範囲を決定し、決定した読取範囲が、傾き検出に適したサイズより小さいか否かを判断する判断処理を実行し、
    前記判断処理によって、決定した読取範囲が、傾き検出に適したサイズより小さくないと判断した場合、前記第1指示処理を実行し、決定した読取範囲が、傾き検出に適したサイズより小さいと判断した場合、前記第2指示処理を実行する、請求項12又は請求項13に記載の画像読取装置。
JP2022018596A 2022-02-09 2022-02-09 画像読取装置 Pending JP2023116052A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022018596A JP2023116052A (ja) 2022-02-09 2022-02-09 画像読取装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022018596A JP2023116052A (ja) 2022-02-09 2022-02-09 画像読取装置

Publications (1)

Publication Number Publication Date
JP2023116052A true JP2023116052A (ja) 2023-08-22

Family

ID=87579616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022018596A Pending JP2023116052A (ja) 2022-02-09 2022-02-09 画像読取装置

Country Status (1)

Country Link
JP (1) JP2023116052A (ja)

Similar Documents

Publication Publication Date Title
JP6332081B2 (ja) 読取装置及びこれを備えた画像形成装置
US8310744B2 (en) Image processing apparatus, image forming apparatus, image processing method, and storage medium
US8406570B2 (en) Image processing apparatus, image forming apparatus, image reading apparatus, image processing method, and recording medium
US8335010B2 (en) Image processing apparatus, image forming apparatus, image processing method, and recording medium
US12022039B2 (en) Image reading apparatus and control method for determining a blank page
JP4888439B2 (ja) 画像読取装置および原稿サイズ決定プログラム
US20110235906A1 (en) Image processing apparatus, image processing method, and computer-readable storage medium for computer program
JP5617733B2 (ja) 読取装置
WO2017056799A1 (ja) 画像読取装置及び画像形成装置
JP6701843B2 (ja) 画像形成装置、情報処理装置、およびマーク変更方法
JP2009164808A (ja) 画像読取装置
JP2023116052A (ja) 画像読取装置
JP4998257B2 (ja) 画像読取装置
JP7482625B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2010011359A (ja) 画像処理装置、画像形成装置、画像処理装置の制御方法、制御プログラム、記録媒体
JP4931897B2 (ja) 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体
JP2017063332A (ja) 画像形成装置及び画像形成方法
JP6561732B2 (ja) 読取装置およびプログラム
JP2001350227A (ja) 原稿検知方法及び装置
JP7180363B2 (ja) 制御プログラム、情報処理装置、及びスキャンシステム
JP6327225B2 (ja) ファクシミリ装置及びファクシミリシステム
JP2004048633A (ja) 画像補正装置、プログラム、記憶媒体及びページ外形の直線部分と曲線部分の境界点の検出方法
JP6081874B2 (ja) 画像読取装置
JP2023136551A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP6045459B2 (ja) 画像形成装置