JP2017175463A - 画像処理装置、画像処理方法、画像読取装置 - Google Patents
画像処理装置、画像処理方法、画像読取装置 Download PDFInfo
- Publication number
- JP2017175463A JP2017175463A JP2016060884A JP2016060884A JP2017175463A JP 2017175463 A JP2017175463 A JP 2017175463A JP 2016060884 A JP2016060884 A JP 2016060884A JP 2016060884 A JP2016060884 A JP 2016060884A JP 2017175463 A JP2017175463 A JP 2017175463A
- Authority
- JP
- Japan
- Prior art keywords
- image
- rotation
- size
- output
- input
- 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
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】 できるだけ小容量で画像の回転補正を行うための技術を提供すること。
【解決手段】 回転補正の対象となる入力画像のサイズと、該回転補正における回転角度と、を用いて、出力画像のサイズを求め、該求めたサイズを有する該出力画像を、該入力画像に対する該回転補正により求める。該出力画像を出力する。
【選択図】 図1
【解決手段】 回転補正の対象となる入力画像のサイズと、該回転補正における回転角度と、を用いて、出力画像のサイズを求め、該求めたサイズを有する該出力画像を、該入力画像に対する該回転補正により求める。該出力画像を出力する。
【選択図】 図1
Description
本発明は、原稿の画像の傾きを補正する画像処理技術に関するものである。
原稿を読み取るスキャナ等の画像読取装置は、シート状部材に記録されている画像を読み取るための画像読取部を有する。画像読取装置内で搬送中の原稿が斜行してしまうと、画像読取部で読み取った画像中の原稿も傾いてしまうため、該画像中の原稿を回転させることで該画像中の原稿の傾きを補正する画像処理(回転補正)を行う。
従来の画像読取装置では、補正回転角度が大きいほど、大容量メモリから画像を分割して読み出した入力画素ブロックの容量に対する出力画素ブロックの容量の比率が低下し、特に、補正回転角度が45度の時が最も画像処理の効率が悪い。
特許文献1には、画像を回転する際に、大容量メモリから小容量高速メモリに入力画素ブロックを読み出す方法についての開示がある。この方法によれば、補正回転角度に応じて入力画素ブロックを読み出す方法を変えることで単位時間あたりの処理の効率を向上させている。より詳しくは、特許文献1では、補正回転角度が小さい場合には大きな範囲で入力画素ブロックを読み出し、補正回転角度が大きい場合には小さなライン状の範囲で分割して入力画素ブロックを読み出す。
特許文献1に開示されている画像処理方法では、入力画素ブロックを読み出す二種類の方式を補正回転角度に応じて切り替えることで、傾き角度が大きくなったときの画像処理効率を向上させることを特徴としている。しかし、二種類の方式のどちらも出力画素ブロックの大きさを固定にした上で、適宜、入力画素ブロックを読み出す方式を変更するものである。
また、特許文献1に開示されている方法は、補正回転角度がある一定角度以上になった際に効果を発揮するものであり、通常の原稿搬送において頻繁に発生する、例えば5度以下のような微小な斜行の補正において画像処理効率を向上させるものではない。
また、小容量高速メモリの容量に充分余裕があるとしても、従来の画像回転処理では、予め規定された大きさの出力画素ブロックを生成するために必要な入力画素ブロックの容量しか小容量高速メモリを使用しないため、補正回転角度が小さいほど小容量高速メモリの大部分を使用せずに画像処理することになる。
一度の画像回転処理によって回転補正された画素ブロック(出力画素ブロック)として、8[bit]グレー画像の64画素×64画素の画素ブロックを生成する場合、出力画素ブロックの容量は642×8[bit]=4096×8[bit]、つまり4096[Byte]になる。更に補正回転角度を45度まで考慮すると、出力画素ブロックを生成するための回転元の画素ブロック(入力画素ブロック)を記憶するため必要な小容量高速メモリの容量は、642×(sin45°+cos45°)2×8[bit]=8192[Byte]となり、出力画素ブロックの容量の2倍を必要とすることが分かる。
本発明は以上の問題に鑑みてなされたものであり、できるだけ小容量で画像の回転補正を行うための技術を提供する。
本発明の一様態は、回転補正の対象となる入力画像のサイズと、該回転補正における回転角度と、を用いて、出力画像のサイズを求め、該求めたサイズを有する該出力画像を、該入力画像に対する該回転補正により求める計算手段と、前記出力画像を出力する手段とを備えることを特徴とする。
本発明の構成によれば、できるだけ小容量で画像の回転補正を行うことができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1の実施形態]
本実施形態に係る画像処理装置は、シート状の記録媒体をスキャンして該記録媒体に記録されている情報を画像として読み取り、該画像に対して回転補正する画像読み取り装置であるものとし、該画像読み取り装置について説明を行う。
本実施形態に係る画像処理装置は、シート状の記録媒体をスキャンして該記録媒体に記録されている情報を画像として読み取り、該画像に対して回転補正する画像読み取り装置であるものとし、該画像読み取り装置について説明を行う。
先ず、画像読み取り装置の機能構成例について、図1のブロック図を用いて説明する。なお、図1に示した構成は、画像読み取り装置が有する全ての構成ではなく、画像読み取り装置が行うものとして後述する処理を実現するための構成を抜粋したものであり、画像読み取り装置が有する構成の一部に過ぎない。また、図1に示した構成は、画像読み取り装置が行うものとして後述する各処理を実現可能な構成の一例に過ぎず、同等以上の機能を有する構成であれば、如何なる構成を採用しても構わない。
画像読み取り部101は、シート状の記録媒体をスキャンして該記録媒体に記されている情報を画像として読み取る装置であり、CMOSセンサやCCDセンサなどにより構成されている。
画像処理IC102は、画像読み取り部101が読み取った画像を入力画像として一旦大容量メモリ106に格納(取得)し、該入力画像に対して回転補正等の様々な画像処理を施してから出力する。画像処理IC102は、専用回路を組み込んだASICであっても構わないし、画像処理機能を有した汎用CPUなどであっても構わない。
大容量メモリ106は、SDRAMやDDR−SDRAMなどのDRAMを利用した揮発性メモリであっても構わないし、画像読み取り装置に接続される外部記憶装置であっても構わない。
次に、画像処理IC102の構成例について説明する。
制御部104は、画像処理IC102を構成する各部の動作制御を行うものであり、CPU等のプロセッサと、RAMやROM等のメモリ装置と、を有するものである。プロセッサはメモリ装置に格納されているコンピュータプログラムやデータを用いて処理を実行することで、画像読み取り装置が行うものとして後述する各処理を実行若しくは制御する。
画像入力部103は、画像読み取り部101から出力された画像を入力画像として取得し、該取得した入力画像を、画像メモリI/F部105を介して大容量メモリ106(第1記憶部)に格納する。
小容量高速メモリ107(第2記憶部)は、大容量メモリ106よりも容量が小さいメモリである。また、小容量高速メモリ107は、大容量メモリ106よりも高速にデータの読み書きを行うことができるメモリである。
画像出力部108は、画像メモリI/F部105から送出された入力画像若しくは回転補正済みの入力画像に対して、ガンマ補正、カラー/グレー変換、二値化処理、圧縮符号化処理、等の画像処理を施してから適当な出力先(外部のコンピュータ等)に対して出力する。
次に、画像メモリI/F部105のより詳細な構成について、図2のブロック図を用いて説明する。
画像入力部103から出力された入力画像は一旦画像入力バッファ105aに格納され、画像入力バッファ105aに格納された入力画像は、バースト長を長く設定してある程度まとまった単位で、大容量メモリ106に転送される。
ここで、回転補正を行うモードが設定されている場合、大容量メモリ106に格納されている入力画像は画素ブロック単位で回転画像入出力バッファ105bを介して小容量高速メモリ107に転送される。そして小容量高速メモリ107に転送された画素ブロックに対して回転補正がなされると、回転補正済みの画素ブロックは小容量高速メモリ107から回転画像入出力バッファ105bを介して大容量メモリ106に転送される。大容量メモリ106に転送された回転補正済みの画素ブロックは適宜、画像出力バッファ105cを介して画像出力部108に対して送出される。
一方、回転補正を行うモードが設定されていない場合には、大容量メモリ106に格納されている入力画像は、バースト長を長く設定してある程度まとまった単位で、画像出力バッファ105cを介して画像出力部108に対して送出される。
なお、画像読み取り部101が記録媒体の表裏を一度に読み取る機能を有する場合、大容量メモリ106は、例えば図3に示す如く、表面の画像を格納するための領域である表画像記憶領域106a、裏面の画像を格納するための領域である裏画像記憶領域106b、を有するようにしても構わない。また、大容量メモリ106は、上記の回転画像入出力バッファ105bから転送される回転補正済みの画素ブロックを格納するための領域である回転画像記憶領域106cを有するようにしても構わない。もちろん、表面、裏面の何れか一方のみを読み取る場合であれば、対応する記憶領域だけを設けるようにすればよい。また、回転補正を行うモードが設定されていない場合には、回転画像記憶領域106cは設けなくても良い。このように、大容量メモリ106内における記憶領域の設け方については、様々な動作モードに応じて適宜変更すればよい。
なお、表画像記憶領域106a、裏画像記憶領域106b、回転画像記憶領域106cは何れもリングバッファとなっており、新しい画像が入力されると該新しい画像を現時点で保持している画像に上書きして保存する。
次に、大容量メモリ106に格納されている入力画像に対する回転補正(該入力画像を角度θだけ回転させる処理)について説明する。本実施形態では、入力画像に対し、縦α画素×横α画素のサイズを有する画素ブロックを単位に回転補正を行う。αの値は予め定められた値であっても良いし、小容量高速メモリ107の容量から求めた値であっても良いし、如何なる方法で取得しても構わない。
制御部104は、大容量メモリ106に格納されている入力画像から、縦α画素×横α画素のサイズを有する画素ブロックを回転補正元画素ブロックとして抽出し、該抽出した回転補正元画素ブロックを、回転画像入出力バッファ105bを介して、小容量高速メモリ107中に設けられている領域Aに転送する。
そして制御部104は、領域Aに転送した回転補正元画素ブロックを角度θだけ回転させた回転補正済み画素ブロックを、領域Aとは別個に小容量高速メモリ107内に設けられている領域B内で生成する。もちろん、小容量高速メモリ107の容量の関係で領域Bが小容量高速メモリ107内に設けることができなかった場合には、回転画像入出力バッファ105bなど、他のメモリ内に領域Bを設けても構わない。回転補正済み画素ブロックについて図4を用いて説明する。
図4において401は回転補正元画素ブロックであり、402は回転補正済み画素ブロックである。本実施形態では、回転補正済み画素ブロック402のサイズは、図4に示す如く、回転補正元画素ブロック401内でθだけ回転させても該回転補正元画素ブロック401からはみ出ないような最大の縦横サイズβ(縦β画素×横β画素)、とする。ここで、α、β、θの関係は以下の式を満たすことになる。
α≧β×sinθ+β×cosθ
図4では、α=128(縦128画素、横128画素)となっている(例えば、小容量高速メモリ107(領域A)の容量が16384Byte、入力画像が8ビットグレー画像である場合、小容量高速メモリ107(領域A)が保持可能な最大の画素ブロックサイズは128画素×128画素となる)。また、図4ではθ=3度となっている。然るにこの場合、β≦128画素/(sin3°+cos3°)=121.79画素となり、且つβは整数であることから、βの取り得る最大の整数(β≦α/(sinθ+cosθ)を満たす最大の整数)は121となる。すなわち、3度傾斜した画素ブロックを128画素×128画素のサイズの領域にはみ出すことなく格納する場合に、該画素ブロックが取り得る最大のサイズは121画素×121画素であることが分かる。
図4では、α=128(縦128画素、横128画素)となっている(例えば、小容量高速メモリ107(領域A)の容量が16384Byte、入力画像が8ビットグレー画像である場合、小容量高速メモリ107(領域A)が保持可能な最大の画素ブロックサイズは128画素×128画素となる)。また、図4ではθ=3度となっている。然るにこの場合、β≦128画素/(sin3°+cos3°)=121.79画素となり、且つβは整数であることから、βの取り得る最大の整数(β≦α/(sinθ+cosθ)を満たす最大の整数)は121となる。すなわち、3度傾斜した画素ブロックを128画素×128画素のサイズの領域にはみ出すことなく格納する場合に、該画素ブロックが取り得る最大のサイズは121画素×121画素であることが分かる。
然るに図4の場合、制御部104は、回転補正元画素ブロック401をθだけ回転させた画像から、縦β画素×横β画素のサイズを有する画像を回転補正済み画素ブロック402として抽出し、該抽出した回転補正済み画素ブロック402を領域Bに格納する。なお、回転補正元画素ブロックと同じ中心位置を有し且つβ画素×横β画素のサイズを有する領域内の画像を回転角度θだけ回転させたものを回転補正済み画素ブロックとして生成しても構わない。
そして制御部104は、領域Bに格納した回転補正済み画素ブロックを、回転画像入出力バッファ105bを介して大容量メモリ106に転送する。そして制御部104は、大容量メモリ106に格納されている全ての回転補正済み画素ブロックから成る画像、即ち、回転補正済みの入力画像を、画像出力バッファ105cを介して画像出力部108に対して送出する。なお、回転角度が5度の場合、上記の式を満たすβは118となる。
また、画素ブロックを回転させた回転済み画素ブロックを生成する方法には、最も近傍の画素を使用するニアレストネイバーや、周囲の画素に重みづけして求めるバイリニアやバイキュービックなど、様々な方法があり、どの方法を採用しても構わない。
次に、1枚の入力画像に対して回転補正を行う場合に、制御部104が行う処理について、図6のフローチャートを用いて説明する。
<ステップS601>
制御部104は画像読み取り部101を制御して記録媒体に記録された情報を画像として読み取らせるので、画像読み取り部101は読み取った画像に対してシェーディング処理などの画像処理を施した後、該画像を画像入力部103に対して送出する。
制御部104は画像読み取り部101を制御して記録媒体に記録された情報を画像として読み取らせるので、画像読み取り部101は読み取った画像に対してシェーディング処理などの画像処理を施した後、該画像を画像入力部103に対して送出する。
<ステップS602>
画像入力部103は、画像読み取り部101から受けた画像を入力画像として取得し、該入力画像を画像メモリI/F部105に対して送出する。画像入力部103から出力された入力画像は一旦画像入力バッファ105aに格納され、画像入力バッファ105aに格納された入力画像は、バースト長を長く設定してある程度まとまった単位で、大容量メモリ106に転送される。
画像入力部103は、画像読み取り部101から受けた画像を入力画像として取得し、該入力画像を画像メモリI/F部105に対して送出する。画像入力部103から出力された入力画像は一旦画像入力バッファ105aに格納され、画像入力バッファ105aに格納された入力画像は、バースト長を長く設定してある程度まとまった単位で、大容量メモリ106に転送される。
<ステップS603>
制御部104は、回転補正を行うモードが設定されているか否かを判断する。このモードは、例えば本装置が有するタッチパネル画面上に設定画面を表示させ、そこに「傾き補正」や「斜行補正」などのチェックボックスを表示させ、ユーザが該チェックボックスを有効にした場合に設定される。また、外部の装置において設定しても構わない。このように、回転補正を行うモードの設定方法はこの方法に限るものではない。
制御部104は、回転補正を行うモードが設定されているか否かを判断する。このモードは、例えば本装置が有するタッチパネル画面上に設定画面を表示させ、そこに「傾き補正」や「斜行補正」などのチェックボックスを表示させ、ユーザが該チェックボックスを有効にした場合に設定される。また、外部の装置において設定しても構わない。このように、回転補正を行うモードの設定方法はこの方法に限るものではない。
この判断の結果、回転補正を行うモードが設定されている場合には、処理はステップS606に進み、回転補正を行うモードが設定されていない場合には、処理はステップS604に進む。
<ステップS604>
制御部104は、大容量メモリ106に転送された入力画像を、バースト長を長く設定してある程度まとまった単位で、画像出力バッファ105cを介して画像出力部108に対して送出する。画像出力部108は、画像メモリI/F部105から送出された入力画像に対して、ガンマ補正、カラー/グレー変換、二値化処理、圧縮符号化処理、等の画像処理を施してから適当な出力先に対して出力する。なお、画像出力部108がこのような画像処理を行うことは必須ではなく、画像出力部108は、画像メモリI/F部105から送出された入力画像をそのまま適当な出力先に対して出力し、該出力先にてこのような画像処理を行うようにしても構わない。
制御部104は、大容量メモリ106に転送された入力画像を、バースト長を長く設定してある程度まとまった単位で、画像出力バッファ105cを介して画像出力部108に対して送出する。画像出力部108は、画像メモリI/F部105から送出された入力画像に対して、ガンマ補正、カラー/グレー変換、二値化処理、圧縮符号化処理、等の画像処理を施してから適当な出力先に対して出力する。なお、画像出力部108がこのような画像処理を行うことは必須ではなく、画像出力部108は、画像メモリI/F部105から送出された入力画像をそのまま適当な出力先に対して出力し、該出力先にてこのような画像処理を行うようにしても構わない。
<ステップS606>
制御部104は、大容量メモリ106に格納された入力画像に対する回転補正における回転角度を取得する。この回転角度は、ユーザが上記のタッチパネル画面上で指定した角度であっても良いし、入力画像を解析して求めた角度であっても構わない。入力画像を解析して回転角度を求める方法は周知であり、如何なる方法を採用しても構わない。例えば、入力画像内の文字列の並び方向が行方向であるのかそれとも列方向であるのかを認識し、行方向である場合には、水平方向(副走査方向)に対する文字列の並び方向の角度を回転角度とする。また、文字列の並び方向が列方向である場合には、垂直方向(走査方向)に対する文字列の並び方向の角度を回転角度とする。また、入力画像内の記録媒体の端部(エッジ)を検出し、入力画像の水平方向(垂直方向)の一辺に対する水平方向(垂直方向)のエッジの角度を回転角度としても構わない。
制御部104は、大容量メモリ106に格納された入力画像に対する回転補正における回転角度を取得する。この回転角度は、ユーザが上記のタッチパネル画面上で指定した角度であっても良いし、入力画像を解析して求めた角度であっても構わない。入力画像を解析して回転角度を求める方法は周知であり、如何なる方法を採用しても構わない。例えば、入力画像内の文字列の並び方向が行方向であるのかそれとも列方向であるのかを認識し、行方向である場合には、水平方向(副走査方向)に対する文字列の並び方向の角度を回転角度とする。また、文字列の並び方向が列方向である場合には、垂直方向(走査方向)に対する文字列の並び方向の角度を回転角度とする。また、入力画像内の記録媒体の端部(エッジ)を検出し、入力画像の水平方向(垂直方向)の一辺に対する水平方向(垂直方向)のエッジの角度を回転角度としても構わない。
また、大容量メモリ106に格納された入力画像からではなく、画像入力バッファ105aに格納された入力画像から回転角度を求めても構わないし、回転角度は、どの時点における入力画像から求めても構わない。
<ステップS607>
制御部104は、ステップS606で取得した回転角度(実際には回転角度の絶対値)が閾値以上であるか否かを判断する。この判断の結果、閾値以上であると判断した場合、即ち、時計回り若しくは反時計回りにおける回転角度が閾値以上である場合には、回転補正を行うものと判断し、処理はステップS608に進む。一方、閾値未満であると判断した場合、即ち、時計回り若しくは反時計回りにおける回転角度が閾値未満である場合には、回転補正は行わないものと判断し、処理はステップS604に進む。
制御部104は、ステップS606で取得した回転角度(実際には回転角度の絶対値)が閾値以上であるか否かを判断する。この判断の結果、閾値以上であると判断した場合、即ち、時計回り若しくは反時計回りにおける回転角度が閾値以上である場合には、回転補正を行うものと判断し、処理はステップS608に進む。一方、閾値未満であると判断した場合、即ち、時計回り若しくは反時計回りにおける回転角度が閾値未満である場合には、回転補正は行わないものと判断し、処理はステップS604に進む。
<ステップS608>
制御部104は、上記の処理により、αとθとを用いてβを求める。
制御部104は、上記の処理により、αとθとを用いてβを求める。
<ステップS609>
制御部104は、回転補正済みの入力画像を縦β画素×横β画素のサイズを有する画素ブロック(回転補正済み画素ブロック)を単位に分割した場合における未選択の回転補正済み画素ブロックを選択し、該選択した回転補正済み画素ブロックを得るために入力画像から抽出する画素ブロックを特定する。そして制御部104は、該特定した画素ブロックを大容量メモリ106に格納されている入力画像から抽出し、該抽出した画素ブロックを回転画像入出力バッファ105bを介して小容量高速メモリ107中の領域Aに転送する。
制御部104は、回転補正済みの入力画像を縦β画素×横β画素のサイズを有する画素ブロック(回転補正済み画素ブロック)を単位に分割した場合における未選択の回転補正済み画素ブロックを選択し、該選択した回転補正済み画素ブロックを得るために入力画像から抽出する画素ブロックを特定する。そして制御部104は、該特定した画素ブロックを大容量メモリ106に格納されている入力画像から抽出し、該抽出した画素ブロックを回転画像入出力バッファ105bを介して小容量高速メモリ107中の領域Aに転送する。
<ステップS610>
制御部104は、ステップS609で領域Aに転送した画素ブロックを上記の回転角度θだけ回転させた画像から、縦β画素×横β画素のサイズを有する画像を、回転補正済み画素ブロックとして抽出し、該抽出した回転補正済み画素ブロックを小容量高速メモリ107中の領域Bに格納する。そして制御部104は、領域Bに格納した回転補正済み画素ブロックを、回転画像入出力バッファ105bを介して大容量メモリ106に転送する。
制御部104は、ステップS609で領域Aに転送した画素ブロックを上記の回転角度θだけ回転させた画像から、縦β画素×横β画素のサイズを有する画像を、回転補正済み画素ブロックとして抽出し、該抽出した回転補正済み画素ブロックを小容量高速メモリ107中の領域Bに格納する。そして制御部104は、領域Bに格納した回転補正済み画素ブロックを、回転画像入出力バッファ105bを介して大容量メモリ106に転送する。
上記の通り、画素ブロックを回転させた回転済み画素ブロックを生成する方法には、最も近傍の画素を使用するニアレストネイバーや、周囲の画素に重みづけして求めるバイリニアやバイキュービックなど、様々な方法があり、どの方法を採用しても構わない。
<ステップS611>
制御部104は、ステップS609で全ての回転補正済み画素ブロックを選択したか否かを判断する。この判断の結果、全ての回転補正済み画素ブロックを選択した場合には、処理はステップS604に進み、未選択の回転補正済み画素ブロックが残っている場合には、処理はステップS609に戻る。
制御部104は、ステップS609で全ての回転補正済み画素ブロックを選択したか否かを判断する。この判断の結果、全ての回転補正済み画素ブロックを選択した場合には、処理はステップS604に進み、未選択の回転補正済み画素ブロックが残っている場合には、処理はステップS609に戻る。
なお、ステップS611からステップS604に処理が進んだ場合、制御部104は、大容量メモリ106に格納されている回転補正済みの入力画像を、バースト長を長く設定してある程度まとまった単位で、画像出力バッファ105cを介して画像出力部108に対して送出する。画像出力部108は、画像メモリI/F部105から送出された回転補正済みの入力画像に対して、ガンマ補正、カラー/グレー変換、二値化処理、圧縮符号化処理、等の画像処理を施してから適当な出力先に対して出力する。なお、画像出力部108がこのような画像処理を行うことは必須ではなく、画像出力部108は、画像メモリI/F部105から送出された回転補正済みの入力画像をそのまま適当な出力先に対して出力し、該出力先にてこのような画像処理を行うようにしても構わない。
なお、図6のフローチャートでは、大容量メモリ106に全ての回転補正済み画素ブロックが格納されてから画像出力部108への出力を行ったが、例えば水平1ライン分の回転補正済み画素ブロックが生成されるたびに、該水平1ライン分の回転補正済み画素ブロックを画像出力部108に対して送出しても良い。図5に、回転補正元画素ブロック401、回転補正済み画素ブロック402の関係を示す。
なお、本実施形態では、画素ブロックを単位に回転補正を行ったが、回転補正の単位はこれに限るものではなく、入力画像全体に対して一度の回転補正を行うようにしても構わない。
[第2の実施形態]
本実施形態は、第1の実施形態に係る画像読み取り装置に、記録媒体の傾きを検知するための原稿検知部を加えたものである。本実施形態に係る画像読み取り装置の機能構成例を図7に示す。図7において、図1に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。また、第2の実施形態以降では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。
本実施形態は、第1の実施形態に係る画像読み取り装置に、記録媒体の傾きを検知するための原稿検知部を加えたものである。本実施形態に係る画像読み取り装置の機能構成例を図7に示す。図7において、図1に示した機能部と同じ機能部には同じ参照番号を付しており、該機能部に係る説明は省略する。また、第2の実施形態以降では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。
原稿検知部709は、画像読み取り装置内に搬送される記録媒体の傾きを検知するためのものである。記録媒体の傾きを検知するための構成には様々な構成が考えられる。本実施形態では図8に示す如く、矢印802の方向に搬送される記録媒体801に対して画像読み取り部101(例えばラインセンサ)が読み取り動作を行う一方、搬送方向とは直交する方向に複数個配置されたセンサ804を原稿検知部709として用いる。
このセンサ804は、搬送路を通過する記録媒体の有無を検知するセンサで構成しても良い。例えば、赤外光源を利用した紙検知センサであっても良いし、レバーを利用した紙検知センサであっても良いし、超音波を利用したセンサであっても良いし、それらを組み合わせたセンサであっても良い。何れにせよ、それぞれのセンサ804による記録媒体の有無の検知結果の時系列を得ることで、センサ804間の距離、記録媒体の搬送速度、それぞれのセンサ804において初めて記録媒体を検知したタイミング、から、記録媒体の端部の傾きを検知することができる。
また、原稿検知部709を画像読み取り部101と同じラインセンサなどにより構成しても構わない。その場合、制御部104は、原稿検知部709による記録媒体のスキャン結果から周知の技術でもって記録媒体の傾きを求めることができる。その場合、原稿検知部709における読み取り解像度は、画像読み取り部101と同じかそれよりも低くても構わない。
[第3の実施形態]
図9に示す如く、ステップS609でN番目に選択した回転補正済み画素ブロック902を得るために入力画像から抽出する回転補正元画素ブロック901と、ステップS609で(N+1)番目に選択した回転補正済み画素ブロック904を得るために入力画像から抽出する回転補正元画素ブロック903と、には互いに重複する領域905が存在する。このような重複する領域は、小容量高速メモリ107の記憶領域のサイズ、回転補正済み画素ブロックのサイズ、回転角度θ、等を用いれば、周知の方法で求めることができる。
図9に示す如く、ステップS609でN番目に選択した回転補正済み画素ブロック902を得るために入力画像から抽出する回転補正元画素ブロック901と、ステップS609で(N+1)番目に選択した回転補正済み画素ブロック904を得るために入力画像から抽出する回転補正元画素ブロック903と、には互いに重複する領域905が存在する。このような重複する領域は、小容量高速メモリ107の記憶領域のサイズ、回転補正済み画素ブロックのサイズ、回転角度θ、等を用いれば、周知の方法で求めることができる。
然るに、領域Aに転送した回転補正元画素ブロック901を回転角度θだけ回転補正した回転補正済み画素ブロック902を領域B内で作成し、該作成した回転補正済み画素ブロック902を回転画像入出力バッファ105bを介して大容量メモリ106に転送した後、領域Aに回転補正元画素ブロック903を転送するのであるが、その際、領域905に相当する部分(図10の1002)は、大容量メモリ106から転送することなく、従前に領域Aに格納されている「回転補正元画素ブロック901において領域905に相当する部分(図10の1001)」を再利用する。
[第4の実施形態]
本実施形態では、傾き補正を行った後、更に90度回転させて出力する場合について説明する。図11に示す如く、先ずは、左下隅の位置にある画素ブロック1101について回転角度に90度を加えた角度だけ時計回りに回転補正を行い、次に、その直上にある画素ブロック1102について回転角度に90度を加えた角度だけ時計回りに回転補正を行う。一列分のラインブロックを生成したら、次のラインブロックを生成するため、画素ブロック1103について回転角度に90度を加えた角度だけ時計回りに回転補正を行う。図12の場合、回転角度が10度である場合における画素ブロックの時計回りの回転を示している。
本実施形態では、傾き補正を行った後、更に90度回転させて出力する場合について説明する。図11に示す如く、先ずは、左下隅の位置にある画素ブロック1101について回転角度に90度を加えた角度だけ時計回りに回転補正を行い、次に、その直上にある画素ブロック1102について回転角度に90度を加えた角度だけ時計回りに回転補正を行う。一列分のラインブロックを生成したら、次のラインブロックを生成するため、画素ブロック1103について回転角度に90度を加えた角度だけ時計回りに回転補正を行う。図12の場合、回転角度が10度である場合における画素ブロックの時計回りの回転を示している。
このように、回転させる画素ブロックの選択順を変更するだけで、補正回転角度に90度単位の回転角を加算することで特殊な画像バッファを追加することなく、回転補正を行うことができる。
[第5の実施形態]
第1の実施形態では、ステップS609において、回転補正済みの入力画像の縦横サイズがβの整数倍であることを前提としているが、本実施形態では、回転補正済みの入力画像の縦横サイズがβの整数倍ではない場合について説明する。
第1の実施形態では、ステップS609において、回転補正済みの入力画像の縦横サイズがβの整数倍であることを前提としているが、本実施形態では、回転補正済みの入力画像の縦横サイズがβの整数倍ではない場合について説明する。
小容量高速メモリ107(領域A)の容量が16384Byte、入力画像が8ビットグレー画像である場合、小容量高速メモリ107(領域A)が保持可能な最大の画素ブロックサイズは、第1の実施形態で説明したように、128画素×128画素(α=128)となる。また、θ=3度とすると、第1の実施形態で説明したように、β≦128画素/(sin3°+cos3°)=121.79画素となり、且つβは整数であることから、βの取り得る最大の整数は121となる。
ここで、図13に示す如く、回転補正済み入力画像の水平方向における画素数XOUT(1301)が680画素であるとすると、該回転補正済み入力画像を水平方向に121画素毎に分割した場合、下記の如く、水平方向に5.62分割することになる。
分割数=XOUT/β=680/121=5.62
つまり、回転補正済み入力画像における水平方向だけに着目すると、左端から5つの画素ブロックについては水平方向のサイズは121画素と均等であるものの、左端から6つ目の画素ブロックの水平方向のサイズは75画素となり、この6つ目の画素ブロックの変換効率が悪くなる。つまり、6つの回転補正済み画素ブロックを生成する際の変換効率は、小容量高速メモリ107(領域A)の容量が16384Byteであるから、6ブロック分の転送は、16384Byte×6画素ブロックで合計98304Byteとなり、6つ分の画素ブロックは680画素×121画素で82280画素、つまり82280Byteとなり、変換効率は83.7%となる。
つまり、回転補正済み入力画像における水平方向だけに着目すると、左端から5つの画素ブロックについては水平方向のサイズは121画素と均等であるものの、左端から6つ目の画素ブロックの水平方向のサイズは75画素となり、この6つ目の画素ブロックの変換効率が悪くなる。つまり、6つの回転補正済み画素ブロックを生成する際の変換効率は、小容量高速メモリ107(領域A)の容量が16384Byteであるから、6ブロック分の転送は、16384Byte×6画素ブロックで合計98304Byteとなり、6つ分の画素ブロックは680画素×121画素で82280画素、つまり82280Byteとなり、変換効率は83.7%となる。
そこで本実施形態では、この場合は水平方向の分割数を、5.62を超える最小の整数である6に決定(調整)する。回転補正済み入力画像の水平方向を6分割すると、回転補正済み画素ブロックの水平方向のサイズ1302は680画素/6=113.3画素、つまり、114画素となる。同様の対処を垂直方向にも適用することで、回転補正済み画素ブロックのサイズを114画素×114画素と確定することができ、回転補正済みの入力画像を水平方向及び垂直方向に均等に分割することができる。なお、このとき、小容量高速メモリ107(領域A)に求められるサイズαは、α≧114×(sin3°+cos3°)=119.8であるから、120となり、120画素×120画素のサイズの画像を保持できる容量があれば良いことになる。また、このときの6つの回転補正済み画素ブロックを生成する際の変換効率は、小容量高速メモリ107(領域A)の容量が120画素×120画素であるから、6ブロック分の転送は、120×120×6=86400画素、つまり86400Byteとなり、6つ分の画素ブロックは680画素×114画素で77520画素、つまり77520Byteとなり、変換効率は89.7%となる。
なお、これまでの説明では、回転補正済み入力画像を分割する領域は正方形であるもの仮定して説明してきたが、回転補正済み入力画像の水平方向の分割については上記の通り均等サイズでもって分割し、垂直方向については、小容量高速メモリ107の容量に応じたサイズとしても構わない。
回転補正済み画素ブロックのサイズをβx画素(水平方向のサイズ)×βy(垂直方向のサイズ)とした場合に、該回転補正済み画素ブロックに対応する入力画像上の画素ブロック(θだけ傾斜した画素ブロック)の左端と右端との間の距離αxは図4に示す如く、αx=βx×cosθ+βy×sinθであるから、βx=114、θ=3度の場合は、αx=114×cos3°+βy×sin3°となる。また、このような回転補正済み画素ブロックに対応する入力画像上の画素ブロック(θだけ傾斜した画素ブロック)の上端と下端との間の距離αyは図4に示す如く、αy=βx×sinθ+βy×cosθであるから、βx=114、θ=3度の場合は、αy=114×sin3°+βy×cos3°となる。ここで、小容量高速メモリ107(領域A)の容量を16384画素とすると、αx×αy≦16384が満たされることになるから、以下の式が成立することになる。
(114×cos3°+βy×sin3°)×(114×sin3°+βy×cos3°)≦16384
この式から、βy≦130.012となり、これを満たす最大の整数130がβyの値となる(1303)。なお、この場合、上記の式から、αx=120、αy=135となり、図14に示す如く、回転補正済み画素ブロック1401は回転補正元画素ブロック1402からはみ出さないサイズとなっている。
この式から、βy≦130.012となり、これを満たす最大の整数130がβyの値となる(1303)。なお、この場合、上記の式から、αx=120、αy=135となり、図14に示す如く、回転補正済み画素ブロック1401は回転補正元画素ブロック1402からはみ出さないサイズとなっている。
このときの6つの回転補正済み画素ブロックを生成する際の変換効率は、小容量高速メモリ107(領域A)の容量が120画素×135画素であるから、6ブロック分の転送は97200画素、つまり97920Byteとなり、6つ分の画素ブロックは680画素×130画素で88400画素、つまり88400Byteとなり、変換効率は90.9%となる。
同様に、1304に示すような回転補正済み入力画像の下端のラインブロックを生成する際には、回転補正済み入力画像の最終ラインの画素と、1304のように回転補正済み画素ブロックの最終ラインの画素を揃えることで、無駄な転送を防ぎ、変換効率を上げることができる。なお、このラインブロックにおけるブロックのサイズは、正方形にする方法でも良いし、バーストサイズに応じて幅方向の画素数を大きく設定しても良い。
[第6の実施形態]
第1〜5の実施形態は何れも、記録媒体を読み取ってその読み取り画像に対する回転補正を行う画像読み取り装置における動作として説明した。しかし、回転補正の対象となる画像を他の方法でもって取得し、該取得した画像に対して回転補正を行って出力する装置であれば、第1〜5の実施形態を適用可能な装置は画像読み取り装置以外の装置であっても構わない。
第1〜5の実施形態は何れも、記録媒体を読み取ってその読み取り画像に対する回転補正を行う画像読み取り装置における動作として説明した。しかし、回転補正の対象となる画像を他の方法でもって取得し、該取得した画像に対して回転補正を行って出力する装置であれば、第1〜5の実施形態を適用可能な装置は画像読み取り装置以外の装置であっても構わない。
例えば、一般のPC(パーソナルコンピュータ)等のコンピュータが有するハードディスクドライブ装置や該コンピュータに接続されているメモリ装置、若しくはネットワークを介して接続されている装置から回転補正の対象となる画像を取得し、該コンピュータが該画像に対して第1〜5の実施形態で説明したような回転補正を行って出力する、という形態も考え得る。
また、第1〜4の実施形態では、回転補正済み画素ブロックは正方形としてきた。しかし、回転補正済み画素ブロックの縦のサイズと横サイズとを異ならせても良く(回転補正済み画素ブロックを長方形としても良く)、その場合は、回転補正済み画素ブロックの水平方向のサイズをβx、垂直方向のサイズをβyとして同様の処理を行えばよい。
このように、回転補正の対象となる入力画像のサイズと、該回転補正における回転角度と、を用いて、出力画像のサイズを求め、該求めたサイズを有する該出力画像を、該入力画像に対する該回転補正により求め(計算し)、該出力画像を出力することで、例えば、2種類以上の用紙サイズを含む複数枚の記録媒体を順次スキャンして得られる画像のそれぞれについて上記のような回転補正を行う場合であっても、その用紙サイズに応じた変換効率の良い回転補正を実現させることができる。
また、上記の実施形態において説明した画像読取装置は、以下のような構成を有する画像読取装置の一例であるともいえる。すなわち、この画像読取装置は、シート材の画像を読み取り画像データとして出力する画像読取部と、読み取り画像データの少なくとも一面以上を記憶する第一記憶部と、読み取り画像データを記憶し第一記憶部よりも高速でアクセス可能な第二記憶部と、読み取り画像データを複数のブロックに分割してブロックごとに回転処理することで、該読み取り画像データの傾きを補正する制御部とを有する。ここで、制御部は、シート材のサイズおよび傾き角度を検知し、第二記憶部の容量と傾き角度をもとに出力ブロックのサイズを算出し、読み取り画像データを上記算出したサイズをもとに複数の出力ブロックに分割し、出力ブロックを生成するために必要な入力ブロックを算出し、入力ブロックを第一記憶部から第二記憶部に読み出し、入力ブロック内の画像の傾きを補正した出力ブロックを生成し、出力ブロックを第二記憶部から第一記憶部に書き込み、読み取り画像データの傾きを補正する。
103:画像入力部 104:制御部 105:画像メモリI/F部 107:小容量高速メモリ 108:画像出力部
Claims (7)
- 回転補正の対象となる入力画像のサイズと、該回転補正における回転角度と、を用いて、出力画像のサイズを求め、該求めたサイズを有する該出力画像を、該入力画像に対する該回転補正により求める計算手段と、
前記出力画像を出力する手段と
を備えることを特徴とする画像処理装置。 - 前記計算手段は、
前記入力画像のサイズをα、前記回転角度をθとすると、前記出力画像のサイズβを、β≦α/(sinθ+cosθ)を満たす最大の整数として求めることを特徴とする請求項1に記載の画像処理装置。 - 前記入力画像は、回転補正元の画像を複数の画素ブロックに分割した場合におけるそれぞれの画素ブロックであり、前記出力画像は、回転補正済みの画像を複数の画素ブロックに分割した場合におけるそれぞれの画素ブロックであることを特徴とする請求項1又は2に記載の画像処理装置。
- 前記計算手段は、
前記回転補正済みの画像のサイズが前記計算手段が求めたサイズの整数倍ではない場合、前記回転補正済みの画像が均等に分割されるように該求めたサイズを調整することを特徴とする請求項3に記載の画像処理装置。 - 画像処理装置が行う画像処理方法であって、
前記画像処理装置の計算手段が、回転補正の対象となる入力画像のサイズと、該回転補正における回転角度と、を用いて、出力画像のサイズを求め、該求めたサイズを有する該出力画像を、該入力画像に対する該回転補正により求める計算工程と、
前記画像処理装置の出力手段が、前記出力画像を出力する工程と
を備えることを特徴とする画像処理方法。 - コンピュータを、請求項1乃至4の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
- シート材の画像を読み取り画像データとして出力する画像読取部と、
前記読み取り画像データの少なくとも一面以上を記憶する第一記憶部と、
前記読み取り画像データを記憶し前記第一記憶部よりも高速でアクセス可能な第二記憶部と、
前記読み取り画像データを複数のブロックに分割してブロックごとに回転処理することで、該読み取り画像データの傾きを補正する制御部と
を有し、
前記制御部は、
シート材のサイズおよび傾き角度を検知し、
前記第二記憶部の容量と傾き角度をもとに出力ブロックのサイズを算出し、
前記読み取り画像データを前記算出したサイズをもとに複数の出力ブロックに分割し、
前記出力ブロックを生成するために必要な入力ブロックを算出し、
前記入力ブロックを前記第一記憶部から前記第二記憶部に読み出し、
前記入力ブロック内の画像の傾きを補正した前記出力ブロックを生成し、
前記出力ブロックを前記第二記憶部から前記第一記憶部に書き込み、
前記読み取り画像データの傾きを補正する
ことを特徴とする画像読取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016060884A JP2017175463A (ja) | 2016-03-24 | 2016-03-24 | 画像処理装置、画像処理方法、画像読取装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016060884A JP2017175463A (ja) | 2016-03-24 | 2016-03-24 | 画像処理装置、画像処理方法、画像読取装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017175463A true JP2017175463A (ja) | 2017-09-28 |
Family
ID=59972325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016060884A Pending JP2017175463A (ja) | 2016-03-24 | 2016-03-24 | 画像処理装置、画像処理方法、画像読取装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017175463A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019101536A (ja) * | 2017-11-29 | 2019-06-24 | 辰巳電子工業株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
US10516802B1 (en) | 2018-06-26 | 2019-12-24 | Kyocera Document Solutions Inc. | Image processing device |
JP2021064138A (ja) * | 2019-10-11 | 2021-04-22 | 日立造船株式会社 | 情報処理装置、同一性判定方法、および同一性判定プログラム |
-
2016
- 2016-03-24 JP JP2016060884A patent/JP2017175463A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019101536A (ja) * | 2017-11-29 | 2019-06-24 | 辰巳電子工業株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
JP7085722B2 (ja) | 2017-11-29 | 2022-06-17 | 辰巳電子工業株式会社 | 画像処理装置、画像処理方法及び画像処理プログラム |
US10516802B1 (en) | 2018-06-26 | 2019-12-24 | Kyocera Document Solutions Inc. | Image processing device |
JP2021064138A (ja) * | 2019-10-11 | 2021-04-22 | 日立造船株式会社 | 情報処理装置、同一性判定方法、および同一性判定プログラム |
JP7414456B2 (ja) | 2019-10-11 | 2024-01-16 | 日立造船株式会社 | 情報処理装置、同一性判定方法、および同一性判定プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6873728B2 (en) | Vertical black line removal implementation | |
US8937753B2 (en) | Image scanning apparatus, image compensation method and computer-readable recording medium | |
KR20110040471A (ko) | 화상형성장치 및 그 스큐 보정 방법 | |
JP2017175463A (ja) | 画像処理装置、画像処理方法、画像読取装置 | |
US20110135362A1 (en) | Image forming apparatus and method for de-skewing thereof | |
US8068261B2 (en) | Image reading apparatus, image reading method, and image reading program | |
JP2017161969A (ja) | 文字認識装置、方法およびプログラム | |
JP5182587B2 (ja) | 画像処理装置および画像処理方法 | |
JP2006203710A (ja) | 画像処理装置 | |
JP6886622B2 (ja) | 画像処理装置 | |
JP2017038346A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2005086598A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理回路 | |
US10419638B2 (en) | Image processing apparatus and image processing method | |
JP2011091698A (ja) | 画像読取装置及び画像読取装置における画像データの補正処理方法 | |
EP2323099A1 (en) | Image reading device and method of writing image data in an image reading device | |
US20120206737A1 (en) | Image forming apparatus and image forming method for correcting registration deviation | |
US11093150B2 (en) | Image processing apparatus | |
US20240202888A1 (en) | Image processing apparatus, method for controlling image processing apparatus, and storage medium | |
US11231676B2 (en) | Direct memory access based hardware deskew | |
JP4361457B2 (ja) | 画像形成装置およびプログラム | |
JP6876917B2 (ja) | 原稿サイズ検出装置、原稿サイズ検出プログラム及び画像処理システム | |
JP6573124B2 (ja) | 画像処理装置 | |
JP4861250B2 (ja) | 画像処理装置およびその制御方法 | |
JP4803242B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2020005075A (ja) | 画像処理装置 |