JPH05274475A - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- JPH05274475A JPH05274475A JP4071325A JP7132592A JPH05274475A JP H05274475 A JPH05274475 A JP H05274475A JP 4071325 A JP4071325 A JP 4071325A JP 7132592 A JP7132592 A JP 7132592A JP H05274475 A JPH05274475 A JP H05274475A
- Authority
- JP
- Japan
- Prior art keywords
- image
- original
- tilt angle
- line
- processing apparatus
- 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
- 238000001514 detection method Methods 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 abstract description 33
- 238000000034 method Methods 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000003936 working memory Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 2
- 230000005855 radiation Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Image Processing (AREA)
- Character Input (AREA)
- Image Input (AREA)
Abstract
(57)【要約】
【目的】 簡単な操作で高速に原稿画像の傾きを検出す
ることができる画像処理装置を提供すること。 【構成】 イメージスキャナ101からの画像の全体を
画像メモリ106に記憶させるとともに、識別部102
により1ライン毎に識別して識別結果を範囲検出部10
3に記憶させる。原稿部範囲記憶部103には、原稿部
画像の主走査方向範囲が記憶される。ズレ検出部104
は原稿部範囲のデータをもとに主走査方向のズレを検出
する。傾き角検出部105は、このズレから原稿の傾き
角を検出し、傾き補正部109は、傾き角に基づいて画
像メモリ106内の原稿画像の主走査及び副走査方向の
ズレを補正しながら作業メモリ110に書き込み、画像
の傾きを補正する。
ることができる画像処理装置を提供すること。 【構成】 イメージスキャナ101からの画像の全体を
画像メモリ106に記憶させるとともに、識別部102
により1ライン毎に識別して識別結果を範囲検出部10
3に記憶させる。原稿部範囲記憶部103には、原稿部
画像の主走査方向範囲が記憶される。ズレ検出部104
は原稿部範囲のデータをもとに主走査方向のズレを検出
する。傾き角検出部105は、このズレから原稿の傾き
角を検出し、傾き補正部109は、傾き角に基づいて画
像メモリ106内の原稿画像の主走査及び副走査方向の
ズレを補正しながら作業メモリ110に書き込み、画像
の傾きを補正する。
Description
【0001】
【産業上の利用分野】本発明は、原稿の画像をラスタ走
査にて画像を読み取り、画像の傾きを検出してその傾き
角を算出する画像処理装置に関する。また、本発明は、
検出された傾き角に応じて画像の傾きを補正する画像処
理装置に関する。
査にて画像を読み取り、画像の傾きを検出してその傾き
角を算出する画像処理装置に関する。また、本発明は、
検出された傾き角に応じて画像の傾きを補正する画像処
理装置に関する。
【0002】
【従来の技術】画像処理装置においては原稿をイメージ
スキャナで読み取り、この読み取られた画像に対して移
動,回転,削除等の種々の画像処理を施す。この中の画
像の回転処理は、たとえば、原稿が傾いた状態で読み取
られた場合に、読み取り画像の傾きを補正するために使
用される。
スキャナで読み取り、この読み取られた画像に対して移
動,回転,削除等の種々の画像処理を施す。この中の画
像の回転処理は、たとえば、原稿が傾いた状態で読み取
られた場合に、読み取り画像の傾きを補正するために使
用される。
【0003】イメージスキャナで原稿を読み取るとき、
原稿を傾いた状態でセットしてしまった場合には画像が
傾いた状態で入力されてしまい、その画像をディスプレ
イに表示したり、プリンタによって印刷した場合に見栄
えが悪くなってしまう。
原稿を傾いた状態でセットしてしまった場合には画像が
傾いた状態で入力されてしまい、その画像をディスプレ
イに表示したり、プリンタによって印刷した場合に見栄
えが悪くなってしまう。
【0004】従来、このような入力した画像の傾きを補
正する方法は、傾いた状態で入力され記憶された画像メ
モリ上の画像に対して傾き補正を行うものであって、た
とえば、特開平2−56081号公報に開示されている
ように、画像メモリ上の2値画像を所定の回転角度間で
回転し、その回転された画像における各ピクセル列の白
ランレングスの分散値に基づいて傾いた画像を補正する
方法や、特開平2−130595号公報に開示されてい
るように、画像メモリ上の画像をディスプレイに表示
し、そこでユーザがポイントを指定することで画像の傾
きを求めて画像の傾きを補正する方法や、或いは特開平
2−226372号公報に開示されているように、画像
メモリ上の画像の特定の画素を所定回転角ごとに回転さ
せたときの特定の画素の各矩形領域の面積に応じて画像
の回転角を求め画像の傾きを補正する方法が提案されて
いる。
正する方法は、傾いた状態で入力され記憶された画像メ
モリ上の画像に対して傾き補正を行うものであって、た
とえば、特開平2−56081号公報に開示されている
ように、画像メモリ上の2値画像を所定の回転角度間で
回転し、その回転された画像における各ピクセル列の白
ランレングスの分散値に基づいて傾いた画像を補正する
方法や、特開平2−130595号公報に開示されてい
るように、画像メモリ上の画像をディスプレイに表示
し、そこでユーザがポイントを指定することで画像の傾
きを求めて画像の傾きを補正する方法や、或いは特開平
2−226372号公報に開示されているように、画像
メモリ上の画像の特定の画素を所定回転角ごとに回転さ
せたときの特定の画素の各矩形領域の面積に応じて画像
の回転角を求め画像の傾きを補正する方法が提案されて
いる。
【0005】
【発明が解決しようとする課題】しかしながら、上記特
開平2−56081号公報及び特開平2−226372
号公報に記載の方法では、画像の傾き角を求めるのに数
回の画像回転処理を実行せねばならず、傾き角検出に多
大な時間を必要とするという問題があり、また、特開平
2−130595号公報に記載の方法では、ユーザがポ
イントを指定して傾き角を求めるといった指示が必要な
ため操作が面倒であるなどの欠点があった。さらに、上
記従来例の各方法は、傾いた画像が一度画像メモリに記
憶されていなければならないので、画像の画像メモリへ
の書き込み動作が傾き角検出の前に必要であり、傾き角
検出においてはこの画像メモリからの画像読み出しと画
像書き込みが行われるため画像の傾き角算出時間の短縮
には限界があった。
開平2−56081号公報及び特開平2−226372
号公報に記載の方法では、画像の傾き角を求めるのに数
回の画像回転処理を実行せねばならず、傾き角検出に多
大な時間を必要とするという問題があり、また、特開平
2−130595号公報に記載の方法では、ユーザがポ
イントを指定して傾き角を求めるといった指示が必要な
ため操作が面倒であるなどの欠点があった。さらに、上
記従来例の各方法は、傾いた画像が一度画像メモリに記
憶されていなければならないので、画像の画像メモリへ
の書き込み動作が傾き角検出の前に必要であり、傾き角
検出においてはこの画像メモリからの画像読み出しと画
像書き込みが行われるため画像の傾き角算出時間の短縮
には限界があった。
【0006】さらに、画像の回転処理は、正弦関数si
nと余弦関数cosからなる回転変換行列の計算を行う
必要があるため、多大な処理時間を必要とした。
nと余弦関数cosからなる回転変換行列の計算を行う
必要があるため、多大な処理時間を必要とした。
【0007】本発明は、上記問題点に鑑みてなされたも
のであり、簡単な操作で高速に原稿画像の傾きを検出す
ることができる画像処理装置を提供することを目的とす
る。また、本発明は、三角関数を使用した座標変換を行
うことなく高速に画像の回転処理を行って画像の傾きを
補正する画像処理装置を提供することを目的とする。
のであり、簡単な操作で高速に原稿画像の傾きを検出す
ることができる画像処理装置を提供することを目的とす
る。また、本発明は、三角関数を使用した座標変換を行
うことなく高速に画像の回転処理を行って画像の傾きを
補正する画像処理装置を提供することを目的とする。
【0008】
【課題を解決するための手段】本発明の画像処理装置
は、上記の目的を達成するため、原稿を読み取って得た
画像データの走査ラインごとに原稿部分を識別する識別
手段と、この識別手段により識別した識別結果に基づ
き、走査ライン間における、前記原稿の位置の走査方向
のズレと走査ライン間の距離とを検出するズレ検出手段
と、このズレ検出手段により検出された検出結果に基づ
き、基準線に対する原稿画像の傾き角を算出する傾き角
演算手段とを有している。
は、上記の目的を達成するため、原稿を読み取って得た
画像データの走査ラインごとに原稿部分を識別する識別
手段と、この識別手段により識別した識別結果に基づ
き、走査ライン間における、前記原稿の位置の走査方向
のズレと走査ライン間の距離とを検出するズレ検出手段
と、このズレ検出手段により検出された検出結果に基づ
き、基準線に対する原稿画像の傾き角を算出する傾き角
演算手段とを有している。
【0009】また、本発明の画像処理装置は、前記傾き
角演算手段によって算出された傾き角度に基づき補正量
を算出する補正量演算手段と、前記補正量演算手段の演
算結果に基づいて原稿画像の各画素の位置を補正する補
正手段とを有している。
角演算手段によって算出された傾き角度に基づき補正量
を算出する補正量演算手段と、前記補正量演算手段の演
算結果に基づいて原稿画像の各画素の位置を補正する補
正手段とを有している。
【0010】
【作用】本発明の画像処理装置においては、原稿を含む
領域が複数走査ラインにわたって読み取られて画像デー
タが得られる。この画像データは、識別手段により走査
ラインごとに原稿部分が識別される。原稿が傾いて読み
取られている場合には、走査ライン間における原稿の位
置が走査方向で異なってくる。この走査方向のズレと走
査ライン間の距離がズレ検出手段により検出される。傾
き角演算手段は、走査方向のズレと走査ライン間の距離
から基準線に対する原稿画像の傾き角を算出する。な
お、本発明においては、基準線とは、原稿画像の走査方
向と垂直な線を意味している。
領域が複数走査ラインにわたって読み取られて画像デー
タが得られる。この画像データは、識別手段により走査
ラインごとに原稿部分が識別される。原稿が傾いて読み
取られている場合には、走査ライン間における原稿の位
置が走査方向で異なってくる。この走査方向のズレと走
査ライン間の距離がズレ検出手段により検出される。傾
き角演算手段は、走査方向のズレと走査ライン間の距離
から基準線に対する原稿画像の傾き角を算出する。な
お、本発明においては、基準線とは、原稿画像の走査方
向と垂直な線を意味している。
【0011】また、算出された画像の傾き角に応じて、
原稿の画像データが近似座標変換され画像の傾き補正が
行われる。
原稿の画像データが近似座標変換され画像の傾き補正が
行われる。
【0012】
【実施例】以下、この発明の実施例を図面を用いて具体
的に説明する。
的に説明する。
【0013】図1は、この発明を実施した画像処理装置
の構成を示すブロック図である。この画像処理装置は、
原稿画像を読み取って画像信号を生成するイメージスキ
ャナ101と、このイメージスキャナ101により読み
取られた画像を1ライン毎に原稿部画像か非原稿部画像
か識別する識別部102と、その原稿部画像の範囲を主
走査方向の座標にて開始点と終了点を検出して、それぞ
れレジスタ103aとレジスタ103bに記憶する範囲
検出部103と、この範囲検出部103により検出した
現走査ラインの原稿部画像範囲とレジスタ103aとレ
ジスタ103bに記憶された前走査ラインの原稿部画像
範囲から基準線に対する主走査方向のズレを算出するズ
レ検出部104と、このズレから画像の傾きを検出しそ
の傾き角を算出する傾き角検出部105と、イメージス
キャナ101が読み込んだ画像を記憶する画像メモリ1
06と、画像メモリ106の画像の傾きを補正する傾き
補正部109と、傾きが補正された画像を記憶する作業
メモリ110と備えている。前記傾き補正部109は、
画像の水平方向のズレを補正するべく画像の水平方向移
動を制御する水平移動制御部107と、画像の垂直方向
のズレを補正するべく画像の垂直方向移動を制御する垂
直移動制御部108とを備えており、傾き補正部109
は、画像の傾き角に応じて水平移動制御部107と垂直
移動制御部108を制御し画像の傾きを補正する。
の構成を示すブロック図である。この画像処理装置は、
原稿画像を読み取って画像信号を生成するイメージスキ
ャナ101と、このイメージスキャナ101により読み
取られた画像を1ライン毎に原稿部画像か非原稿部画像
か識別する識別部102と、その原稿部画像の範囲を主
走査方向の座標にて開始点と終了点を検出して、それぞ
れレジスタ103aとレジスタ103bに記憶する範囲
検出部103と、この範囲検出部103により検出した
現走査ラインの原稿部画像範囲とレジスタ103aとレ
ジスタ103bに記憶された前走査ラインの原稿部画像
範囲から基準線に対する主走査方向のズレを算出するズ
レ検出部104と、このズレから画像の傾きを検出しそ
の傾き角を算出する傾き角検出部105と、イメージス
キャナ101が読み込んだ画像を記憶する画像メモリ1
06と、画像メモリ106の画像の傾きを補正する傾き
補正部109と、傾きが補正された画像を記憶する作業
メモリ110と備えている。前記傾き補正部109は、
画像の水平方向のズレを補正するべく画像の水平方向移
動を制御する水平移動制御部107と、画像の垂直方向
のズレを補正するべく画像の垂直方向移動を制御する垂
直移動制御部108とを備えており、傾き補正部109
は、画像の傾き角に応じて水平移動制御部107と垂直
移動制御部108を制御し画像の傾きを補正する。
【0014】本実施例の画像処理装置の傾き角算出の動
作を図2のフローチャートに従って説明する。まず、ス
テップ201では、イメージスキャナ101の原稿画像
読み取り開始前に、レジスタ103a、レジスタ103
bおよびラインカウント・パラメータLCを0にする。
なお、ラインカウント・パラメータLCは、原稿部が含
まれるラインの数をカウントするもので、たとえば、識
別部102に内蔵されたLCカウンタ (図示せず) によ
りカウントされる。
作を図2のフローチャートに従って説明する。まず、ス
テップ201では、イメージスキャナ101の原稿画像
読み取り開始前に、レジスタ103a、レジスタ103
bおよびラインカウント・パラメータLCを0にする。
なお、ラインカウント・パラメータLCは、原稿部が含
まれるラインの数をカウントするもので、たとえば、識
別部102に内蔵されたLCカウンタ (図示せず) によ
りカウントされる。
【0015】ステップ202は、イメージスキャナ10
1が原稿の画像読み取りを開始するステップである。画
像の傾き検出処理は、原稿の画像読み取り開始と共にパ
イプライン処理で動作し、傾き検出処理がイメージスキ
ャナ101に対して途中で画像データの出力を停止させ
ることはない。
1が原稿の画像読み取りを開始するステップである。画
像の傾き検出処理は、原稿の画像読み取り開始と共にパ
イプライン処理で動作し、傾き検出処理がイメージスキ
ャナ101に対して途中で画像データの出力を停止させ
ることはない。
【0016】イメージスキャナ101は、図3(a),
(b)の正面図及び右側面図に示すような構成を有して
おり、原稿101eをプラテン101dの上に載せてプ
ラテンカバー101cを閉じ、イメージセンサ・アレイ
101aを走査し、光源101bの光が原稿101eで
反射した反射光をイメージセンサ・アレイ101aが受
光してその強度をディジタル出力する。ここで、プラテ
ンカバー101cは鏡面となっており、イメージセンサ
・アレイ101aの反射光強度出力は、完全拡散反射面
の原稿部分と鏡面反射面の非原稿部分の出力を判定でき
るようになっている。つまり、ある反射光強度閾値Sを
もうけ、イメージセンサ・アレイ101aの反射光強度
出力RがR≧Sであれば非原稿部分、R<Sであれば反
射光強度Rの原稿部分と見做すことができる。
(b)の正面図及び右側面図に示すような構成を有して
おり、原稿101eをプラテン101dの上に載せてプ
ラテンカバー101cを閉じ、イメージセンサ・アレイ
101aを走査し、光源101bの光が原稿101eで
反射した反射光をイメージセンサ・アレイ101aが受
光してその強度をディジタル出力する。ここで、プラテ
ンカバー101cは鏡面となっており、イメージセンサ
・アレイ101aの反射光強度出力は、完全拡散反射面
の原稿部分と鏡面反射面の非原稿部分の出力を判定でき
るようになっている。つまり、ある反射光強度閾値Sを
もうけ、イメージセンサ・アレイ101aの反射光強度
出力RがR≧Sであれば非原稿部分、R<Sであれば反
射光強度Rの原稿部分と見做すことができる。
【0017】ステップ203は、識別部102がイメー
ジスキャナ101の画像出力データを前記のように反射
光強度閾値Sにて原稿部データか非原稿部データか識別
する。
ジスキャナ101の画像出力データを前記のように反射
光強度閾値Sにて原稿部データか非原稿部データか識別
する。
【0018】ステップ204は、もし1ラインの画像デ
ータが全て非原稿部データの場合は、ステップ203に
戻ってイメージスキャナ101が次のラインの画像デー
タを出力するまで待ち、もし1つでも原稿部データがあ
る場合には、ステップ205に進む。
ータが全て非原稿部データの場合は、ステップ203に
戻ってイメージスキャナ101が次のラインの画像デー
タを出力するまで待ち、もし1つでも原稿部データがあ
る場合には、ステップ205に進む。
【0019】ステップ205では、原稿部画像が開始し
てからのライン数をカウントするためラインカウント・
パラメータLCを1だけインクリメントする。
てからのライン数をカウントするためラインカウント・
パラメータLCを1だけインクリメントする。
【0020】ステップ206は、原稿部画像の開始ライ
ンを判定しており、開始ラインであればステップ207
に、そうでなければステップ208に進む。
ンを判定しており、開始ラインであればステップ207
に、そうでなければステップ208に進む。
【0021】ステップ207では、範囲検出部103
が、現在の走査ラインの画像の原稿部開始点主走査方向
座標SXと原稿部終了点主走査方向座標EXを検出し、
それぞれレジスタ103aとレジスタ103bに登録さ
れる。このレジスタ103aとレジスタ103bのデー
タは、後で前ラインの原稿部開始点主走査方向座標PS
Xと原稿部終了点主走査方向座標PEXとして参照され
ることになる。
が、現在の走査ラインの画像の原稿部開始点主走査方向
座標SXと原稿部終了点主走査方向座標EXを検出し、
それぞれレジスタ103aとレジスタ103bに登録さ
れる。このレジスタ103aとレジスタ103bのデー
タは、後で前ラインの原稿部開始点主走査方向座標PS
Xと原稿部終了点主走査方向座標PEXとして参照され
ることになる。
【0022】ステップ208〜212では、ズレ検出部
104が、前ラインの原稿部開始点主走査方向座標PS
Xと原稿部終了点主走査方向座標PEXが登録されてい
るレジスタ103aとレジスタ103bのデータと、現
ラインの原稿部開始点主走査方向座標SXと原稿部終了
点主走査方向座標EXから、(SX−PSX)と(EX
−PEX)の絶対値を計算し (ステップ208)、絶対
値が小さい方をズレSVとして (ステップ209〜21
1)、現ラインの原稿部開始点主走査方向座標SXと原
稿部終了点主走査方向座標EXを下記の式(3),
(4)の様に補正したCSX,CEXを計算し、レジス
タ103aにCSXを、そしてレジスタ103bにCE
Xを登録する (ステップ212)。
104が、前ラインの原稿部開始点主走査方向座標PS
Xと原稿部終了点主走査方向座標PEXが登録されてい
るレジスタ103aとレジスタ103bのデータと、現
ラインの原稿部開始点主走査方向座標SXと原稿部終了
点主走査方向座標EXから、(SX−PSX)と(EX
−PEX)の絶対値を計算し (ステップ208)、絶対
値が小さい方をズレSVとして (ステップ209〜21
1)、現ラインの原稿部開始点主走査方向座標SXと原
稿部終了点主走査方向座標EXを下記の式(3),
(4)の様に補正したCSX,CEXを計算し、レジス
タ103aにCSXを、そしてレジスタ103bにCE
Xを登録する (ステップ212)。
【0023】CSX=SX−SV ・・・(3) CEX=EX−SV ・・・(4) このレジスタ103aに登録されたCSXとレジスタ1
03bに登録されたCEXは、次のラインを処理すると
きに前ラインの原稿部開始点主走査方向座標PSXと原
稿部終了点主走査方向座標PEXとして参照される。
03bに登録されたCEXは、次のラインを処理すると
きに前ラインの原稿部開始点主走査方向座標PSXと原
稿部終了点主走査方向座標PEXとして参照される。
【0024】図4は、原稿が傾いてイメージスキャナ1
01に読み取られた場合を示しており、この時のズレS
Vを各走査ライン毎に示したものが図5である。
01に読み取られた場合を示しており、この時のズレS
Vを各走査ライン毎に示したものが図5である。
【0025】画像の傾き角を算出するには、原稿開始画
像開始ライン上の原稿のコーナーポイントP1とその次
に現れるコーナーポイントP2を決定する必要がある。
なお、ここでは原稿は、コーナーポイントP1とP2と
を結ぶ第1の端線E1と、この第1の端線E1と隣り合
う平行な第2の端線E2と第3の端線E3を有する矩形
状をしている。
像開始ライン上の原稿のコーナーポイントP1とその次
に現れるコーナーポイントP2を決定する必要がある。
なお、ここでは原稿は、コーナーポイントP1とP2と
を結ぶ第1の端線E1と、この第1の端線E1と隣り合
う平行な第2の端線E2と第3の端線E3を有する矩形
状をしている。
【0026】ステップ213は、(SX−PSX)と
(EX−PEX)が同じ値をとるラインを判定するステ
ップであり、(SX−PSX)と(EX−PEX)が同
じ値でなければステップ203に戻ってイメージスキャ
ナ101が次のラインの画像データを出力するまでま
ち、もし同じ値であればステップ214に進む。このス
テップ213は、原稿部の境界を形成する左右の両辺が
平行であるか否かを検出するためのものであって、例え
ば図4においては、走査ライン1から走査ライン5まで
は、原稿部境界を形成する左右の両辺が第一の端線E1
と第3の端線E3であり平行ではないが、走査ライン6
において原稿部境界を形成する左右の両辺が平行な第2
の端線E2と第3の端線E3になったことを検出する。
このステッブによってコーナポイントP2ならびにコー
ナポイントP1が決定する。
(EX−PEX)が同じ値をとるラインを判定するステ
ップであり、(SX−PSX)と(EX−PEX)が同
じ値でなければステップ203に戻ってイメージスキャ
ナ101が次のラインの画像データを出力するまでま
ち、もし同じ値であればステップ214に進む。このス
テップ213は、原稿部の境界を形成する左右の両辺が
平行であるか否かを検出するためのものであって、例え
ば図4においては、走査ライン1から走査ライン5まで
は、原稿部境界を形成する左右の両辺が第一の端線E1
と第3の端線E3であり平行ではないが、走査ライン6
において原稿部境界を形成する左右の両辺が平行な第2
の端線E2と第3の端線E3になったことを検出する。
このステッブによってコーナポイントP2ならびにコー
ナポイントP1が決定する。
【0027】ステップ214では、傾き角検出部105
が、この時のラインカウント・パラメータLCとズレS
Vから、式(5)によって画像の傾き角θ(ラジアン)
を算出し、処理を終了する。
が、この時のラインカウント・パラメータLCとズレS
Vから、式(5)によって画像の傾き角θ(ラジアン)
を算出し、処理を終了する。
【0028】 θ=tan-1(SV/(LC−2)) ・・・ (5) ここで、画像の傾き角θ(ラジアン)は、画像の反時計
回りの回転角(ラジアン)である。図4のように、原稿
が傾いて画像読み取りされた場合は、走査ライン6にお
いてLC=6,SV=1であるから、画像の傾き角θ
(ラジアン)は約0.245(ラジアン)と算出され
る。
回りの回転角(ラジアン)である。図4のように、原稿
が傾いて画像読み取りされた場合は、走査ライン6にお
いてLC=6,SV=1であるから、画像の傾き角θ
(ラジアン)は約0.245(ラジアン)と算出され
る。
【0029】原稿が傾かずに画像読み取りされた場合
は、SV=0であるから画像の傾き角θ(ラジアン)=
0となる。
は、SV=0であるから画像の傾き角θ(ラジアン)=
0となる。
【0030】また、イメージスキャナ101から読み取
られた画像は、画像メモリ106に記憶される。
られた画像は、画像メモリ106に記憶される。
【0031】画像の傾き角θ(ラジアン)は一般に小さ
いので、正接関数tanθが画像の傾き角θ(ラジア
ン)で近似でき、画像の回転は下記の式(6)と式
(7)の座標変換に分解できるので、画像の傾き補正を
画像の水平方向移動と画像の垂直方向移動によって行う
ことができる。
いので、正接関数tanθが画像の傾き角θ(ラジア
ン)で近似でき、画像の回転は下記の式(6)と式
(7)の座標変換に分解できるので、画像の傾き補正を
画像の水平方向移動と画像の垂直方向移動によって行う
ことができる。
【0032】 X’=X−int(Y×θ) ・・・(6) Y’=Y+int(X’×θ) ・・・(7) ただし、ここで、Xは画像の水平方向の座標、X’は水
平移動後の画像の水平方向の座標、Yは画像の垂直方向
の座標、Y’は垂直移動後の画像の垂直方向の座標であ
って、int(・・・)は整数化演算を示している。
平移動後の画像の水平方向の座標、Yは画像の垂直方向
の座標、Y’は垂直移動後の画像の垂直方向の座標であ
って、int(・・・)は整数化演算を示している。
【0033】本実施例においては、多大な処理時間を必
要とする正弦関数sinと余弦関数cosからなる回転
変換行列の計算を行う必要はないので、画像の傾きを短
時間で補正することができる。
要とする正弦関数sinと余弦関数cosからなる回転
変換行列の計算を行う必要はないので、画像の傾きを短
時間で補正することができる。
【0034】本実施例の画像処理装置の傾き補正の動作
を図6のフローチャートに従って説明する。
を図6のフローチャートに従って説明する。
【0035】ステップ601では、傾き角検出部105
によって算出された画像の傾き角θ(ラジアン)が0
(ラジアン)であるか否かを判定し、もし傾き角θ(ラ
ジアン)が0でなければ画像が傾いているのでステップ
602に進み、傾き角θ(ラジアン)が0であれば画像
が傾いていないので傾き補正処理を行わずに終了する。
によって算出された画像の傾き角θ(ラジアン)が0
(ラジアン)であるか否かを判定し、もし傾き角θ(ラ
ジアン)が0でなければ画像が傾いているのでステップ
602に進み、傾き角θ(ラジアン)が0であれば画像
が傾いていないので傾き補正処理を行わずに終了する。
【0036】ステップ602では、傾き角検出部105
によって算出された画像の傾き角θ(ラジアン)が傾き
補正部109に入力される。
によって算出された画像の傾き角θ(ラジアン)が傾き
補正部109に入力される。
【0037】ステップ603では、傾き補正部109
が、水平移動制御部107を式(6)のように制御し、
次に垂直移動制御部108を式(7)のように制御し
て、画像メモリ106に記憶されている画像を、水平方
向移動後の水平方向座標X’と垂直方向移動後の垂直方
向座標Y’に座標変換移動して、作業メモリ110に傾
きを補正した画像を生成し、画像の傾き補正を終了す
る。
が、水平移動制御部107を式(6)のように制御し、
次に垂直移動制御部108を式(7)のように制御し
て、画像メモリ106に記憶されている画像を、水平方
向移動後の水平方向座標X’と垂直方向移動後の垂直方
向座標Y’に座標変換移動して、作業メモリ110に傾
きを補正した画像を生成し、画像の傾き補正を終了す
る。
【0038】次に、上述の画像処理装置の具体的な回路
例について図7,図8を参照して説明する。
例について図7,図8を参照して説明する。
【0039】図7は、画像処理装置の全体構成を示して
おり、図1に示すブロック図と対応する部材等には同一
符号を付している。図7に示す構成例においては、識別
部102及び範囲検出部103は、図8に示すようにハ
ードウェアで構成されている。また、主メモリ201上
には、範囲検出部103のレジスタ103a,103
b、画像メモリ106、作業メモリ110のそれぞれに
対応する領域が確保されるとともに、ズレ検出部10
4、傾き角検出部105及び傾き補正部109をそれぞ
れソフトウェア的に実現するためのプログラム「pro
cedure 104」、「procedure 10
5」及び「procedure 109」が格納されて
いる。そして、CPU (中央処理装置) 202は主メモ
リ201に格納されている制御プログラム203に基づ
き、画像の傾き角検出及び回転処理を行う。また、識別
部102からの画像データIDは、ダイレクトメモリア
クセスコントローラ(DMAC)204により直接画像
メモリ106に書き込まれる。
おり、図1に示すブロック図と対応する部材等には同一
符号を付している。図7に示す構成例においては、識別
部102及び範囲検出部103は、図8に示すようにハ
ードウェアで構成されている。また、主メモリ201上
には、範囲検出部103のレジスタ103a,103
b、画像メモリ106、作業メモリ110のそれぞれに
対応する領域が確保されるとともに、ズレ検出部10
4、傾き角検出部105及び傾き補正部109をそれぞ
れソフトウェア的に実現するためのプログラム「pro
cedure 104」、「procedure 10
5」及び「procedure 109」が格納されて
いる。そして、CPU (中央処理装置) 202は主メモ
リ201に格納されている制御プログラム203に基づ
き、画像の傾き角検出及び回転処理を行う。また、識別
部102からの画像データIDは、ダイレクトメモリア
クセスコントローラ(DMAC)204により直接画像
メモリ106に書き込まれる。
【0040】以下、図7,図8に示される回路の動作に
ついて説明する。
ついて説明する。
【0041】先ず、イメージスキャナ101からの画像
データは、識別部102に供給される。識別部102に
おいては、図8に示すように、画像データは、比較器3
01により原稿部識別用閾値すなわち前述の反射光強度
閾値Sと比較され、閾値より低いとき1が出力される。
また、画像データは、濃度変換ROM(読み出し専用メ
モリ)302により D=F(log(R+1))+1 の濃度変換処理を受けたのち、データセレクタ303の
一方の入力として供給される。但し、Rはイメージセン
サ・アレイ101aの反射光強度出力、Dは濃度変換後
の濃度である。データセレクタ303の他方の入力とし
ては、非原稿部識別子0が供給される。データセレクタ
303は、セレクト端子に1が供給されたときに濃度変
換ROM302の出力を選択し、0が供給されたときに
非原稿部識別子0を選択する。非原稿部ではR≧Sであ
り、原稿部ではR<Sであるので、データセレクタ30
3では、非原稿部では0、原稿部では濃度Dが選択され
る。ここで、logは対数、F(・・・)は本実施例の
画像処理装置のシステムバリュー変換のための関数であ
る。
データは、識別部102に供給される。識別部102に
おいては、図8に示すように、画像データは、比較器3
01により原稿部識別用閾値すなわち前述の反射光強度
閾値Sと比較され、閾値より低いとき1が出力される。
また、画像データは、濃度変換ROM(読み出し専用メ
モリ)302により D=F(log(R+1))+1 の濃度変換処理を受けたのち、データセレクタ303の
一方の入力として供給される。但し、Rはイメージセン
サ・アレイ101aの反射光強度出力、Dは濃度変換後
の濃度である。データセレクタ303の他方の入力とし
ては、非原稿部識別子0が供給される。データセレクタ
303は、セレクト端子に1が供給されたときに濃度変
換ROM302の出力を選択し、0が供給されたときに
非原稿部識別子0を選択する。非原稿部ではR≧Sであ
り、原稿部ではR<Sであるので、データセレクタ30
3では、非原稿部では0、原稿部では濃度Dが選択され
る。ここで、logは対数、F(・・・)は本実施例の
画像処理装置のシステムバリュー変換のための関数であ
る。
【0042】データセレクタ303の出力である画像デ
ータIDは、図7に示すようにダイレクトメモリアクセ
スコントローラ(DMAC)204により直接画像メモ
リ106に書き込まれる。
ータIDは、図7に示すようにダイレクトメモリアクセ
スコントローラ(DMAC)204により直接画像メモ
リ106に書き込まれる。
【0043】また、識別部102には、画素クロック信
号で駆動されライン同期信号でクリアされる画素カウン
タ306、ライン同期信号で駆動されページ同期信号で
クリアされるラインカウンタ307が設けられている。
画素カウンタ306は主走査方向の中の画素の位置情報
を保持し、ラインカウンタ307は副走査方向のライン
の位置情報を保持する。
号で駆動されライン同期信号でクリアされる画素カウン
タ306、ライン同期信号で駆動されページ同期信号で
クリアされるラインカウンタ307が設けられている。
画素カウンタ306は主走査方向の中の画素の位置情報
を保持し、ラインカウンタ307は副走査方向のライン
の位置情報を保持する。
【0044】前記比較器301の出力は、それぞれイン
バータ310,311、遅延回路312,313、AN
D回路314,315からなる立ち上がり検出回路31
6,立ち下がり検出回路317にも供給される。立ち上
がり検出回路316の出力は開始点用レジスタ318の
セット端子に供給され、立ち下がり検出回路317の出
力は終了点用レジスタ319のセット端子に供給され
る。各レジスタ318,319のデータ端子には画素カ
ウンタ306の出力が供給されているので、レジスタ3
18,319には原稿部開始点主走査方向座標SXと原
稿部終了点主走査方向座標EXが一時的に格納される。
バータ310,311、遅延回路312,313、AN
D回路314,315からなる立ち上がり検出回路31
6,立ち下がり検出回路317にも供給される。立ち上
がり検出回路316の出力は開始点用レジスタ318の
セット端子に供給され、立ち下がり検出回路317の出
力は終了点用レジスタ319のセット端子に供給され
る。各レジスタ318,319のデータ端子には画素カ
ウンタ306の出力が供給されているので、レジスタ3
18,319には原稿部開始点主走査方向座標SXと原
稿部終了点主走査方向座標EXが一時的に格納される。
【0045】また、前記比較器301の出力はライン同
期信号とともにAND回路320を介してLCカウンタ
321に供給され、このLCカウンタ321はページ同
期信号によりクリアされる。したがって、ラインカウン
ト・パラメータLCの値は、原稿が存在する領域におい
て1ライン毎に増加する。
期信号とともにAND回路320を介してLCカウンタ
321に供給され、このLCカウンタ321はページ同
期信号によりクリアされる。したがって、ラインカウン
ト・パラメータLCの値は、原稿が存在する領域におい
て1ライン毎に増加する。
【0046】上述の原稿部開始点主走査方向座標SX、
原稿部終了点主走査方向座標EX及びラインカウント・
パラメータLCの値は、図7に示すようにCPU202
により読み取られ、図9に示すズレ検出プログラムによ
り主走査方向ズレSVが求められる。このプログラム
は、図1に示すズレ検出部104の処理をCPU202
を使用してソフトウェア的に実現するためのプログラム
であり、ここではC言語で記述されている。このプログ
ラムには、「procedure 104」という名前
が付けられており、主メモリ201内の領域に格納され
ている。
原稿部終了点主走査方向座標EX及びラインカウント・
パラメータLCの値は、図7に示すようにCPU202
により読み取られ、図9に示すズレ検出プログラムによ
り主走査方向ズレSVが求められる。このプログラム
は、図1に示すズレ検出部104の処理をCPU202
を使用してソフトウェア的に実現するためのプログラム
であり、ここではC言語で記述されている。このプログ
ラムには、「procedure 104」という名前
が付けられており、主メモリ201内の領域に格納され
ている。
【0047】図9に示す主走査方向ズレ検出プログラム
の処理の流れを図10に示す。
の処理の流れを図10に示す。
【0048】先ず、ラインカウント・パラメータLCの
値が1であるか否かが判別され (ステップ301)、L
C=1であるときは、原稿部開始点主走査方向座標SX
の値をレジスタ103aに記憶し、原稿部終了点主走査
方向座標EXの値をレジスタ103bに記憶する (ステ
ップ302)。LC=1でないときは、レジスタ103
aの値PSXとレジスタ103bの値PEXから(SX
−PSX)と(EX−PEX)の絶対値を計算する (ス
テップ303)。|SX−PSX|>|EX−PEX|
である場合には (ステップ304)SV=EX−PEX
とし (ステップ305)そうでない場合にはSV=SX
−PSXとする (ステップ306)。次に、CSX=S
X−SVとCEX=EX−SVを計算し、CSXをレジ
スタ103aに記憶し、CEXをレジスタ103bに記
憶する (ステップ307)。
値が1であるか否かが判別され (ステップ301)、L
C=1であるときは、原稿部開始点主走査方向座標SX
の値をレジスタ103aに記憶し、原稿部終了点主走査
方向座標EXの値をレジスタ103bに記憶する (ステ
ップ302)。LC=1でないときは、レジスタ103
aの値PSXとレジスタ103bの値PEXから(SX
−PSX)と(EX−PEX)の絶対値を計算する (ス
テップ303)。|SX−PSX|>|EX−PEX|
である場合には (ステップ304)SV=EX−PEX
とし (ステップ305)そうでない場合にはSV=SX
−PSXとする (ステップ306)。次に、CSX=S
X−SVとCEX=EX−SVを計算し、CSXをレジ
スタ103aに記憶し、CEXをレジスタ103bに記
憶する (ステップ307)。
【0049】次に、上述の主走査方向ズレ検出プログラ
ム「procedure 104」により求められた主
走査方向ズレSVの値に基づいて、図11に示す傾き角
検出プログラム「procedure 105」によ
り、先に説明した θ=tan-1(SV/(LC−2)) ・・・ (5) の演算を行い、傾き角θを求める。なお、図11に示す
プログラム中の変数sitaがθに対応している。
ム「procedure 104」により求められた主
走査方向ズレSVの値に基づいて、図11に示す傾き角
検出プログラム「procedure 105」によ
り、先に説明した θ=tan-1(SV/(LC−2)) ・・・ (5) の演算を行い、傾き角θを求める。なお、図11に示す
プログラム中の変数sitaがθに対応している。
【0050】次に、上述の傾き角検出プログラム「pr
ocedure 105」により求められた傾き角θの
値に基づいて、図12に示す傾き補正プログラム「pr
ocedure 109」により、先に説明した X’=X−int(Y×θ) ・・・(6) Y’=Y+int(X’×θ) ・・・(7) の演算を行い、水平方向移動後の水平方向座標X’と垂
直方向移動後の垂直方向座標Y’を求め、これらの座標
に基づいて画像メモリ106内の画像データを座標変換
しながら作業メモリ110に移動して、作業メモリ11
0に傾きを補正した画像を生成し、画像の傾き補正を終
了する。なお、図12に示すプログラム中の変数x,
y,xx,yyがそれぞれX,Y,X’,Y’に対応し
ている。
ocedure 105」により求められた傾き角θの
値に基づいて、図12に示す傾き補正プログラム「pr
ocedure 109」により、先に説明した X’=X−int(Y×θ) ・・・(6) Y’=Y+int(X’×θ) ・・・(7) の演算を行い、水平方向移動後の水平方向座標X’と垂
直方向移動後の垂直方向座標Y’を求め、これらの座標
に基づいて画像メモリ106内の画像データを座標変換
しながら作業メモリ110に移動して、作業メモリ11
0に傾きを補正した画像を生成し、画像の傾き補正を終
了する。なお、図12に示すプログラム中の変数x,
y,xx,yyがそれぞれX,Y,X’,Y’に対応し
ている。
【0051】なお、上記各プログラムはC言語で記述さ
れており、当業者にとってはプログラムから動作を理解
することは容易であるので、詳細な説明は省略する。
れており、当業者にとってはプログラムから動作を理解
することは容易であるので、詳細な説明は省略する。
【0052】図7,図8に示す実施例においては、傾き
補正部109をソフトウェア的に実現したが、ハードウ
ェア的に構成することもできる。
補正部109をソフトウェア的に実現したが、ハードウ
ェア的に構成することもできる。
【0053】図13は、傾き補正部109をハードウェ
ア的に構成した場合の画像処理装置全体のブロック図を
示し、図14は傾き補正部109の詳細構成を示してい
る。なお、図7に示すブロック図と対応する部材等に
は、同一符号を付している。
ア的に構成した場合の画像処理装置全体のブロック図を
示し、図14は傾き補正部109の詳細構成を示してい
る。なお、図7に示すブロック図と対応する部材等に
は、同一符号を付している。
【0054】図14において、画素クロックがカウンタ
401に供給され、走査中の画素の位置、すなわち、主
走査方向の座標Xが検出される。カウンタ401の出力
は比較器402において画像の幅と比較され、両者が一
致したときに比較器402の出力によりカウンタ401
がクリアされるとともに、カウンタ403の値が1だけ
インクリメントされる。したがって、カウンタ403
は、主走査毎にすなわち1ライン毎に1づつインクリメ
ントされ、副走査方向の座標Yが検出される。
401に供給され、走査中の画素の位置、すなわち、主
走査方向の座標Xが検出される。カウンタ401の出力
は比較器402において画像の幅と比較され、両者が一
致したときに比較器402の出力によりカウンタ401
がクリアされるとともに、カウンタ403の値が1だけ
インクリメントされる。したがって、カウンタ403
は、主走査毎にすなわち1ライン毎に1づつインクリメ
ントされ、副走査方向の座標Yが検出される。
【0055】カウンタ403の出力Yは、算術論理ユニ
ット404で画像メモリ上の画像の幅と乗算され、乗算
結果は更に算術論理ユニット405でカウンタ401の
出力Xと加算される。算術論理ユニット405の出力
は、更に算術論理ユニット406で画像メモリ106上
の位置を示すポインターである変数*memory1と
加算され、画像メモリ106の読み出し位置を指定する
ためのアドレスaddress1が得られる。
ット404で画像メモリ上の画像の幅と乗算され、乗算
結果は更に算術論理ユニット405でカウンタ401の
出力Xと加算される。算術論理ユニット405の出力
は、更に算術論理ユニット406で画像メモリ106上
の位置を示すポインターである変数*memory1と
加算され、画像メモリ106の読み出し位置を指定する
ためのアドレスaddress1が得られる。
【0056】一方、先に説明した傾き角検出プログラム
「procedure 105」により求められた傾き
角θは、実数であるので整数部分Iと小数点部分Fにわ
けられ(θ=I+F)、その整数部分Iは算術論理ユニ
ット407および408のそれぞれ一方の人力端子に供
給される。また傾き角θの小数点部分FはROM412
及び409のそれぞれのアドレス入力端子の一部に供給
される。算術論理ユニット408の他方の入力端子には
カウンタ403の出力Yが供給され、傾き角θの整数部
分Iとの乗算Y×Iが行われ、その出力は算術論理ユニ
ット410の一方の入力端子に供給される。R0M40
9のアドレス入力端子にはカウンタ403の出力Yと傾
き角θの小数点部分Fが供給されており、このROMに
は予め計算しておいた傾き角θの小数点部分FとYとの
乗算整数化演算データつまりint(Y×F)が書き込
まれており、ROM409からは、YとFの入力に応じ
て乗算結果int(Y×F)がデータ出力端子より出力
され、算術論理ユニット410の他方の入力端子に供給
される。算術論理ユニット410では、加算演算(Y×
I+int(Y×F))つまりint(Y×θ)の演算
を行い、算術論理ユニット411の一方の端子に供給さ
れる。算術論理ユニット411の他方の入力端子にはカ
ウンタ401の出力Xが供給されており、算術諭理ユニ
ット411では、X−int(Y×θ)の演算が行わ
れ、この演算結果がX’とされる。すなわち、算術論理
ユニット408,410,411とR0M409で X’=X−int(Y×θ)・・・(6) の演算が行われる。
「procedure 105」により求められた傾き
角θは、実数であるので整数部分Iと小数点部分Fにわ
けられ(θ=I+F)、その整数部分Iは算術論理ユニ
ット407および408のそれぞれ一方の人力端子に供
給される。また傾き角θの小数点部分FはROM412
及び409のそれぞれのアドレス入力端子の一部に供給
される。算術論理ユニット408の他方の入力端子には
カウンタ403の出力Yが供給され、傾き角θの整数部
分Iとの乗算Y×Iが行われ、その出力は算術論理ユニ
ット410の一方の入力端子に供給される。R0M40
9のアドレス入力端子にはカウンタ403の出力Yと傾
き角θの小数点部分Fが供給されており、このROMに
は予め計算しておいた傾き角θの小数点部分FとYとの
乗算整数化演算データつまりint(Y×F)が書き込
まれており、ROM409からは、YとFの入力に応じ
て乗算結果int(Y×F)がデータ出力端子より出力
され、算術論理ユニット410の他方の入力端子に供給
される。算術論理ユニット410では、加算演算(Y×
I+int(Y×F))つまりint(Y×θ)の演算
を行い、算術論理ユニット411の一方の端子に供給さ
れる。算術論理ユニット411の他方の入力端子にはカ
ウンタ401の出力Xが供給されており、算術諭理ユニ
ット411では、X−int(Y×θ)の演算が行わ
れ、この演算結果がX’とされる。すなわち、算術論理
ユニット408,410,411とR0M409で X’=X−int(Y×θ)・・・(6) の演算が行われる。
【0057】算術論理ユニット411の出力X’は、算
術論理ユニット407の他方の入力端子に供給され、算
術論理ユニット407では、X’×Iの演算が行われ、
演算結果は算術論理ユニット413の一方の入力端子に
供給される。ROM412のアドレス入力端子には算術
論理ユニット411の出力X’と傾き角θの小数点部分
Fが供給されており、このROMに子め計算して書き込
まれた傾き角θの小数点部分FとX′との乗算整数化演
算データつまりint(X’×F)がデータ出力端子よ
り出力され、算術論理ユニット413の他方の入力端子
に供給される。算術論理ユニット413では、加算演算
(X’×I+int(X’×F))つまりint(X’
×θ)の演算を行い、算術論理ユニット414の一方の
端子に供給される。算術論理ユニット414の他方の入
力端子にはカウンタ403の出力Yが供給されており、
算術論理ユニット414では、Y+int(X’×θ)
の演算が行われ、この演算結果がY’とされる。すなわ
ち、算術論理ユニット407,413,414とR0M
412で、 Y’=Y+int(X’×θ)・・・(7) の演算が行われる。
術論理ユニット407の他方の入力端子に供給され、算
術論理ユニット407では、X’×Iの演算が行われ、
演算結果は算術論理ユニット413の一方の入力端子に
供給される。ROM412のアドレス入力端子には算術
論理ユニット411の出力X’と傾き角θの小数点部分
Fが供給されており、このROMに子め計算して書き込
まれた傾き角θの小数点部分FとX′との乗算整数化演
算データつまりint(X’×F)がデータ出力端子よ
り出力され、算術論理ユニット413の他方の入力端子
に供給される。算術論理ユニット413では、加算演算
(X’×I+int(X’×F))つまりint(X’
×θ)の演算を行い、算術論理ユニット414の一方の
端子に供給される。算術論理ユニット414の他方の入
力端子にはカウンタ403の出力Yが供給されており、
算術論理ユニット414では、Y+int(X’×θ)
の演算が行われ、この演算結果がY’とされる。すなわ
ち、算術論理ユニット407,413,414とR0M
412で、 Y’=Y+int(X’×θ)・・・(7) の演算が行われる。
【0058】算術論理ユニッ414の出力Y’は算術論
理ユニット415で画像メモリ106上の画像の輻と乗
算される。この乗算結果は、算術論理ユニット416に
おいて算術論理ユニット411の出力X’と加算され、
更に、この加算結果は算術論理ユニット417において
作業メモリ110上の位置を示すポインタである変数*
memory2と加算され、作業メモリ110の書き込
み位置を指定するためのアドレスaddress2が得
られる。
理ユニット415で画像メモリ106上の画像の輻と乗
算される。この乗算結果は、算術論理ユニット416に
おいて算術論理ユニット411の出力X’と加算され、
更に、この加算結果は算術論理ユニット417において
作業メモリ110上の位置を示すポインタである変数*
memory2と加算され、作業メモリ110の書き込
み位置を指定するためのアドレスaddress2が得
られる。
【0059】上述のようにして求められた画像メモリ1
06に対する読み出しアドレスaddress1と、作
業メモリ110に対する書き込みアドレスaddres
s2を使用し、図13に模式的に示すように画像メモリ
106内の画像データを作業メモリ110に転送するこ
とにより、画像メモリ106には傾きが補正された画像
が得られることになる。
06に対する読み出しアドレスaddress1と、作
業メモリ110に対する書き込みアドレスaddres
s2を使用し、図13に模式的に示すように画像メモリ
106内の画像データを作業メモリ110に転送するこ
とにより、画像メモリ106には傾きが補正された画像
が得られることになる。
【0060】
【発明の効果】以上説明したように、本発明において
は、複数の走査線における原稿部画像が存在する範囲を
比較して画像の傾きを検出しているので、簡単にかつ迅
速に画像の傾き角を検出することができる。また、この
検出された傾き角に基づいて近似座標変換を行うことに
より高速に画像の傾きを補正することができる。
は、複数の走査線における原稿部画像が存在する範囲を
比較して画像の傾きを検出しているので、簡単にかつ迅
速に画像の傾き角を検出することができる。また、この
検出された傾き角に基づいて近似座標変換を行うことに
より高速に画像の傾きを補正することができる。
【図1】 本発明の画像処理装置の実施例を示すブロッ
ク図である。
ク図である。
【図2】 図1に示す画像処理装置の動作を示すフロー
チャートである。
チャートである。
【図3】 図1に示す画像処理装置において使用される
イメージスキャナの正面図及び側面図である。
イメージスキャナの正面図及び側面図である。
【図4】 原稿が傾いてセットされた場合のイメージス
キャナの出力画像を示す説明図である。
キャナの出力画像を示す説明図である。
【図5】 図4のようにイメージスキャナが画像を出力
した場合のズレ検出部の動作を説明する図である。
した場合のズレ検出部の動作を説明する図である。
【図6】 本実施例の画像処理装置の画像の傾き補正の
動作を示すフローチャートである。
動作を示すフローチャートである。
【図7】 ズレ検出部、傾き角検出部及び傾き補正部を
それぞれソフトウェア的に実現した本発明の画像処理装
置の他の実施例を示すブロック図である。
それぞれソフトウェア的に実現した本発明の画像処理装
置の他の実施例を示すブロック図である。
【図8】 図7に示す画像処理装置の範囲検出部及び識
別部の詳細を示すブロック図である。
別部の詳細を示すブロック図である。
【図9】 ズレ検出部をソフトウェア的に実現したプロ
グラムを示すリストである。
グラムを示すリストである。
【図10】 図9に示すプログラムの動作を説明するた
めのフローチャートである。
めのフローチャートである。
【図11】 傾き角検出部をソフトウェア的に実現した
プログラムを示すリストである。
プログラムを示すリストである。
【図12】 傾き補正部をソフトウェア的に実現したプ
ログラムを示すリストである。
ログラムを示すリストである。
【図13】 傾き補正部をハードウェアで構成した本発
明の画像処理装置の更に他の実施例を示すブロック図で
ある。
明の画像処理装置の更に他の実施例を示すブロック図で
ある。
【図14】 図13に示す画像処理装置の傾き補正部の
詳細を示すブロック図である。
詳細を示すブロック図である。
101…イメージスキャナ、101a…イメージセンサ
・アレイ、101b…光源、101c…プラテンカバ
ー、101d…プラテン、101e…原稿、102…識
別部、103…範囲検出部、103a,103b…レジ
スタ、104…ズレ検出部、105…傾き角検出部、1
06…画像メモリ、107…水平移動制御部、108…
垂直移動制御部、109…傾き補正部、110…作業メ
モリ、201…主メモリ、202…CPU、203…制
御プログラム、204…DMAC、301…比較器、3
02…濃度変換ROM、303…データセレクタ、30
6…画素カウンタ、307…ラインカウンタ、310,
311…インバータ、312,313…遅延回路、31
4,315,320…AND回路、316…立ち上がり
検出回路、317…立ち下がり検出回路、318,31
9…レジスタ、321…ラインカウンタ、401,40
3…カウンタ、402…比較器、404〜408,41
0,411,413,415,416,417…算術論
理ユニット、409,412…ROM
・アレイ、101b…光源、101c…プラテンカバ
ー、101d…プラテン、101e…原稿、102…識
別部、103…範囲検出部、103a,103b…レジ
スタ、104…ズレ検出部、105…傾き角検出部、1
06…画像メモリ、107…水平移動制御部、108…
垂直移動制御部、109…傾き補正部、110…作業メ
モリ、201…主メモリ、202…CPU、203…制
御プログラム、204…DMAC、301…比較器、3
02…濃度変換ROM、303…データセレクタ、30
6…画素カウンタ、307…ラインカウンタ、310,
311…インバータ、312,313…遅延回路、31
4,315,320…AND回路、316…立ち上がり
検出回路、317…立ち下がり検出回路、318,31
9…レジスタ、321…ラインカウンタ、401,40
3…カウンタ、402…比較器、404〜408,41
0,411,413,415,416,417…算術論
理ユニット、409,412…ROM
Claims (4)
- 【請求項1】 原稿を読み取って得た画像データの走査
ラインごとに原稿部分を識別する識別手段と、 この識別手段により識別した識別結果に基づき、走査ラ
イン間における、前記原稿の位置の走査方向のズレと走
査ライン間の距離とを検出するズレ検出手段と、 このズレ検出手段により検出された検出結果に基づき、
基準線に対する原稿画像の傾き角を算出する傾き角演算
手段と、 を有する画像処理装置。 - 【請求項2】 請求項1記載の画像処理装置において、 原稿は、第1の端線と、この第1の端線と隣り合う平行
な第2の端線と第3の端線を有する矩形状であって、 前記傾き角演算手段は平行部検出手段を含み、 この平行部検出手段は、前記ズレ検出手段により検出さ
れた走査ライン間の原稿位置の差を比較することによ
り、前記識別手段により識別された原稿端が第2の端線
と第3の端線であることを検出し、 前記傾き角演算手段は、前記平行部検出手段により平行
部が検出されるまでの、前記ズレ検出手段による検出結
果に基づき、基準線に対する傾き角を演算してなる画像
処理装置。 - 【請求項3】 請求項1記載の画像処理装置において、
更に、 前記傾き角演算手段によって算出された傾き角度に基づ
き補正量を算出する補正量演算手段と、 前記補正量演算手段の演算結果に基づいて原稿画像の各
画素の位置を補正する補正手段とを有する画像処理装
置。 - 【請求項4】 請求項3記載の画像処理装置において、 前記傾き角演算手段により算出された傾き角θに対し、
前記補正量演算手段は、直交座標系であるxy座標にお
いて原座標X,Yにある画素について、下記式(1)及
び式(2)に基づき補正量を算出し、前記補正手段は原
座標X,Yにある画素を補正座標X’,Y’に移動して
なる画像処理装置。 X’=X−Y×θ ・・・(1) Y’=Y+X×θ ・・・(2)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4071325A JPH05274475A (ja) | 1992-03-27 | 1992-03-27 | 画像処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4071325A JPH05274475A (ja) | 1992-03-27 | 1992-03-27 | 画像処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05274475A true JPH05274475A (ja) | 1993-10-22 |
Family
ID=13457295
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4071325A Pending JPH05274475A (ja) | 1992-03-27 | 1992-03-27 | 画像処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05274475A (ja) |
-
1992
- 1992-03-27 JP JP4071325A patent/JPH05274475A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH05252379A (ja) | 画像処理装置 | |
| US5497236A (en) | Method and apparatus for distortion correction of scanned images | |
| US5181260A (en) | Method for determining the amount of skew of image, method for correcting the same, and image data processing system | |
| JP2986383B2 (ja) | ライン走査画像のためのスキューを補正する方法及びその装置 | |
| WO2000000930A1 (fr) | Dispositif de correction d'images | |
| JPH096914A (ja) | 画像処理方法及び装置 | |
| US5608544A (en) | Framed-area defining rectangle forming device | |
| US5282064A (en) | Apparatus for simultaneous reading of reflective and light conductive portions of an original | |
| EP0719034A1 (en) | Improved character smoothing in scanners/printers | |
| JPH05274475A (ja) | 画像処理装置 | |
| US5084773A (en) | Image reading processing apparatus | |
| US20210368054A1 (en) | Image reading apparatus capable of determining whether missing part of document image occurs based on edge shape of at least one of leading and trailing edges of document image | |
| JP3384588B2 (ja) | 画像データ処理装置 | |
| JP3038714B2 (ja) | 文書傾き補正装置 | |
| JP7510602B2 (ja) | 画像読取装置 | |
| JP7510603B2 (ja) | 画像読取装置 | |
| JP7474411B2 (ja) | 画像読取装置 | |
| JP7474410B2 (ja) | 画像読取装置 | |
| JPH10229486A (ja) | 画像読取装置 | |
| JP2021184518A (ja) | 画像読取装置 | |
| JP2006186414A (ja) | 画像読取装置及び方法、画像読取システム、プログラム、並びに記憶媒体 | |
| JPH0522572A (ja) | デジタル画像処理装置 | |
| JPS63292381A (ja) | 文字行検出装置 | |
| JPH0528256A (ja) | 画像読取処理装置 | |
| JP2863671B2 (ja) | 印字フォーマット作成装置 |