JP4978437B2 - Image processing apparatus and image processing program - Google Patents

Image processing apparatus and image processing program Download PDF

Info

Publication number
JP4978437B2
JP4978437B2 JP2007299264A JP2007299264A JP4978437B2 JP 4978437 B2 JP4978437 B2 JP 4978437B2 JP 2007299264 A JP2007299264 A JP 2007299264A JP 2007299264 A JP2007299264 A JP 2007299264A JP 4978437 B2 JP4978437 B2 JP 4978437B2
Authority
JP
Japan
Prior art keywords
boundary
image
inclination
inclination angle
calculating
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.)
Expired - Fee Related
Application number
JP2007299264A
Other languages
Japanese (ja)
Other versions
JP2009123155A (en
Inventor
英昭 足利
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2007299264A priority Critical patent/JP4978437B2/en
Publication of JP2009123155A publication Critical patent/JP2009123155A/en
Application granted granted Critical
Publication of JP4978437B2 publication Critical patent/JP4978437B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Input (AREA)
  • Image Analysis (AREA)

Description

本発明は、画像処理装置及び画像処理プログラムに関する。   The present invention relates to an image processing apparatus and an image processing program.

紙文書をスキャンして得た文書画像の傾き角度を検知する技術として、ハフ変換を用いる方法が一般に広く使われている。この手法は、対象画像をハフ変換して画像内の直線を複数検出し、その直線を水平・垂直に近い角度を持つ長い直線に絞り込む。そして、絞り込まれた直線の水平・垂直からのずれを傾き角度として検知するものである。
しかし、この方法には処理コストが大きいという欠点がある。
そこで、ハフ変換を用いずに、簡便・確実でしかも高速に傾き角度を検知することを目的とした技術が実用化に向けて開発されている。
As a technique for detecting the inclination angle of a document image obtained by scanning a paper document, a method using Hough transform is widely used. In this method, the target image is subjected to Hough transform to detect a plurality of straight lines in the image, and the straight lines are narrowed down to long straight lines having angles close to horizontal and vertical. Then, the deviation of the narrowed straight line from the horizontal / vertical direction is detected as an inclination angle.
However, this method has the disadvantage of high processing costs.
Therefore, a technique aimed at practically and reliably detecting the tilt angle at high speed without using the Hough transform has been developed for practical use.

これに関連する技術として、例えば、特許文献1には、文書の画像を利用して、文書の上に書かれたキーワードを操作者が指やペンで指示するだけで計算機に入力される文字列入力方法及び装置の提供を目的とし、文字列入力装置は、画像中の文書領域のエッジを検出する手段と、エッジから文書領域を表わす長方形を特定する手段と、長方形の平面における傾きから細長い物体を動かす方向を算出する手段と、その物体の移動を検出する手段と、物体の移動情報を用いて、物体が表わす指定点の座標の時系列データを求める手段と、求められた指定点の座標の時系列データの中から、操作者の指定動作に該当する部分を認識し、動作で指定される領域を算出する手段と、指定領域の近くに存在する文字列パターンを抽出する手段と、文字列パターンを文字認識により文字コードに変換する手段とからなることが開示されている。   As a technique related to this, for example, Patent Document 1 discloses a character string that is input to a computer by using an image of a document and an operator simply pointing a keyword written on the document with a finger or a pen. To provide an input method and apparatus, a character string input device includes a means for detecting an edge of a document area in an image, a means for specifying a rectangle representing the document area from the edge, and an elongated object from an inclination in a rectangular plane. Means for calculating the direction of moving the object, means for detecting the movement of the object, means for obtaining time-series data of the coordinates of the designated point represented by the object using the movement information of the object, and the coordinates of the obtained designated point A means for recognizing a part corresponding to an operator's designated action from the time-series data, a means for calculating an area designated by the action, a means for extracting a character string pattern existing near the designated area, and a character Column It consists of a means for converting the character code has been disclosed by the character recognition turn.

また、例えば、特許文献2には、少ない処理量で高速に、画像の傾き角度を検出し、文字のない画像の傾きも検出可能にすることを目的とし、黒/白画素境界判定部によって、2値イメージメモリに入力された2値画像上の黒画素と白画素の境界の点を複数個抽出し、この点列のX座標とY座標を2変数とする回帰直線の回帰係数を回帰係数算出部で計算し、画像傾き検出部で、回帰係数の値より画像の傾き角度を計算することが開示されている。   In addition, for example, Patent Document 2 aims to detect an inclination angle of an image at a high speed with a small amount of processing, and to detect an inclination of an image without a character. Extract a plurality of points at the boundary between black and white pixels in the binary image input to the binary image memory, and use the regression coefficients of the regression line with the X and Y coordinates of this point sequence as two variables. It is disclosed that the calculation unit calculates and the image inclination detection unit calculates the image inclination angle from the value of the regression coefficient.

また、例えば、特許文献3には、画像処理装置等の書類の辺縁検出において、書類に比較的大きな破損、折れ、汚れなどがあったり、大きく傾いて読み取られたりしても、安定して高精度かつ高速に辺縁検出を行うことを目的とし、書類の多値画像を2値画像に変換する画像2値化部と、変換された画像データの辺縁上の複数点の座標を検出する辺縁座標メモリと、該複数の辺縁上の点の隣合う2点を結んだ方向ベクトルを作成し、本来の辺縁上にある点を結んだ方向ベクトルの傾きは平行あるいは直角になることを利用して不適当な点の候補を除去し、残った点のみを用いて書類の辺縁直線の方程式を求めるCPUとを備えたことが開示されている。   Further, for example, in Patent Document 3, in the detection of the edge of a document such as an image processing apparatus, even if the document has relatively large breakage, breakage, dirt, etc., or is read with a large inclination, the document is stable. Image binarization unit that converts a multi-valued image of a document into a binary image and detects the coordinates of multiple points on the edge of the converted image data for the purpose of performing edge detection with high accuracy and high speed Create a direction vector that connects two adjacent points of the edge coordinate memory and the points on the plurality of edges, and the inclination of the direction vector connecting the points on the original edge is parallel or perpendicular And a CPU for obtaining an equation of a marginal straight line of a document using only the remaining points.

つまり、紙を載せずにスキャンすると画像が黒くなるスキャナを用いて、紙文書より大きな領域をスキャンし、背景(黒)と紙(白)の境界を検出して紙の傾きを算出する技術である。その際、特許文献3では、所定間隔離れた複数の垂直線・水平線に沿って前記境界の検出を繰り返し、画像データが黒(背景)から白(紙)に変わる点を複数求める。次に隣合う変化点同士を結ぶベクトルを定義し、これらのベクトル群からより多くのものが互いに平行になるベクトル群を抽出し、これらの水平・垂直からのずれを傾き角度として算出するものである。
特許文献3記載の技術を実施するには、スキャナは次のような仕様を備えていなければならない。
(1)スキャナの画像幅が紙幅より広いこと
(2)紙を載せずにスキャンすると画像が黒くなること
特開平11−065753号公報 特開平07−192086号公報 特開平06−162190号公報
In other words, it is a technology that uses a scanner that scans without paper and the image becomes black, scans a larger area than a paper document, detects the boundary between the background (black) and paper (white), and calculates the tilt of the paper. is there. At that time, in Patent Document 3, the detection of the boundary is repeated along a plurality of vertical lines and horizontal lines separated by a predetermined interval, and a plurality of points where the image data changes from black (background) to white (paper) are obtained. Next, a vector connecting adjacent change points is defined, a vector group in which more than these vector groups are parallel to each other is extracted, and the deviation from the horizontal and vertical directions is calculated as an inclination angle. is there.
In order to implement the technique described in Patent Document 3, the scanner must have the following specifications.
(1) The image width of the scanner is wider than the paper width. (2) The image turns black when scanned without paper.
Japanese Patent Application Laid-Open No. 11-065753 Japanese Patent Laid-Open No. 07-92086 Japanese Patent Laid-Open No. 06-162190

本発明は、スキャナの画像幅が紙幅より常に広くなっていることを要せず、又は紙を載せずにスキャンすると画像が必ず黒くなることも必要としないスキャナを用いて、画像の傾き角度を検知するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。   The present invention uses a scanner that does not require that the image width of the scanner is always wider than the paper width, or that the image does not necessarily become black when scanned without loading paper, and the inclination angle of the image is adjusted. An object of the present invention is to provide an image processing apparatus and an image processing program that are to be detected.

かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1記載の発明は、画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段を具備し、前記境界検出手段は、走査して得た複数の黒画素を直線の近傍に位置するものからなるセグメントに分割して境界を検出し、前記境界傾き算出手段は、前記境界検出手段によって分割されたセグメント毎に傾き角度を算出し、前記画像傾き算出手段は、前記境界傾き算出手段が傾き角度の算出に用いたセグメント毎に含まれる黒画素数に基づいて、各セグメントの傾き角度に重み付けを行い、前記画像全体の傾き角度を算出することを特徴とする画像処理装置である。
請求項2記載の発明は、画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段を具備し、前記境界検出手段は、境界近傍に位置する黒画素塊のサイズを検出し、該サイズに応じて、前記境界検出手段が用いる複数画素の領域の長さを決定することを特徴とする画像処理装置である。
The gist of the present invention for achieving the object lies in the inventions of the following items.
The invention according to claim 1 is in the peripheral portion of the image based on the position of the black pixel detected by scanning toward the opposite side portion using a plurality of pixel regions from the side portion of the image. Boundary detection means for detecting a boundary between a margin area and a black pixel area of the image, boundary inclination calculation means for calculating an inclination angle of the boundary detected by the boundary detection means from horizontal or vertical, and the boundary inclination calculation An image inclination calculating means for calculating an inclination angle of the entire image based on the inclination angle of the boundary calculated by the means, and the boundary detecting means brings a plurality of black pixels obtained by scanning in the vicinity of a straight line. The boundary is calculated by dividing the segment into segments that are positioned, the boundary inclination calculation unit calculates an inclination angle for each segment divided by the boundary detection unit, and the image inclination calculation unit includes the boundary It can calculating means based on the number of black pixels included in each segment used in the calculation of the inclination angle, performs weighting to the inclination angle of each segment, the image processing apparatus and calculates the inclination angle of the entire image It is.
The invention according to claim 2 is in the peripheral portion of the image based on the position of the black pixel detected by scanning toward the opposite side portion using a plurality of pixel regions from the side portion of the image. Boundary detection means for detecting a boundary between a margin area and a black pixel area of the image, boundary inclination calculation means for calculating an inclination angle of the boundary detected by the boundary detection means from horizontal or vertical, and the boundary inclination calculation An image inclination calculating means for calculating an inclination angle of the whole image based on the inclination angle of the boundary calculated by the means, wherein the boundary detecting means detects a size of a black pixel block located in the vicinity of the boundary; In accordance with the size, the length of a plurality of pixel regions used by the boundary detection unit is determined.

請求項記載の発明は、前記境界検出手段は、複数の境界を検出し、前記境界傾き算出手段は、前記境界検出手段によって検出された複数の境界の傾き角度を各々算出し、前記画像傾き算出手段は、複数の境界の傾き角度に基づいて、前記画像全体の傾き角度を算出することを特徴とする請求項1又は2に記載の画像処理装置である。 According to a third aspect of the present invention, the boundary detecting unit detects a plurality of boundaries, the boundary inclination calculating unit calculates inclination angles of the plurality of boundaries detected by the boundary detecting unit, and the image inclination calculating means, based on the inclination angles of a plurality of boundary is an image processing apparatus according to claim 1 or 2, characterized in that to calculate the tilt angle of the entire image.

請求項記載の発明は、前記境界検出手段は、走査して得た複数の黒画素を直線の近傍に位置するものからなるセグメントに分割して境界を検出し、前記境界傾き算出手段は、前記境界検出手段によって分割されたセグメント毎に傾き角度を算出することを特徴とする請求項に記載の画像処理装置である。 In the invention according to claim 4 , the boundary detecting means detects a boundary by dividing a plurality of black pixels obtained by scanning into segments made in the vicinity of a straight line, and the boundary inclination calculating means comprises: The image processing apparatus according to claim 2 , wherein an inclination angle is calculated for each segment divided by the boundary detection unit.

請求項記載の発明は、コンピュータを、画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段として機能させ、前記境界検出手段は、走査して得た複数の黒画素を直線の近傍に位置するものからなるセグメントに分割して境界を検出し、前記境界傾き算出手段は、前記境界検出手段によって分割されたセグメント毎に傾き角度を算出し、前記画像傾き算出手段は、前記境界傾き算出手段が傾き角度の算出に用いたセグメント毎に含まれる黒画素数に基づいて、各セグメントの傾き角度に重み付けを行い、前記画像全体の傾き角度を算出することを特徴とする画像処理プログラムである。
請求項6記載の発明は、コンピュータを、画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段として機能させ、前記境界検出手段は、境界近傍に位置する黒画素塊のサイズを検出し、該サイズに応じて、前記境界検出手段が用いる複数画素の領域の長さを決定することを特徴とする画像処理プログラムである。
According to a fifth aspect of the invention, based on the position of the black pixel detected by scanning the computer from the side of the image toward the opposite side using a plurality of pixel regions, the periphery of the image Boundary detection means for detecting a boundary between a blank area in the image and a black pixel area of the image, boundary inclination calculation means for calculating an inclination angle of the boundary detected by the boundary detection means from horizontal or vertical, and Based on the boundary inclination angle calculated by the boundary inclination calculation means , the boundary detection means functions as an image inclination calculation means for calculating an inclination angle of the entire image , and the boundary detection means linearly converts a plurality of black pixels obtained by scanning. The boundary inclination calculating means calculates an inclination angle for each segment divided by the boundary detection means, and detects the boundary. Calculating means, on the basis of the number of black pixels included in each segment used to calculate the boundary inclination calculation means tilt angle, performs weighting to the inclination angle of each segment, calculating a tilt angle of the entire image This is a featured image processing program.
According to a sixth aspect of the present invention, based on the position of the black pixel detected by scanning the computer from the side of the image toward the opposite side using a plurality of pixel regions, the periphery of the image Boundary detection means for detecting a boundary between a blank area in the image and a black pixel area of the image, boundary inclination calculation means for calculating an inclination angle of the boundary detected by the boundary detection means from horizontal or vertical, and Based on the boundary inclination angle calculated by the boundary inclination calculation means, the boundary detection means functions as an image inclination calculation means for calculating the inclination angle of the entire image, and the boundary detection means determines the size of the black pixel block located in the vicinity of the boundary. An image processing program that detects and determines the length of a region of a plurality of pixels used by the boundary detection means in accordance with the size.

請求項1の画像処理装置によれば、スキャナの画像幅が紙幅より常に広くなっていることを要せず、又は紙を載せずにスキャンすると画像が必ず黒くなることも必要としないスキャナを用いた場合であって、画像の傾き角度を検知することができる。走査して得られる文字等の黒画素の位置が必ずしも直線上にはないために発生する検出した境界の凹凸を抑制して、より正確な画像の傾き角度を検知することができる。長いセグメントから算出した傾き角度と短いセグメントから算出した傾き角度では精度が異なり、この異なる精度に配慮して、より正確な画像の傾き角度を検知することができる。
請求項2の画像処理装置によれば、スキャナの画像幅が紙幅より常に広くなっていることを要せず、又は紙を載せずにスキャンすると画像が必ず黒くなることも必要としないスキャナを用いた場合であって、画像の傾き角度を検知することができる。黒画素領域のサイズに影響を受けることなく、より精度を向上させることができる。
According to the image processing apparatus of the first aspect, a scanner that does not require that the image width of the scanner is always wider than the paper width or that the image does not necessarily become black when scanned without paper is used. The tilt angle of the image can be detected. It is possible to detect a more accurate inclination angle of the image by suppressing the unevenness of the detected boundary that occurs because the position of a black pixel such as a character obtained by scanning is not necessarily on a straight line. The accuracy differs between the tilt angle calculated from the long segment and the tilt angle calculated from the short segment, and the more accurate tilt angle of the image can be detected in consideration of this different accuracy.
According to the image processing apparatus of the second aspect of the invention, it is necessary to use a scanner that does not require that the image width of the scanner is always wider than the paper width, or that the image does not necessarily become black when scanned without placing paper. The tilt angle of the image can be detected. The accuracy can be further improved without being affected by the size of the black pixel region.

請求項の画像処理装置によれば、より正確な画像の傾き角度を検知することができる。 According to the image processing apparatus of the third aspect , it is possible to detect a more accurate inclination angle of the image.

請求項の画像処理装置によれば、走査して得られる文字等の黒画素の位置が必ずしも直線上にはないために発生する検出した境界の凹凸を抑制して、より正確な画像の傾き角度を検知することができる。 According to the image processing apparatus of claim 4 , the unevenness of the detected boundary that occurs because the position of a black pixel such as a character obtained by scanning is not necessarily on a straight line, and the inclination of the image is more accurate. The angle can be detected.

境界検出手段が用いる複数画素の領域は、境界に文字等がある場合に対応するためのものである。複数画素の領域の長さが狭いと文字等の黒画素領域の凸凹に影響を受けやすくなり、広いとセグメント内の黒画素数が少なくなる。さらに、対象となる文書等の画像には様々な大きさの文字等が混在している The multiple pixel region used by the boundary detection means is for dealing with a case where there is a character or the like at the boundary. If the length of the plurality of pixel areas is narrow, it is easily affected by the unevenness of the black pixel area such as characters, and if it is wide, the number of black pixels in the segment decreases. Furthermore, characters and the like of various sizes are mixed in the image of the target document .

請求項の画像処理プログラムによれば、スキャナの画像幅が紙幅より常に広くなっていることを要せず、又は紙を載せずにスキャンすると画像が必ず黒くなることも必要としないスキャナを用いた場合であって、画像の傾き角度を検知することができる。走査して得られる文字等の黒画素の位置が必ずしも直線上にはないために発生する検出した境界の凹凸を抑制して、より正確な画像の傾き角度を検知することができる。長いセグメントから算出した傾き角度と短いセグメントから算出した傾き角度では精度が異なり、この異なる精度に配慮して、より正確な画像の傾き角度を検知することができる。
請求項6の画像処理プログラムによれば、スキャナの画像幅が紙幅より常に広くなっていることを要せず、又は紙を載せずにスキャンすると画像が必ず黒くなることも必要としないスキャナを用いた場合であって、画像の傾き角度を検知することができる。黒画素領域のサイズに影響を受けることなく、より精度を向上させることができる。
According to the image processing program of claim 5 , a scanner that does not require that the image width of the scanner is always wider than the paper width or that the image does not necessarily become black when scanned without placing paper is used. In this case, the tilt angle of the image can be detected. It is possible to detect a more accurate inclination angle of the image by suppressing the unevenness of the detected boundary that occurs because the position of a black pixel such as a character obtained by scanning is not necessarily on a straight line. The accuracy differs between the tilt angle calculated from the long segment and the tilt angle calculated from the short segment, and the more accurate tilt angle of the image can be detected in consideration of this different accuracy.
According to the image processing program of the sixth aspect, a scanner that does not require that the image width of the scanner is always wider than the paper width or that the image does not necessarily become black when scanned without paper is used. The tilt angle of the image can be detected. The accuracy can be further improved without being affected by the size of the black pixel region.

以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。
Hereinafter, an example of a preferred embodiment for realizing the present invention will be described with reference to the drawings.
FIG. 1 shows a conceptual module configuration diagram of a configuration example of the present embodiment.
The module generally refers to components such as software (computer program) and hardware that can be logically separated. Therefore, the module in the present embodiment indicates not only a module in a computer program but also a module in a hardware configuration. Therefore, the present embodiment also serves as an explanation of a computer program, a system, and a method. However, for the sake of explanation, the words “store”, “store”, and equivalents thereof are used. However, when the embodiment is a computer program, these words are stored in a storage device or stored in memory. It is the control to be stored in the device. In addition, the modules correspond almost one-to-one with the functions. However, in mounting, one module may be composed of one program, or a plurality of modules may be composed of one program. A plurality of programs may be used. The plurality of modules may be executed by one computer, or one module may be executed by a plurality of computers in a distributed or parallel environment. Note that one module may include other modules. In the following, “connection” includes not only physical connection but also logical connection (data exchange, instruction, reference relationship between data, etc.).
In addition, the system or device is configured by connecting a plurality of computers, hardware, devices, and the like by communication means such as a network (including one-to-one correspondence communication connection), etc., and one computer, hardware, device. The case where it implement | achieves by etc. is also included. “Apparatus” and “system” are used as synonymous terms.

なお、画像内の位置を表すのに、原点(0,0)を左下隅としたxy座標で表す場合がある。つまり、画像の下辺はy=0の線分、上辺はy=maxy(画像の高さ)の線分、左辺はx=0の線分、右辺はx=maxx(画像の横幅)の線分で表す。
また、黒画素塊とは、4連結又は8連結で連続する黒画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、4連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての1行から1文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は一定間隔で切り出した画像領域等がある。
なお、1つの黒画素塊で1文字の画像となる場合が多い。ただし、実際に人間が文字として認識できる画素領域である必要はない。文字の一部分、文字を形成しない画素領域等もあり、何らかの黒画素の塊であればよい。以下、文字という場合は、この黒画素塊を指す。
Note that the position in the image may be represented by xy coordinates with the origin (0, 0) as the lower left corner. That is, the lower side of the image is a line segment of y = 0, the upper side is a line segment of y = maxy (image height), the left side is a line segment of x = 0, and the right side is a line segment of x = maxx (horizontal width of the image). Represented by
The black pixel block includes at least a black pixel region that is continuous in four or eight connections, and includes a set of these pixel regions. The set of these pixel areas means that there are a plurality of continuous pixel areas such as 4-connected, and the plurality of pixel areas are in the vicinity. Here, what is in the vicinity is, for example, an image area in which the pixel areas are close to each other in distance, an image area that is projected vertically or horizontally so as to cut out one character at a time from a line as a sentence, and cut out at a blank spot Or an image region cut out at regular intervals.
In many cases, one black pixel block forms an image of one character. However, it is not necessary that the pixel area is actually recognizable as a character by humans. There are a part of a character, a pixel region that does not form a character, and the like, and any black pixel block may be used. Hereinafter, the term “character” refers to this black pixel block.

本実施の形態は、境界検出モジュール12A、境界検出モジュール12B、境界検出モジュール12C、境界検出モジュール12D、境界傾き算出モジュール13A、境界傾き算出モジュール13B、境界傾き算出モジュール13C、境界傾き算出モジュール13D、画像傾き算出モジュール14、画像回転モジュール15を有している。本実施の形態は、画像の周囲に必ず存在する余白領域と画像内の黒画像領域との境界を検出し、その境界と水平又は垂直とのずれを傾き角度として、画像全体の傾き補正をするものである。   This embodiment includes a boundary detection module 12A, a boundary detection module 12B, a boundary detection module 12C, a boundary detection module 12D, a boundary inclination calculation module 13A, a boundary inclination calculation module 13B, a boundary inclination calculation module 13C, and a boundary inclination calculation module 13D. An image tilt calculation module 14 and an image rotation module 15 are provided. In the present embodiment, a boundary between a blank area that always exists around an image and a black image area in the image is detected, and the inclination of the entire image is corrected by using a deviation between the boundary and the horizontal or vertical as an inclination angle. Is.

境界検出モジュール12Aは、境界傾き算出モジュール13Aと接続されており、入力画像11を受け付け、入力画像11の辺部から複数画素の領域(以下、スリットという)を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、入力画像11の周辺部にある余白領域と入力画像11の黒画素領域との境界を検出し、その境界を境界傾き算出モジュール13Aへ渡す。なお、境界検出モジュール12Aは、入力画像11の上側にある境界を検出するものであり、入力画像11の辺部とは入力画像11の上辺(y=maxy)のことである。そして、反対側の辺部に向けてとは、上から下へ向けての意である。
より詳細には、スリットを上辺部の左端に置き、上から下へ走査し、そのスリット内に黒画素が入ったら、その黒画素の位置を記憶して、スリットを上辺部の右へ移動する。この手順を、スリットが右端に到達するまで繰り返して、記憶した複数の黒画素の位置を用いて、直線の近傍に位置するものからなるセグメントに分割して境界を検出する。
また、境界検出モジュール12Aは、境界近傍に位置する黒画素塊のサイズを検出し、そのサイズに応じて、スリットの長さNを決定するようにしてもよい。より詳細には、境界近傍の黒画素領域で画素塊を抽出し、その外接矩形の大きさのヒストグラムから最も頻度の高いものを文字のサイズとして算出し、スリットの長さNはその文字サイズに適正な倍数(例えば、0.5〜2倍)を掛けた値とするのが望ましい。
文字の外形が直線ではないために、検出した境界には凹凸が発生する。境界検出モジュール12Aは、この凹凸の影響を削減して境界を検出するためのものである。
The boundary detection module 12A is connected to the boundary inclination calculation module 13A, accepts the input image 11, and uses a plurality of pixel regions (hereinafter referred to as slits) from the side of the input image 11 to the opposite side. Based on the position of the black pixel detected by scanning in the direction, the boundary between the margin area in the peripheral portion of the input image 11 and the black pixel area of the input image 11 is detected, and the boundary is sent to the boundary inclination calculation module 13A. hand over. The boundary detection module 12A detects a boundary on the upper side of the input image 11, and the side portion of the input image 11 is the upper side (y = maxy) of the input image 11. And towards the opposite side means from top to bottom.
More specifically, the slit is placed at the left end of the upper side, scanned from the top to the bottom, and when a black pixel enters the slit, the position of the black pixel is stored and the slit is moved to the right of the upper side. . This procedure is repeated until the slit reaches the right end, and the boundary is detected by dividing the segment into segments composed of those located in the vicinity of the straight line using the stored positions of the plurality of black pixels.
The boundary detection module 12A may detect the size of the black pixel block located in the vicinity of the boundary and determine the slit length N according to the size. More specifically, a pixel block is extracted from the black pixel region near the boundary, and the most frequent one is calculated as a character size from a histogram of the size of the circumscribed rectangle. The slit length N is the character size. It is desirable that the value is multiplied by an appropriate multiple (for example, 0.5 to 2 times).
Since the outer shape of the character is not a straight line, irregularities occur at the detected boundary. The boundary detection module 12A is for detecting the boundary by reducing the influence of the unevenness.

境界検出モジュール12B、12C、12Dは、境界検出モジュール12Aと同様であり、各々入力画像11の下側、右側、左側にある境界を検出するものである。そして、入力画像11の辺部とは、入力画像11の各々下辺(y=0)、右辺(x=maxx)、左辺(x=0)のことである。そして、反対側の辺部に向けてとは、各々下方から上方へ向けて、右から左へ向けて、左から右へ向けての意である。   The boundary detection modules 12B, 12C, and 12D are the same as the boundary detection module 12A, and detect the boundaries on the lower side, the right side, and the left side of the input image 11, respectively. The sides of the input image 11 are the lower side (y = 0), the right side (x = maxx), and the left side (x = 0) of the input image 11, respectively. The direction toward the opposite side means from the bottom to the top, from the right to the left, and from the left to the right.

境界傾き算出モジュール13Aは、境界検出モジュール12A、画像傾き算出モジュール14と接続されており、境界検出モジュール12Aによって検出された境界の水平からの傾き角度を算出し、その傾き角度を画像傾き算出モジュール14へ渡す。より詳細には、境界検出モジュール12Aによって分割されたセグメント毎に傾き角度を算出する。また、境界検出モジュール12Aが傾き角度の算出に用いたセグメント毎に含まれる黒画素数に基づいて、各セグメントの傾き角度に重み付けを行い、入力画像11全体の傾き角度を算出するようにしてもよい。
境界傾き算出モジュール13B、13C、13Dは、境界傾き算出モジュール13Aと同様であり、各々入力画像11の下側、右側、左側にある境界の傾き角度を算出するものである。そして、境界傾き算出モジュール13C、13Dは、境界の垂直からの傾き角度を算出する。
The boundary inclination calculation module 13A is connected to the boundary detection module 12A and the image inclination calculation module 14, calculates an inclination angle from the horizontal of the boundary detected by the boundary detection module 12A, and calculates the inclination angle as an image inclination calculation module. 14 More specifically, the tilt angle is calculated for each segment divided by the boundary detection module 12A. Further, the boundary detection module 12A may calculate the inclination angle of the entire input image 11 by weighting the inclination angle of each segment based on the number of black pixels included in each segment used for calculating the inclination angle. Good.
The boundary inclination calculation modules 13B, 13C, and 13D are the same as the boundary inclination calculation module 13A, and calculate the inclination angles of the boundaries on the lower side, the right side, and the left side of the input image 11, respectively. Then, the boundary inclination calculation modules 13C and 13D calculate an inclination angle from the vertical of the boundary.

画像傾き算出モジュール14は、境界傾き算出モジュール13A、境界傾き算出モジュール13B、境界傾き算出モジュール13C、境界傾き算出モジュール13D、画像回転モジュール15と接続されている。境界傾き算出モジュール13A、境界傾き算出モジュール13B、境界傾き算出モジュール13C、境界傾き算出モジュール13Dによって各々算出された境界の傾き角度に基づいて、入力画像11全体の傾き角度を算出し、その入力画像11の傾き角度を画像回転モジュール15へ渡す。入力画像11全体の傾き角度を算出するとは、例えば、各々算出された境界の傾き角度の平均や最頻値などの公知の統計処理を施すことにより行う。
画像回転モジュール15は、画像傾き算出モジュール14と接続されており、画像傾き算出モジュール14から入力画像11の傾き角度及び対象となっている入力画像11を受け取り、その傾きに応じて入力画像11を回転し、出力画像16を生成する。入力画像11の回転はアフィン変換等を用いて行う。
The image inclination calculation module 14 is connected to the boundary inclination calculation module 13A, the boundary inclination calculation module 13B, the boundary inclination calculation module 13C, the boundary inclination calculation module 13D, and the image rotation module 15. Based on the boundary inclination angles calculated by the boundary inclination calculation module 13A, boundary inclination calculation module 13B, boundary inclination calculation module 13C, and boundary inclination calculation module 13D, the inclination angle of the entire input image 11 is calculated. 11 tilt angle is passed to the image rotation module 15. The calculation of the tilt angle of the entire input image 11 is performed, for example, by performing known statistical processing such as the average and the mode value of the calculated tilt angles of the boundaries.
The image rotation module 15 is connected to the image inclination calculation module 14, receives the inclination angle of the input image 11 and the target input image 11 from the image inclination calculation module 14, and receives the input image 11 according to the inclination. Rotate to generate the output image 16. The input image 11 is rotated using affine transformation or the like.

なお、境界検出モジュール(12A、12B、12C、12D)と境界傾き算出モジュール(13A、13B、13C、13D)は、各々4つずつあるが、1つずつであってもよい。その場合、境界検出モジュールに与えるパラメータ(上下右左の種別)によって、画像の上下右左のいずれかの境界を検出し、同様に、境界傾き算出モジュールに与えるパラメータ(上下右左の種別)によって、画像の上下右左のいずれかの境界の傾き角度を算出し、これを4回繰り返すようにしてもよい。また、境界検出モジュールが上下右左の全ての境界を検出した後に、境界傾き算出モジュールがそれぞれの境界の傾き角度を算出するようにしてもよい。   Note that there are four boundary detection modules (12A, 12B, 12C, 12D) and boundary inclination calculation modules (13A, 13B, 13C, 13D), but there may be one. In that case, either the upper, lower, right or left boundary of the image is detected by the parameter (upper, lower, right, left) given to the boundary detection module, and similarly, the image given by the boundary inclination calculation module (upper, lower, right, left) is It is also possible to calculate an inclination angle at any of the upper, lower, right and left boundaries and repeat this four times. Further, after the boundary detection module detects all the upper, lower, right, and left boundaries, the boundary inclination calculation module may calculate the inclination angle of each boundary.

また、入力画像11の4方向全ての境界の検出及びその傾きの算出を行っているが、1つの周辺部を対象としてもよく、より精度を高めるために上下左右のうち少なくとも2つの周辺部に適用するようにしてもよい。
つまり、文書には文字・表罫線・写真・グラフィックスなどが含まれる。本実施の形態における余白領域と黒画素領域の境界の検出は、文字・表罫線には有効であるが、写真・グラフィックスの場合には文字・表罫線の場合に比較すると精度が高くない傾向がある。すなわち、もし画像周辺の黒画素領域が写真・グラフィックスであると精度が低下する恐れがある。そこで、画像の上下左右に4箇所ある余白領域のうち少なくとも2つ以上の余白領域に対して黒画素領域との境界を検出することで複数の境界を得て、黒画素領域が写真・グラフィックスである場合の影響を抑えるようにしてもよい。
In addition, the detection of the boundaries of all four directions of the input image 11 and the calculation of the inclination thereof are performed, but one peripheral part may be targeted, and at least two peripheral parts of the upper, lower, left, and right sides are provided for higher accuracy. You may make it apply.
That is, the document includes characters, table ruled lines, photographs, graphics, and the like. The detection of the border between the blank area and the black pixel area in this embodiment is effective for characters / table ruled lines, but in the case of photographs / graphics, it tends to be less accurate than characters / table ruled lines. There is. That is, if the black pixel area around the image is a photograph / graphics, the accuracy may decrease. Therefore, a plurality of boundaries are obtained by detecting a boundary with the black pixel area for at least two or more of the four margin areas on the top, bottom, left, and right of the image, and the black pixel area is a photo / graphics. You may make it suppress the influence in the case of being.

次に作用・働き(動作)を説明する。
図2は、境界検出モジュールが行う処理例を示すフローチャートである。境界検出モジュール12Bが行う処理、つまり、画像の下部の余白領域と黒画素領域との境界を検出する処理例について説明する。
図2に示すフローチャートの前半(ステップS200〜ステップS220)は、スリット走査(下から上)で最初に検出した黒画素の位置を記憶する処理を、走査位置を左から右にずらしながら繰り返し、余白領域と黒画像領域の境界に位置する黒画素を複数検出する処理例を示すものである。後半(ステップS222〜ステップS236)は、この複数の黒画素が上下に大きく離れるところで複数のセグメントに分割する処理例を示すものである。
Next, the function and operation (operation) will be described.
FIG. 2 is a flowchart illustrating an example of processing performed by the boundary detection module. A process performed by the boundary detection module 12B, that is, a process example for detecting the boundary between the blank area and the black pixel area at the bottom of the image will be described.
In the first half of the flowchart shown in FIG. 2 (steps S200 to S220), the process of storing the position of the black pixel first detected in the slit scanning (from the bottom to the top) is repeated while shifting the scanning position from the left to the right. An example of processing for detecting a plurality of black pixels located at the boundary between a region and a black image region is shown. The second half (step S222 to step S236) shows an example of processing in which the plurality of black pixels are divided into a plurality of segments where the plurality of black pixels are largely separated in the vertical direction.

ステップS202では、入力画像11を取得する。画像を取得するとは、スキャナで画像を読み込むこと、ファックスで画像を受信すること、画像データベース等から画像を読み出すこと等が含まれる。また、画像の周辺部には黒枠が無くてもよい。つまり、スキャナの画像幅が紙幅より常に広くなっていることを要せず、又は紙を載せずにスキャンすると画像が必ず黒くなることも必要としないスキャナを用いて読み込んだ画像であってもよい。その画像は、1枚であってもよいし、複数枚の画像であってもよい。また、画像の内容として、ビジネス用に用いられる文書、広告宣伝用のパンフレット等であってもよい。   In step S202, the input image 11 is acquired. Acquiring an image includes reading an image with a scanner, receiving an image with a fax machine, and reading an image from an image database or the like. Also, there may be no black frame at the periphery of the image. In other words, it may be an image read using a scanner that does not require that the image width of the scanner is always wider than the paper width, or that the image does not necessarily become black when scanned without loading paper. . The image may be a single image or a plurality of images. Further, the content of the image may be a document used for business, a pamphlet for advertisement, or the like.

ステップS204では、入力画像11の下部(下辺から所定領域内)にある文字のサイズを算出する。
ステップS206では、ステップS204で算出した文字サイズに基づいて、スリットの長さNを決定する。以下、スリットの大きさを1×Nとして説明する。
ステップS208では、初期状態として左下隅にスリットを設定する。このスリットは、スリット内にある画素で黒画素があるか否かを判断するためのものである。
ステップS210では、スリット内に黒画素があるか否かを判断する。黒画素がある場合はステップS214へ進み、ない場合はステップS212へ進む。
ステップS212では、スリット内に黒画素がない場合であり、スリットを上方向に移動させる。つまり、そのスリット長さの範囲で最下端にある黒画素が見つかるまでステップS210、ステップS212の処理を繰り返す。
ステップS214では、その黒画素の位置(xy座標)を記憶する。スリット内に複数の黒画素がある場合は、その全ての黒画素の位置であってもよい。
In step S204, the size of the character in the lower part of the input image 11 (within the predetermined area from the lower side) is calculated.
In step S206, the slit length N is determined based on the character size calculated in step S204. Hereinafter, description will be made assuming that the size of the slit is 1 × N.
In step S208, a slit is set at the lower left corner as an initial state. This slit is for judging whether or not there is a black pixel in the pixels in the slit.
In step S210, it is determined whether there is a black pixel in the slit. If there is a black pixel, the process proceeds to step S214, and if not, the process proceeds to step S212.
In step S212, there is no black pixel in the slit, and the slit is moved upward. That is, the processes of step S210 and step S212 are repeated until the black pixel at the lowermost end is found within the slit length range.
In step S214, the position (xy coordinate) of the black pixel is stored. When there are a plurality of black pixels in the slit, the positions of all the black pixels may be used.

ステップS216では、スリットを最下段に戻す。
ステップS218では、スリットを右方向にNドット移動する。
ステップS220では、ステップS218の処理によってスリットは画像内に収まっているか否かを判断する。画像内にある場合はステップS210へ戻り、画像内にない場合はステップS222へ進む。つまり、スリットを左端から右端へ移動させるまでステップS210〜ステップS220の処理を繰り返す。
In step S216, the slit is returned to the lowest level.
In step S218, the slit is moved N dots to the right.
In step S220, it is determined whether the slit is within the image by the process in step S218. If it is within the image, the process returns to step S210. If it is not within the image, the process proceeds to step S222. That is, the processes in steps S210 to S220 are repeated until the slit is moved from the left end to the right end.

ステップS222では、変数i、jに1を代入する。ここでの変数iは、ステップS214で記憶された黒画素の位置を特定するものである。変数jは、セグメントを特定するものである。
ステップS224では、i番目とi+1番目の黒画素位置を取得する。
ステップS226では、i番目とi+1番目の黒画素位置の上下方向(y座標の差)が所定範囲内か否かを判断する。所定範囲内であればステップS228へ進み、それ以外であればステップS232へ進む。つまり、黒画素のy座標で比較した場合に近傍にあるか否かを判断しており、近傍にあるとは黒画素の位置は直線に近似していることを表している。
ステップS228では、j番目のセグメントの要素としてi+1番目の黒画素位置を記憶する。つまり、近傍に位置する黒画素を同一のセグメントに分類する。
ステップS230では、i+1をiに代入する(iをインクリメントする)。つまり、次の黒画素を対象とする。
In step S222, 1 is substituted into variables i and j. The variable i here specifies the position of the black pixel stored in step S214. The variable j specifies a segment.
In step S224, the i-th and i + 1-th black pixel positions are acquired.
In step S226, it is determined whether the vertical direction (y coordinate difference) between the i-th and i + 1-th black pixel positions is within a predetermined range. If it is within the predetermined range, the process proceeds to step S228. Otherwise, the process proceeds to step S232. That is, it is determined whether or not the pixel is in the vicinity when compared with the y coordinate of the black pixel, and the fact that the pixel is in the vicinity indicates that the position of the black pixel approximates a straight line.
In step S228, the i + 1th black pixel position is stored as an element of the jth segment. That is, the black pixels located in the vicinity are classified into the same segment.
In step S230, i + 1 is substituted for i (i is incremented). That is, the next black pixel is targeted.

ステップS232では、i+1をi、j+1をjに各々代入する。つまり、次の黒画素を対象とし、新しいセグメントを生成する。
ステップS234では、iは全黒画素数以下であるか否かを判断し、全黒画素数以下であればステップS224へ戻り、それ以外の場合は終了する(ステップS236)。つまり、ステップS214で記憶された全ての黒画素に対してセグメント化の処理(ステップS224〜ステップS232)を施したか否かを判断している。
In step S232, i + 1 is assigned to i, and j + 1 is assigned to j. That is, a new segment is generated for the next black pixel.
In step S234, it is determined whether i is equal to or less than the number of all black pixels. If i is equal to or less than the number of all black pixels, the process returns to step S224. Otherwise, the process ends (step S236). That is, it is determined whether or not segmentation processing (steps S224 to S232) has been performed on all the black pixels stored in step S214.

図3は、境界検出モジュールによる処理例を示す説明図である。
図3(b)に示している境界線検出画像32は、図3(a)に示している原画像31に対して、境界検出モジュール12Bによる処理(図2で示したフローチャートの処理)を施した結果である。なお、境界線検出画像32内の白い点がステップS214によって記憶された黒画素を表している。つまり、原画像31内のスリット単位内での最下端の黒画素の位置であり、原画像31の傾きを算出するための境界の候補である。
FIG. 3 is an explanatory diagram showing an example of processing by the boundary detection module.
The boundary detection image 32 shown in FIG. 3B is subjected to processing (processing of the flowchart shown in FIG. 2) by the boundary detection module 12B on the original image 31 shown in FIG. It is the result. A white point in the boundary line detection image 32 represents the black pixel stored in step S214. That is, it is the position of the lowermost black pixel in the slit unit in the original image 31, and is a boundary candidate for calculating the inclination of the original image 31.

図4は、境界傾き算出モジュールが行う処理例を示すフローチャートである。境界検出モジュールが検出した、セグメント分けされた「境界に位置する黒画素列」の位置情報から、各セグメントの傾きを算出する処理例である。
ステップS402では、セグメント数を取得し、変数mにその数を代入する。セグメント数は、図2に示したフローチャートでは最終的な変数jの値が該当する。
ステップS404では、変数iに1を代入する。ここでの変数iは、セグメントを特定するものである。
FIG. 4 is a flowchart illustrating an example of processing performed by the boundary inclination calculation module. It is an example of processing for calculating the inclination of each segment from the position information of the segmented “black pixel column located at the boundary” detected by the boundary detection module.
In step S402, the number of segments is acquired, and that number is substituted into the variable m. The number of segments corresponds to the final value of the variable j in the flowchart shown in FIG.
In step S404, 1 is substituted into the variable i. The variable i here specifies a segment.

ステップS406では、i番目のセグメントに属する黒画素列を取得する。つまり、着目しているセグメントに属する黒画素列を取得することであり、詳細には図2に示したフローチャートでステップS228でセグメントの要素として記憶された黒画素を取得する。そして、その黒画素を計数する。
ステップS408では、ステップS406で計数した黒画素数がT以上であるか否かを判断する。T以上であるならばステップS410へ進み、それ以外であるならばステップS416へ進む。つまり、取得した黒画素数が所定値(T)未満なら、ステップS414等(最小二乗法など)の処理に適さないため、これらの処理をバイパスする。例えば、黒画素数=1のときは最小二乗法の計算式でエラーが起きるため、これを除外する目的でT=2としてもよい。また、黒画素数が非常に少ない場合は最小二乗法で求めた傾きに大きな誤差が含まれているため、これを除外する場合はT=3又はT=4としてもよい。
In step S406, a black pixel column belonging to the i-th segment is acquired. That is, it is to acquire a black pixel column belonging to the segment of interest, and in detail, the black pixel stored as the segment element in step S228 in the flowchart shown in FIG. 2 is acquired. Then, the black pixels are counted.
In step S408, it is determined whether or not the number of black pixels counted in step S406 is equal to or greater than T. If it is equal to or greater than T, the process proceeds to step S410. Otherwise, the process proceeds to step S416. That is, if the acquired number of black pixels is less than the predetermined value (T), the process is bypassed because it is not suitable for the process of step S414 (such as the least square method). For example, when the number of black pixels = 1, an error occurs in the calculation formula of the least square method, and T = 2 may be set for the purpose of excluding this. In addition, when the number of black pixels is very small, a large error is included in the slope obtained by the least square method. Therefore, when this is excluded, T = 3 or T = 4 may be set.

ステップS410では、最小二乗法で直線近似を行う。つまり、あるセグメントに属するn個の黒画素数を対象とした場合、その位置を数1とする。
求めたい直線の式を数2とする。
aとbは、数3のように表すことができる。
すなわち、各黒画素の位置から数3を用いてa、bを求め、数2に代入することによって近似の直線式を得ることができる。
In step S410, linear approximation is performed by the least square method. In other words, when the number of n black pixels belonging to a certain segment is targeted, the position is represented by Formula 1.
The equation of the straight line to be obtained is represented by Formula 2.
a and b can be expressed as in Equation 3.
That is, an approximate linear equation can be obtained by calculating a and b from the position of each black pixel using Equation 3 and substituting them into Equation 2.

ステップS412では、ステップS410で求めた直線の近似式より傾きを算出する。つまり、数2のaより水平又は垂直からの傾きを算出する。
ステップS414では、ステップS412で算出された傾きと黒画素数とを対応させて記憶する。このデータ構造を、図5(a)の傾き元情報51に示す。傾き元情報51は、位置欄511、傾き(角度)欄512、精度情報欄513を有している。位置欄511は、どの境界算出モジュールが処理したかを記憶しており、境界検出モジュール12Aは上、12Bは下、12Cは右、12Dは左である。傾き(角度)欄512はセグメントを近似した直線の傾き、精度情報欄513はそのセグメント内の黒画素数を記憶している。
ステップS416では、変数iにi+1を代入する。つまり、次のセグメントを対象とする。
ステップS418では、iはm以下であるか否かを判断する。以下であればステップS406へ戻り、それ以外の場合は終了する(ステップS420)。つまり、全てのセグメントに対して処理を終了したか否かを判断する。
In step S412, the slope is calculated from the approximate expression of the straight line obtained in step S410. That is, the inclination from the horizontal or vertical is calculated from a in Equation 2.
In step S414, the inclination calculated in step S412 and the number of black pixels are stored in association with each other. This data structure is shown in the tilt source information 51 in FIG. The tilt source information 51 has a position column 511, a tilt (angle) column 512, and an accuracy information column 513. The position column 511 stores which boundary calculation module has processed, the boundary detection module 12A is up, 12B is down, 12C is right, and 12D is left. The slope (angle) column 512 stores the slope of a straight line approximating the segment, and the accuracy information column 513 stores the number of black pixels in the segment.
In step S416, i + 1 is substituted into the variable i. That is, the next segment is targeted.
In step S418, it is determined whether i is equal to or less than m. If it is below, the process returns to step S406, and otherwise the process ends (step S420). That is, it is determined whether or not processing has been completed for all segments.

図5は、画像傾き算出モジュール14が処理対象とするデータの例を示す説明図である。図5(a)に示す傾き元情報51は、画像傾き算出モジュール14が入力するデータ(境界傾き算出モジュール13A等が画像傾き算出モジュール14へ渡すデータ)である。図5(b)に示す重み付き傾き情報52は、近似直線の傾きとその重みのデータである。重み付き傾き情報52は、傾き(方向を考慮)欄521、重み欄522を有している。ここで重みを用いるのは、長いセグメント(黒画素数が多いセグメント)から算出した傾きと、短いセグメントから算出したセグメントでは精度が異なるため、セグメントの長短を加味してより正確な画像全体の傾き角度を得るためである。   FIG. 5 is an explanatory diagram illustrating an example of data to be processed by the image inclination calculation module 14. The tilt source information 51 shown in FIG. 5A is data input by the image tilt calculation module 14 (data passed to the image tilt calculation module 14 by the boundary tilt calculation module 13A and the like). The weighted inclination information 52 shown in FIG. 5B is data of the inclination of the approximate line and its weight. The weighted inclination information 52 includes an inclination (considering direction) column 521 and a weight column 522. Here, the weight is used because the accuracy of the slope calculated from a long segment (segment with a large number of black pixels) and the segment calculated from a short segment are different. This is to obtain an angle.

画像傾き算出モジュール14は、次の3つの処理を行う。
(1)傾き元情報51の傾き(角度)欄512に記憶されている傾きから、方向を考慮した傾きを算出して、重み付き傾き情報52の傾き(方向を考慮)欄521に記憶する。つまり、位置欄511が「上」であるならばそのまま、「下」であるならば180度減算し、「右」であるならば270度減算し、「左」であるならば90度減算する。
(2)傾き元情報51の精度情報欄513に記憶されている精度情報(傾き算出に用いた黒画素数)から、重みを算出して、重み付き傾き情報52の重み欄522に記憶する。ここでの重み付けは、精度情報欄513に記憶されている黒画素数の合計に対する割合である。つまり、図5の例で1行目にある傾き「3.59」の重みは、精度情報欄513に記憶されている黒画素数の合計である257に対する38の割合0.148(38/257)である。
(3)重み付き傾き情報52を用いて、傾きの加重平均を算出して、これを画像全体の傾きとする。重み付き傾き情報52の例では2.94度となる。
次に、画像回転モジュール15は、画像傾き算出モジュール14によって算出された画像全体の傾きを修正する方向に回転させる。つまり、図5に示した例では−2.94度回転させる。
The image inclination calculation module 14 performs the following three processes.
(1) From the tilt stored in the tilt (angle) column 512 of the tilt source information 51, a tilt considering the direction is calculated and stored in the tilt (considering the direction) column 521 of the weighted tilt information 52. That is, if the position field 511 is “upper”, it is subtracted 180 degrees if it is “lower”, 270 degrees is subtracted if it is “right”, and 90 degrees is subtracted if it is “left”. .
(2) The weight is calculated from the accuracy information (the number of black pixels used for the tilt calculation) stored in the accuracy information column 513 of the tilt source information 51 and stored in the weight column 522 of the weighted tilt information 52. The weighting here is a ratio to the total number of black pixels stored in the accuracy information column 513. That is, the weight of the gradient “3.59” in the first line in the example of FIG. 5 is a ratio of 38 to 0.187 (38/257) of 257, which is the total number of black pixels stored in the accuracy information column 513. ).
(3) A weighted average of inclinations is calculated using the weighted inclination information 52, and this is used as the inclination of the entire image. In the example of the weighted inclination information 52, it is 2.94 degrees.
Next, the image rotation module 15 rotates in a direction to correct the inclination of the entire image calculated by the image inclination calculation module 14. That is, in the example shown in FIG.

図6を参照して、本実施の形態のハードウェア構成例について説明する。図6に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部617と、プリンタなどのデータ出力部618を備えたハードウェア構成例を示している。   A hardware configuration example of the present embodiment will be described with reference to FIG. The configuration shown in FIG. 6 is configured by a personal computer (PC), for example, and shows a hardware configuration example including a data reading unit 617 such as a scanner and a data output unit 618 such as a printer.

CPU(Central Processing Unit)601は、前述の実施の形態において説明した各種のモジュール、すなわち、境界検出モジュール12A、境界傾き算出モジュール13A、画像傾き算出モジュール14、画像回転モジュール15等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。   A CPU (Central Processing Unit) 601 executes various modules described in the above-described embodiments, that is, the modules such as the boundary detection module 12A, the boundary inclination calculation module 13A, the image inclination calculation module 14, and the image rotation module 15. It is a control part which performs the process according to the computer program which described the sequence.

ROM(Read Only Memory)602は、CPU601が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)603は、CPU601の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス604により相互に接続されている。   A ROM (Read Only Memory) 602 stores programs used by the CPU 601, calculation parameters, and the like. A RAM (Random Access Memory) 603 stores programs used in the execution of the CPU 601, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 604 including a CPU bus.

ホストバス604は、ブリッジ605を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス606に接続されている。   The host bus 604 is connected to an external bus 606 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 605.

キーボード608、マウス等のポインティングデバイス609は、操作者により操作される入力デバイスである。ディスプレイ610は、液晶表示装置又はCRT(Cathode Ray Tube)などからなり、各種情報をテキストやイメージ情報として表示する。   A keyboard 608 and a pointing device 609 such as a mouse are input devices operated by an operator. The display 610 includes a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various types of information as text and image information.

HDD(Hard Disk Drive)611は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU601によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、入力画像11や出力画像16などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。   An HDD (Hard Disk Drive) 611 includes a hard disk, drives the hard disk, and records or reproduces a program executed by the CPU 601 and information. The hard disk stores an input image 11, an output image 16, and the like. Further, various computer programs such as various other data processing programs are stored.

ドライブ612は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体613に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース607、外部バス606、ブリッジ605、及びホストバス604を介して接続されているRAM603に供給する。リムーバブル記録媒体613も、ハードディスクと同様のデータ記録領域として利用可能である。   The drive 612 reads out data or a program recorded in a removable recording medium 613 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and the data or program is read out from the interface 607 and the external bus 606. , And supplied to the RAM 603 connected via the bridge 605 and the host bus 604. The removable recording medium 613 can also be used as a data recording area similar to a hard disk.

接続ポート614は、外部接続機器615を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート614は、インタフェース607、及び外部バス606、ブリッジ605、ホストバス604等を介してCPU601等に接続されている。通信部616は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部617は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部618は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。   The connection port 614 is a port for connecting the external connection device 615, and has a connection unit such as USB or IEEE1394. The connection port 614 is connected to the CPU 601 and the like via the interface 607, the external bus 606, the bridge 605, the host bus 604, and the like. The communication unit 616 is connected to a network and executes data communication processing with the outside. The data reading unit 617 is a scanner, for example, and executes document reading processing. The data output unit 618 is a printer, for example, and executes document data output processing.

なお、図6に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図6に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図6に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。   Note that the hardware configuration shown in FIG. 6 shows one configuration example, and the present embodiment is not limited to the configuration shown in FIG. 6, and is a configuration capable of executing the modules described in the present embodiment. I just need it. For example, some modules may be configured with dedicated hardware (for example, Application Specific Integrated Circuit (ASIC), etc.), and some modules are in an external system and connected via a communication line In addition, a plurality of systems shown in FIG. 6 may be connected to each other via communication lines so as to cooperate with each other. Further, it may be incorporated in a copying machine, a fax machine, a scanner, a printer, a multifunction machine (an image processing apparatus having any two or more functions of a scanner, a printer, a copying machine, a fax machine, etc.).

なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
The program described above may be provided by being stored in a recording medium, or the program may be provided by communication means. In that case, for example, the above-described program may be regarded as an invention of a “computer-readable recording medium recording the program”.
The “computer-readable recording medium on which a program is recorded” refers to a computer-readable recording medium on which a program is recorded, which is used for program installation, execution, program distribution, and the like.
The recording medium is, for example, a digital versatile disc (DVD), which is a standard established by the DVD Forum, such as “DVD-R, DVD-RW, DVD-RAM,” and DVD + RW. Standards such as “DVD + R, DVD + RW, etc.”, compact discs (CDs), read-only memory (CD-ROM), CD recordable (CD-R), CD rewritable (CD-RW), etc. MO), flexible disk (FD), magnetic tape, hard disk, read only memory (ROM), electrically erasable and rewritable read only memory (EEPROM), flash memory, random access memory (RAM), etc. It is.
The program or a part of the program may be recorded on the recording medium for storage or distribution. Also, by communication, for example, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a wired network used for the Internet, an intranet, an extranet, etc., or wireless communication It may be transmitted using a transmission medium such as a network or a combination of these, or may be carried on a carrier wave.
Furthermore, the program may be a part of another program, or may be recorded on a recording medium together with a separate program. Moreover, it may be divided and recorded on a plurality of recording media. Further, it may be recorded in any manner as long as it can be restored, such as compression or encryption.

本実施の形態の構成例についての概念的なモジュール構成図である。It is a conceptual module block diagram about the structural example of this Embodiment. 境界検出モジュールが行う処理例を示すフローチャートである。It is a flowchart which shows the process example which a boundary detection module performs. 境界検出モジュールによる処理例を示す説明図である。It is explanatory drawing which shows the process example by a boundary detection module. 境界傾き算出モジュールが行う処理例を示すフローチャートである。It is a flowchart which shows the process example which a boundary inclination calculation module performs. 画像傾き算出モジュールが処理対象とするデータの例を示す説明図である。It is explanatory drawing which shows the example of the data made into a process target by the image inclination calculation module. 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which implement | achieves this Embodiment.

符号の説明Explanation of symbols

11…入力画像
12A…境界検出モジュール
12B…境界検出モジュール
12C…境界検出モジュール
12D…境界検出モジュール
13A…境界傾き算出モジュール
13B…境界傾き算出モジュール
13C…境界傾き算出モジュール
13D…境界傾き算出モジュール
14…画像傾き算出モジュール
15…画像回転モジュール
16…出力画像
DESCRIPTION OF SYMBOLS 11 ... Input image 12A ... Boundary detection module 12B ... Boundary detection module 12C ... Boundary detection module 12D ... Boundary detection module 13A ... Boundary inclination calculation module 13B ... Boundary inclination calculation module 13C ... Boundary inclination calculation module 13D ... Boundary inclination calculation module 14 ... Image inclination calculation module 15 ... Image rotation module 16 ... Output image

Claims (6)

画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、
前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、
前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段
を具備し、
前記境界検出手段は、走査して得た複数の黒画素を直線の近傍に位置するものからなるセグメントに分割して境界を検出し、
前記境界傾き算出手段は、前記境界検出手段によって分割されたセグメント毎に傾き角度を算出し、
前記画像傾き算出手段は、前記境界傾き算出手段が傾き角度の算出に用いたセグメント毎に含まれる黒画素数に基づいて、各セグメントの傾き角度に重み付けを行い、前記画像全体の傾き角度を算出する
ことを特徴とする画像処理装置。
Based on the position of the black pixel detected by scanning toward the opposite side using a plurality of pixel areas from the side of the image, the margin area in the periphery of the image and the black pixel of the image Boundary detection means for detecting a boundary with the region;
A boundary inclination calculating means for calculating an inclination angle from the horizontal or vertical of the boundary detected by the boundary detecting means;
An image inclination calculating means for calculating an inclination angle of the entire image based on an inclination angle of the boundary calculated by the boundary inclination calculating means ;
The boundary detection means detects a boundary by dividing a plurality of black pixels obtained by scanning into segments consisting of those located in the vicinity of a straight line,
The boundary inclination calculation means calculates an inclination angle for each segment divided by the boundary detection means,
The image inclination calculation means weights the inclination angle of each segment based on the number of black pixels included in each segment used by the boundary inclination calculation means to calculate the inclination angle, and calculates the inclination angle of the entire image. An image processing apparatus.
画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、  Based on the position of the black pixel detected by scanning toward the opposite side using a plurality of pixel areas from the side of the image, the margin area in the periphery of the image and the black pixel of the image Boundary detection means for detecting a boundary with the region;
前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、  A boundary inclination calculating means for calculating an inclination angle from the horizontal or vertical of the boundary detected by the boundary detecting means;
前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段  Image inclination calculation means for calculating the inclination angle of the entire image based on the boundary inclination angle calculated by the boundary inclination calculation means
を具備し、  Comprising
前記境界検出手段は、境界近傍に位置する黒画素塊のサイズを検出し、該サイズに応じて、前記境界検出手段が用いる複数画素の領域の長さを決定する  The boundary detection means detects the size of a black pixel block located in the vicinity of the boundary, and determines the length of a plurality of pixel areas used by the boundary detection means according to the size.
ことを特徴とする画像処理装置。  An image processing apparatus.
前記境界検出手段は、複数の境界を検出し、
前記境界傾き算出手段は、前記境界検出手段によって検出された複数の境界の傾き角度を各々算出し、
前記画像傾き算出手段は、複数の境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
The boundary detection means detects a plurality of boundaries,
The boundary inclination calculation means calculates the inclination angles of the plurality of boundaries detected by the boundary detection means,
The image inclination calculation means, based on the inclination angle of the plurality of boundary, the image processing apparatus according to claim 1 or 2, characterized in that to calculate the tilt angle of the entire image.
前記境界検出手段は、走査して得た複数の黒画素を直線の近傍に位置するものからなるセグメントに分割して境界を検出し、
前記境界傾き算出手段は、前記境界検出手段によって分割されたセグメント毎に傾き角度を算出する
ことを特徴とする請求項に記載の画像処理装置。
The boundary detection means detects a boundary by dividing a plurality of black pixels obtained by scanning into segments consisting of those located in the vicinity of a straight line,
The image processing apparatus according to claim 2 , wherein the boundary inclination calculation unit calculates an inclination angle for each segment divided by the boundary detection unit.
コンピュータを、
画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、
前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、
前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段
として機能させ
前記境界検出手段は、走査して得た複数の黒画素を直線の近傍に位置するものからなるセグメントに分割して境界を検出し、
前記境界傾き算出手段は、前記境界検出手段によって分割されたセグメント毎に傾き角度を算出し、
前記画像傾き算出手段は、前記境界傾き算出手段が傾き角度の算出に用いたセグメント毎に含まれる黒画素数に基づいて、各セグメントの傾き角度に重み付けを行い、前記画像全体の傾き角度を算出する
ことを特徴とする画像処理プログラム。
Computer
Based on the position of the black pixel detected by scanning toward the opposite side using a plurality of pixel areas from the side of the image, the margin area in the periphery of the image and the black pixel of the image Boundary detection means for detecting a boundary with the region;
A boundary inclination calculating means for calculating an inclination angle from the horizontal or vertical of the boundary detected by the boundary detecting means;
Based on the boundary inclination angle calculated by the boundary inclination calculating means, function as image inclination calculating means for calculating the inclination angle of the entire image ,
The boundary detection means detects a boundary by dividing a plurality of black pixels obtained by scanning into segments consisting of those located in the vicinity of a straight line,
The boundary inclination calculation means calculates an inclination angle for each segment divided by the boundary detection means,
The image inclination calculation means weights the inclination angle of each segment based on the number of black pixels included in each segment used by the boundary inclination calculation means to calculate the inclination angle, and calculates the inclination angle of the entire image. An image processing program.
コンピュータを、  Computer
画像の辺部から複数画素の領域を用いて、反対側の辺部に向けて走査することによって検出した黒画素の位置に基づいて、該画像の周辺部にある余白領域と該画像の黒画素領域との境界を検出する境界検出手段と、  Based on the position of the black pixel detected by scanning toward the opposite side using a plurality of pixel areas from the side of the image, the margin area in the periphery of the image and the black pixel of the image Boundary detection means for detecting a boundary with the region;
前記境界検出手段によって検出された境界の水平又は垂直からの傾き角度を算出する境界傾き算出手段と、  A boundary inclination calculating means for calculating an inclination angle from the horizontal or vertical of the boundary detected by the boundary detecting means;
前記境界傾き算出手段によって算出された境界の傾き角度に基づいて、前記画像全体の傾き角度を算出する画像傾き算出手段  Image inclination calculation means for calculating the inclination angle of the entire image based on the boundary inclination angle calculated by the boundary inclination calculation means
として機能させ、  Function as
前記境界検出手段は、境界近傍に位置する黒画素塊のサイズを検出し、該サイズに応じて、前記境界検出手段が用いる複数画素の領域の長さを決定する  The boundary detection means detects the size of a black pixel block located in the vicinity of the boundary, and determines the length of a plurality of pixel areas used by the boundary detection means according to the size.
ことを特徴とする画像処理プログラム。  An image processing program characterized by that.
JP2007299264A 2007-11-19 2007-11-19 Image processing apparatus and image processing program Expired - Fee Related JP4978437B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007299264A JP4978437B2 (en) 2007-11-19 2007-11-19 Image processing apparatus and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007299264A JP4978437B2 (en) 2007-11-19 2007-11-19 Image processing apparatus and image processing program

Publications (2)

Publication Number Publication Date
JP2009123155A JP2009123155A (en) 2009-06-04
JP4978437B2 true JP4978437B2 (en) 2012-07-18

Family

ID=40815203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007299264A Expired - Fee Related JP4978437B2 (en) 2007-11-19 2007-11-19 Image processing apparatus and image processing program

Country Status (1)

Country Link
JP (1) JP4978437B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736332B2 (en) 2011-11-30 2017-08-15 Hewlett-Packard Indigo B.V. Automatic detection of corners of an imaged document

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63180180A (en) * 1987-01-20 1988-07-25 Sanyo Electric Co Ltd Method for detecting tilt angle of image
JP3651037B2 (en) * 1994-12-21 2005-05-25 マツダ株式会社 Line segment detection method and apparatus

Also Published As

Publication number Publication date
JP2009123155A (en) 2009-06-04

Similar Documents

Publication Publication Date Title
US8768052B2 (en) Image processing apparatus, image processing method, and non-transitory computer readable medium
JP4535584B2 (en) Digital image processing method
KR101235226B1 (en) Image processor and image processing method and recording medium
US10235576B2 (en) Analysis method of lane stripe images, image analysis device, and non-transitory computer readable medium thereof
KR101377910B1 (en) Image processing method and image processing apparatus
JP4626777B2 (en) Information processing apparatus and information processing program
JP2009251872A (en) Information processing device and information processing program
JP4978437B2 (en) Image processing apparatus and image processing program
JP5251489B2 (en) Image processing apparatus and image processing program
JP5742283B2 (en) Image processing apparatus and image processing program
JP2010176414A (en) Apparatus and program for processing image
JP5489894B2 (en) Image processing apparatus and image processing program
JP5262778B2 (en) Image processing apparatus and image processing program
JP6003375B2 (en) Image processing apparatus and image processing program
JP4840388B2 (en) Image processing apparatus and image processing program
JP5476884B2 (en) Image processing apparatus and image processing program
US20120099797A1 (en) Image processing apparatus, image processing method and computer-readable medium
JP5853495B2 (en) Image processing apparatus and image processing program
JP5039449B2 (en) Image processing apparatus and image processing program
JP4995507B2 (en) Image processing system, character recognition system, and image processing program
JP6241311B2 (en) Image processing apparatus and image processing program
JP5062076B2 (en) Information processing apparatus and information processing program
JP5821648B2 (en) Information processing apparatus and information processing program
JP6409423B2 (en) Image processing apparatus and image processing program
JP2009259030A (en) Image identification apparatus, image identification method and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees