JP6805552B2 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP6805552B2
JP6805552B2 JP2016104833A JP2016104833A JP6805552B2 JP 6805552 B2 JP6805552 B2 JP 6805552B2 JP 2016104833 A JP2016104833 A JP 2016104833A JP 2016104833 A JP2016104833 A JP 2016104833A JP 6805552 B2 JP6805552 B2 JP 6805552B2
Authority
JP
Japan
Prior art keywords
image
writing
write
character string
information processing
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.)
Active
Application number
JP2016104833A
Other languages
English (en)
Other versions
JP2017211847A (ja
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2016104833A priority Critical patent/JP6805552B2/ja
Priority to US15/601,359 priority patent/US10657309B2/en
Publication of JP2017211847A publication Critical patent/JP2017211847A/ja
Application granted granted Critical
Publication of JP6805552B2 publication Critical patent/JP6805552B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/62Retouching, i.e. modification of isolated colours only or in isolated picture areas only
    • H04N1/626Detection of non-electronic marks, e.g. fluorescent markers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/273Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/146Aligning or centring of the image pick-up or image-field
    • G06V30/1475Inclination or skew detection or correction of characters or of image to be recognised
    • G06V30/1478Inclination or skew detection or correction of characters or of image to be recognised of characters or characters lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3877Image rotation
    • H04N1/3878Skew detection or correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Character Input (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理装置及びプログラムに関し、特に、ユーザーにより入力された画像を補正する技術に関する。
従来、情報処理装置が他のデバイスから画像データを取得して、ディスプレイなどの表示手段に表示させることが可能である。情報処理装置が取得する画像データには、例えばスキャン処理を行うことにより生成された画像データが含まれる。さらに近年において、表示手段に画像を表示させた状態で、ユーザーによるマウスなどの操作手段の操作に応じて、表示されている画像に対して文字、記号、下線などの図形を書き込み可能な情報処理装置が提供されている。このような情報処理装置によると、表示手段に表示されている文字列などに対して、ユーザーは操作手段を操作することにより、下線を付加したり、囲み枠などを付加したりすることが可能となる。
ユーザーの操作に応じた書き込みがなされる場合、ユーザーが書き込みを行いたい文字列に対する的確な位置から外れた位置にオブジェクトが書き込まれることがある。また、原稿の画像をスキャンで自動的に読み取る場合、読取ヘッドは原稿の主走査方向の読取位置を主走査方向と直交する副走査方向へ相対的に移動させながら画像を読み取っていく。このような読取手法では、読取ヘッドによって主走査方向の読取動作が行われているときにも、読取ヘッドの読取位置が副走査方向に対して移動していることになり、スキャンによって得られた画像は、傾斜した画像であることがある。さらに、原稿読取部まで原稿が搬送される際、原稿が原稿読取方向に対し斜めになった状態で搬送され、或いは、原稿載置部に原稿が原稿読取方向に対して斜めになった状態で載置されると、例えば表示手段に対して傾斜して画像や文字が表示されることがある。このような場合、ユーザーは表示手段に対し傾斜して表示される画像や文字列に対して書き込みを行うことになり、傾斜していない場合に比べ、的確な位置に書き込みオブジェクトを表示させることがより困難になる。
そこで、文字画像の傾きを検知して、文字画像を例えば走査方向に補正する画像処理装置が提案されている(例えば特許文献1)。このような画像処理装置によると、表示手段において画像や文字列が傾斜して表示されている場合に、走査方向に補正することが可能となる。
特開2005−10886号公報
しかしながら、特許文献1に示す画像処理装置によっても、ユーザーにより書き込まれたオブジェクトが、表示手段に表示されている画像や文字列に対して的確な位置に表示されるよう補正することはできないという問題がある。なぜなら、上述したようにスキャン処理により生成された画像データの場合、画像や文字列が傾斜している場合があるため、このような場合にオブジェクトを走査線方向に補正しても、画像や文字列の配置とは無関係の位置にオブジェクトが表示されるだけであり、オブジェクトを的確な位置に表示させることができないからである。
そこで本発明は、上記問題点を解決するためになされたものであり、ユーザーの操作に応じて、表示手段に表示されている画像や文字に対して書き込まれたオブジェクトを的確な位置に表示可能な情報処理装置及びプログラムを提供することを目的とする。
上記目的を達成するため、請求項1に係る発明は、所定の表示手段に画像を表示可能な情報処理装置であって、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段とを備えることを特徴とする構成である。
請求項2に係る発明は、所定の表示手段に画像を表示可能な情報処理装置であって、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段と、を備え、前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第1範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第1範囲を含む第2範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とする構成である。
請求項に係る発明は、請求項1又は2に記載の情報処理装置において、前記書き込みオブジェクトの種類を判別する判別手段をさらに備え、前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする構成である。
請求項に係る発明は、請求項に記載の情報処理装置において、前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする構成である。
請求項に係る発明は、請求項乃至のいずれかに記載の情報処理装置において、前記文字列を解析して前記文字列における所定の区切り位置を検出する区切り検出手段をさらに備え、前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする構成である。
請求項に係る発明は、請求項に記載の情報処理装置において、前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする構成である。
請求項に係る発明は、請求項乃至のいずれかに記載の情報処理装置において、前記補正手段は、前記書き込みオブジェクトが2つの端点を有する場合に、当該書き込みオブジェクトを前記2つの端点を結ぶ線分に補正することを特徴とする構成である。
請求項に係る発明は、請求項に記載の情報処理装置において、前記補正手段は、前記書き込みオブジェクトが前記2つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする構成である。
請求項に係る発明は、請求項乃至のいずれかに記載の情報処理装置において、前記画像は、ドキュメントを構成するページ内に配置され、前記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段をさらに備えることを特徴とする構成である。
請求項10に係る発明は、請求項1乃至のいずれかに記載の情報処理装置において、前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする構成である。
請求項11に係る発明は、請求項1乃至10のいずれかに記載の情報処理装置において、前記画像は、スキャン機能により生成された画像であることを特徴とする構成である。
請求項12に係る発明は、所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、前記情報処理装置を、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、として機能させることを特徴とする構成である。
請求項13に係る発明は、所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、前記情報処理装置を、前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、として機能させ、前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第1範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第1範囲を含む第2範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とする構成である。
請求項14に係る発明は、請求項12又は13に記載のプログラムにおいて、前記情報処理装置を、前記書き込みオブジェクトの種類を判別する判別手段としてさらに機能させ、前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする構成である。
請求項15に係る発明は、請求項14に記載のプログラムにおいて、前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする構成である。
請求項16に係る発明は、請求項12乃至15のいずれかに記載のプログラムにおいて、前記情報処理装置を、前記文字列を解析して、前記文字列における所定の区切り位置を検出する区切り検出手段としてさらに機能させ、前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする構成である。
請求項17に係る発明は、請求項16に記載のプログラムにおいて、前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする構成である。
請求項18に係る発明は、請求項12乃至17のいずれかに記載のプログラムにおいて、前記補正手段は、前記書き込みオブジェクトが2つの端点を有する場合に、当該書き込みオブジェクトを前記2つの端点を結ぶ線分に補正することを特徴とする構成である。
請求項19に係る発明は、請求項18に記載のプログラムにおいて、前記補正手段は、前記書き込みオブジェクトが前記2つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする構成である。
請求項20に係る発明は、請求項12乃至19のいずれかに記載のプログラムにおいて、前記画像は、ドキュメントを構成するページ内に配置され、前記情報処理装置を記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段としてさらに機能させることを特徴とする構成である。
請求項21に係る発明は、請求項12乃至20のいずれかに記載のプログラムにおいて、前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする構成である。
請求項22に係る発明は、請求項12乃至21のいずれかに記載のプログラムにおいて、前記画像は、スキャン機能により生成された画像であることを特徴とする構成である。
本発明によれば、表示手段に表示されている画像や文字に対してユーザーの操作に応じて書き込まれたオブジェクトを、画像や文字に対する適切な位置に表示させることが可能であり、資料作成の効率性が向上するのである。
情報処理装置を有する情報処理システムの全体の構成を示す図である。 ドキュメントデータに基づく画像の表示例を示す図である。 情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図である。 画像に文字列が含まれる場合の一例を示す図である。 文字列に対する書込オブジェクトの一例を示す図である。 文字列に対する書込オブジェクトの一例を示す図である。 書込オブジェクトに対する補正が行われる場合の一例を示す図である。 書込オブジェクトに対する補正が行われる場合の一例を示す図である。 書込オブジェクトに対する補正が行われる場合の一例を示す図である。 直線オブジェクトに対する補正の一例を示す図である。 囲み枠オブジェクトに対する補正の一例を示す図である。 文字列における区切りに応じて書込オブジェクトの補正が行われる場合の一例を示す図である。 情報処理装置において行われる主要な処理手順の一例を示すフローチャートである。 基準検出処理の具体的な処理手順の一例を示すフローチャートである。 書込オブジェクト検出処理の具体的な処理手順の一例を示すフローチャートである。 画像補正処理の具体的な処理手順の一例を示すフローチャートである。 書込オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。 直線オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。 直線オブジェクト補正処理が行われる場合の補正態様の一例を示す図である。 二重線オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。 二重線オブジェクト補正処理が行われる場合の補正態様の一例を示す図である。 囲み枠オブジェクト補正処理の具体的な処理手順の一例を示すフローチャートである。 囲み枠オブジェクト補正処理が行われる場合の補正態様の一例を示す図である。
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
図1は、本発明の一実施形態である情報処理システム1の構成例を示す図である。この情報処理システム1は、スマートフォンやタブレット端末、或いはパーソナルコンピュータ(PC)などで構成される情報処理装置2と、情報処理装置2と通信可能な画像処理装置4を備える。画像処理装置4は、MFP(Multifunction Peripheral)などで構成され、ユーザーによる指示操作によって投入されるスキャンジョブを実行することができる装置である。これとは異なり、画像処理装置4は、スキャン機能のみを備える装置であってもよい。情報処理装置2は、bluetooth(登録商標)やWiFiなどの電波を利用した無線通信機能を備え、画像処理装置4との間で無線通信を行うことが可能である。また、情報処理装置2と画像処理装置4は、図示しないLAN(Local Area Network)やインターネットなどのネットワークを経由して互いに通信可能である。
画像処理装置4は、原稿5に対しスキャン処理を行うことにより、ドキュメントデータD1を生成する。ドキュメントデータD1は、例えばビットマップやJPEGなどの画像データである。また、これとは異なり、ドキュメントデータD1はスキャン処理により生成されたものではなく、例えば文書編集アプリケーションなどにより生成されたデータであり、テキストデータを含むものであってもよい。情報処理装置2は、無線通信やネットワークを経由して、画像処理装置4からドキュメントデータD1を取得可能である。情報処理装置2は、表示部10を備え、ドキュメントデータD1に基づいて表示部10に画像を表示可能である。図2は、ドキュメントデータD1に基づいて画像を表示する場合における画面構成の一例を示した図である。図2(a)に示すように、表示部10内に、ドキュメントデータD1を構成するページP1が表示され、ページP1内に画像A1が表示される。ドキュメントデータD1は、複数のページP1により構成される場合があり、この場合、情報処理装置2は、表示部10内に1つのページP1を表示させることができ、また、複数のページP1を並べて表示させることも可能である。
画像A1は、図2(a)に示すようにページP1の上辺及び下辺に対して平行に表示される場合もあり、これとは異なり、ページP1の上辺及び下辺に対して傾斜して表示される場合もある。また、ドキュメントデータD1が複数のページP1により構成される場合、ページP1毎に画像A1の傾斜の有無、又は傾斜の程度が異なることがある。
図2(b)は、表示部10に画像A1が表示されている場合に、オブジェクトが画像A1に付加される場合の一例を示す図である。表示部10に画像A1が表示されている場合に、ユーザーは、操作部11を操作することにより書込オブジェクトB1を付加することが可能である。操作部11は、例えばマウスなどにより構成され、或いは、表示部10の画面に配置されるタッチセンサなどにより構成される。書込オブジェクトB1は、ユーザーによる操作内容に応じた形状にて表示部10に表示される。図2(b)の例では、画像A1の文字列に下線が付され、ユーザーが強調したい語を見つけやすくすることができる。
上述したように、ユーザーの操作内容に応じた形状の書込オブジェクトB1が付加される場合、付加された書込オブジェクトB1は直線として表示されなかったり、文字列の配列方向に対して傾斜していたり、或いは、ユーザーが書込オブジェクトB1を付加したい文字列に対して的確な位置に表示されなかったりすることがある。そこで、本実施形態における情報処理装置2は、書込オブジェクトB1を、画像A1における文字列の配列方向に基づいて付加されるよう補正することが可能な装置である。以下、情報処理装置2の具体的な構成について説明する。
図3は、情報処理装置2の機能構成及びハードウェア構成の一例を示すブロック図である。情報処理装置2は、画像処理装置4との通信におけるインタフェースとなる通信インタフェース14と、CPU12と、記憶部16とを備える。
記憶部16は不揮発性の記憶手段である。この記憶部16には、情報処理装置2において実行され、CPU12を以下に説明する各処理部として機能させるプログラム60が格納される。また、記憶部16には、画像処理装置4から取得したドキュメントデータD1が格納される。
CPU12は、プログラム60を読み出して実行することにより、ドキュメントデータ取得部20、文字列検出部22、基準検出部24、表示制御部26、操作検知部28、オブジェクト生成部30、オブジェクト判別部32、傾斜検出部34、補正部36、区切検出部38として機能する。表示制御部26は、さらにオブジェクト表示部49として機能する。補正部36は、さらに差分検出部50、オブジェクト補正部52、ドキュメント補正部54としてさらに機能する。
ドキュメントデータ取得部20は、情報処理装置2が通信インタフェース14を経由して画像処理装置4からドキュメントデータD1を受信すると、受信されたドキュメントデータD1を取得する処理部である。ドキュメントデータ取得部20によりドキュメントデータD1が取得されると、文字列検出部22が機能する。文字列検出部22は、ドキュメントデータD1に含まれる画像から文字列を検出する処理部である。図4は、ドキュメントデータD1が取得された場合の表示部10に表示される画像A1の表示態様の一例を示す図である。ドキュメントデータ取得部20によりドキュメントデータD1が取得されると、図4(a)に示すようにドキュメントデータD1のページP1が表示部10に表示される。そして、文字列検出部22によりページP1に含まれる文字列が検出される。文字列検出部22により文字列が検出されると、基準検出部24(図3参照)が機能し、文字列検出部22により検出された文字列の配列方向を検出する。
図4(b)は、基準検出部24により検出された文字列の配列方向の一例を示す図である。文字列検出部22によりページP1に含まれる文字列が検出されると、基準検出部24は、文字列を構成する各文字の配列に基づいて、文字列の配列方向を検出する。図4(a)および(b)に示す例では、各文字はページP1の上辺及び下辺に対して略平行に配列されており、文字列の配列方向は、図4(b)に示すように基準方向F1である。
基準検出部24は、画像A1の基準方向F1を検出する処理部である。本実施形態において基準方向F1は、画像A1に対して付加された書込オブジェクトB1を補正する際の基準となる方向であり、書込オブジェクトB1が基準方向F1に対して傾斜する場合に、後述する補正部36は、基準方向F1に一致するように例えば書込オブジェクトB1を回転させる。本実施形態において基準検出部24は、文字列の配列方向を検出すると、検出された配列方向を画像A1の基準方向F1に決定する。これにより、後述する補正部36により、書込オブジェクトB1が画像A1に含まれる文字列の配列方向に一致するよう補正されるため、書込オブジェクトB1が文字列に対して的確に付加されるのである。
操作検知部28は、表示部10に画像A1が表示されている状態で、ユーザーにより操作部11に対する操作が行われると、ユーザーによる操作に応じて画像A1に対する書き込み入力を受け付ける処理部である。本実施形態において、書き込み入力の受付を開始する旨の指示が検知されると、操作検知部28は、書き込み入力を受け付ける。そして、書き込み入力の受付を終了する旨の指示が検知されると、操作検知部28は、書き込み入力の受付を終了する。
操作検知部28により書き込み入力が受け付けられると、オブジェクト生成部30が機能する。オブジェクト生成部30は、操作検知部28により受け付けられた書き込み入力に応じて書込オブジェクトB1を生成する処理部である。オブジェクト生成部30は、操作検知部28により受け付けられた書き込み入力に基づいて、書込オブジェクトB1を生成し、画像A1に対して生成された書込オブジェクトB1を付加する。そして、本実施形態においては、オブジェクト生成部30により書込オブジェクトB1が生成されると、表示制御部26により表示部10に書込オブジェクトB1が表示される。
図5は、画像A1に書込オブジェクトB1が付加された場合の一例を示す図である。操作検知部28により書き込み入力が受け付けられている間に、ユーザーが操作部11を操作すると、操作検知部28は、例えばページP1内においてユーザーによる操作が開始された位置と、操作の軌跡に沿った位置を取得する。そして、オブジェクト生成部30は、例えば操作検知部28により取得された操作開始位置と操作の軌跡に沿った位置に基づいて、書込オブジェクトB1をページP1内に生成する。図例では、文字列に対し直線により構成される直線オブジェクトB2(B1)と、二重線により構成される二重線オブジェクトB6(B1)と、方形により構成される囲み枠オブジェクトB8(B1)と、文字により構成される文字オブジェクトB10(B1)が画像A1に付加される。これらのオブジェクトは、ユーザーによる操作の軌跡に基づく描画により生成されるオブジェクトである。そのため、文字列に対して付加された下線(二重下線)や囲み枠が基準方向F1に対して傾いていたり、或いは文字列における適切な位置に付加されていないということが生じる。上述した直線オブジェクトB2、二重線オブジェクトB6及び囲み枠オブジェクトB8は、ユーザーの操作に応じて書き込み入力された線により構成される線状オブジェクトに含まれる。また、波線や二重波線を含む曲線により構成される書込オブジェクトB1も、線状オブジェクトに含まれる。これに対し、文字や記号などは線状オブジェクトに含まれない。
オブジェクト生成部30により画像A1に書込オブジェクトB1が付加されてから、書き込み入力の受け付けを終了する旨の指示が操作検知部28に検知されると、これ以降に操作部11に対する操作が操作検知部28により検知されても、操作検知部28は、書き込み入力として当該操作を受け付けない。書き込み入力の受付を終了する旨の指示が操作検知部28により検知されると、オブジェクト判別部32が機能する。
オブジェクト判別部32は、書込オブジェクトB1の種類を判別する処理部である。書き込み入力が受け付けられている間にオブジェクト生成部30によって画像A1に付加された書込オブジェクトB1は、各々いずれの種類に属するオブジェクトであるのか未だ判別されていない。操作検知部28による書き込み入力の受け付けが終了すると、オブジェクト判別部32は、ページP1内の書込オブジェクトB1の種類の判別を行う。まず、オブジェクト判別部32は、互いに所定距離以上離れているオブジェクトを異なる書込オブジェクトB1であると判別する。図5(a)の例において、オブジェクト判別部32は、画像A1に含まれる文字「資料1」を囲むように付加されたオブジェクトと、算用数字「130」上に付加されたオブジェクトとの距離を検出し、所定値以上である場合に、これら2つのオブジェクトを異なる書込オブジェクトB1であると判別する。同様に、その他のオブジェクト同士の距離を検出し、オブジェクト同士の距離が所定値以上である場合、各オブジェクトはそれぞれ別の書込オブジェクトB1であると判別する。
画像A1に付加された各書込オブジェクトB1が判別されると、次に、オブジェクト判別部32は、補正処理の対象となり得る書込オブジェクトB1であるか、補正処理の対象とならない書込オブジェクトB1であるかを判別する。オブジェクト判別部32は、画像A1に含まれる文字列に対する書込オブジェクトB1の位置に基づいて、当該書込オブジェクトB1が文字列に対して付加され、補正処理の対象となり得る書込オブジェクトB1であるか否かを判別する。本実施形態において、オブジェクト判別部32は、画像A1の文字列から所定範囲外に付加されている書込オブジェクトB1を補正処理の対象とならない書込オブジェクトB1であると判別する。文字列から所定範囲外に付加された書込オブジェクトB1は、文字列に対して書き込まれたものではないと判断されるからである。また、オブジェクト判別部32は、文字により構成される書込オブジェクトB1を補正対象とならない書込オブジェクトB1であると判別する。文字により構成される書込オブジェクトB1は、補正を行わなくとも書き込み入力に応じて付加された状態で解読可能だからである。これとは異なり、全ての書込オブジェクトB1を補正対象となり得るとしてもよい。
オブジェクト判別部32は、補正対象となり得ると判別された書込オブジェクトB1が、画像A1に含まれる文字列のうち、いずれの文字列に付加されているのかをさらに判別する。一例として、画像A1に含まれる各文字列から所定距離内に書込オブジェクトB1があるか否かを判定し、ある文字列から所定距離内にある書込オブジェクトB1を、当該文字列に対して付加された書込オブジェクトB1であると判別する。文字列から所定距離内に書込オブジェクトB1があるか否かの一判定基準として、例えば、書込オブジェクトB1を構成する線のうち所定割合(例えば60%)以上の線が文字列から所定距離内にある場合に、当該文字列に付加された書込オブジェクトB1であると判別してもよい。
次にオブジェクト判別部32は、補正対象となり得ると判別された書込オブジェクトB1の種類を判別する。オブジェクト判別部32は、書込オブジェクトB1の端点を検出する。そして、2つの端点が検出される場合、オブジェクト判別部32は、当該書込オブジェクトB1がこれら2つの端点を結ぶ直線から所定範囲内にあるときに、当該書込オブジェクトB1を直線オブジェクトB2であると判別する。図5(b)の例では、2つの端点が検出されることから、これら2つの端点を結ぶ直線m1から所定範囲内に書込オブジェクトB1がある。そこで、オブジェクト判別部32は、当該書込オブジェクトB1を直線オブジェクトB2であると判別する。
さらにオブジェクト判別部32は、文字列に付加された直線オブジェクトB2の位置に基づいて、当該直線オブジェクトB2が当該文字列に対して下線として書き込まれたものであるのか、或いは取消線として書き込まれたものであるのかを判別する。例えば図5(c)に示すように、直線オブジェクトB2が文字列a1に対して付加されたものであると判別された場合に、オブジェクト判別部32は、文字列a1の中心線CLよりも直線オブジェクトB2がページP1において上方に付加されていれば、当該直線オブジェクトB2を、文字列a1に対して付加された取消線と判別する。他方、文字列a1の中心線CLよりも直線オブジェクトB2がページP1において下方に付加されている場合、当該直線オブジェクトB2を下線と判別する。
書込オブジェクトB1から2つの端点が検出され、書込オブジェクトB1がこれら2つの端点を結ぶ直線m1から所定範囲内にない場合、当該書込オブジェクトB1は直線オブジェクトB2ではないと判定される。次にオブジェクト判別部32は、所定範囲内において各端点を通る略平行な2つの線が当該書込オブジェクトB1から検出される場合に、当該書込オブジェクトB1を二重線と判別する。図6(d)に示すように、書込オブジェクトB1は端点T1と端点T3を有し、これら2つの端点を結ぶ直線から距離n1以上離れた領域にあるため、直線オブジェクトB2であると判別されない。そして、書込オブジェクトB1は、端点T1と端点T3のそれぞれを通る2つの線が略平行であり、且つこれら2つの線の距離がn3以下であることから、オブジェクト判別部32は、当該書込オブジェクトB1を二重線オブジェクトB6と判別する。
さらにオブジェクト判別部32は、書込オブジェクトB1から端点が検出されない場合に、当該書込オブジェクトB1の形状を解析する。そして、当該書込オブジェクトB1が略四角形である場合、オブジェクト判別部32は当該書込オブジェクトB1を囲み枠オブジェクトB8であると判別する。図6(e)に示すように、文字列上に付加された書込オブジェクトB1は、端点が検出されず、また、4辺に相当する線がそれぞれ検出されると略四角形であると判定され、当該書込オブジェクトB1は囲み枠オブジェクトB8であると判別される。
図3に戻り、オブジェクト判別部32により書込オブジェクトB1に対する判別が行われ、書込オブジェクトB1が直線オブジェクトB2、二重線オブジェクトB6又は囲み枠オブジェクトB8のいずれかである場合、傾斜検出部34が機能する。傾斜検出部34は、画像A1に付加された書込オブジェクトB1の傾斜方向F3を検出する処理部である。本実施形態において、傾斜検出部34は、書込オブジェクトB1が直線オブジェクトB2、二重線オブジェクトB6及び囲み枠オブジェクトB8のいずれかである場合に、当該オブジェクトの配置に基づいて傾斜方向F3を検出する。本実施形態において傾斜方向F3は、オブジェクトが配置されている方向である。傾斜方向F3が検出され、画像A1の基準方向F1に基づいて傾斜方向F3が補正されることにより、オブジェクトが基準方向F1に適合した方向に配置され、的確な位置にオブジェクトが付加されるのである。
傾斜検出部34は、直線オブジェクトB2、二重線オブジェクトB6及び囲み枠オブジェクトB8の各々に応じて、傾斜方向F3を検出する。例えば、直線オブジェクトB2の場合、傾斜検出部34は、図5(b)に示すように直線オブジェクトB2の2つの端点を結ぶ直線m1を、直線オブジェクトB2の傾斜方向F3に決定する。
二重線オブジェクトB6の場合、傾斜検出部34は、例えば直線近似によって二重線オブジェクトB6の傾斜方向F3を検出する。図6(d)は、二重線オブジェクトB6の傾斜方向F3の検出の一例を示す図である。近似直線m3は、例えば最小2乗法を用いて求め、得られた近似直線m3を二重線オブジェクトB6の傾斜方向F3に決定する。或いはこれとは異なり、傾斜検出部34は、二重線オブジェクトB6を構成する線の所定割合以上と接する直線m4を検出する。そして、検出された直線m4のうち、基準方向F1に対して最も平行に近い直線m4を傾斜方向F3に決定してもよい。
囲み枠オブジェクトB8の場合、傾斜検出部34は、二重線オブジェクトB6と同様に直線近似により囲み枠オブジェクトB8の傾斜方向F3を検出する。図6(e)は、囲み枠オブジェクトB8の傾斜方向F3を検出する場合の一例を示す図であり、傾斜検出部34は、例えば最小2乗法により得られた近似直線m5を囲み枠オブジェクトB8の傾斜方向F3に決定する。或いは、これとは異なり、傾斜検出部34は、囲み枠オブジェクトB8の各辺の所定割合以上と接する直線m6を検出する。そして、検出された直線m6のうち、基準方向F1に対して最も平行に近い直線m6を傾斜方向F3に決定してもよい。
図3に戻り、補正部36は、差分検出部50と、オブジェクト補正部52と、ドキュメント補正部54としてさらに機能する。差分検出部50は、画像A1の基準方向F1と書込オブジェクトB1の傾斜方向F3との角度の差分を検出する処理部である。オブジェクト補正部52は、基準方向F1に基づいて書込オブジェクトB1を補正する処理部である。ドキュメント補正部54は、文字列を含む画像A1をページP1の一の端辺と平行になるように補正する処理部である。
差分検出部50は、画像A1の基準方向F1と書込オブジェクトB1の傾斜方向F3との角度を検出する。図7は、補正部36により書込オブジェクトB1が補正される場合の一例を示す図である。図7(a)に示すように、差分検出部50は、画像A1の基準方向F1と直線オブジェクトB2(B1)の傾斜方向F3との角度θを検出する。差分検出部50により基準方向F1と傾斜方向F3との角度θが検出されると、オブジェクト補正部52は、図7(b)に示すように、例えば直線オブジェクトB2の端点T5を軸にして直線オブジェクトB2が基準方向F1と平行になるまで直線オブジェクトB2を回転させる。これにより、直線オブジェクトB2は画像A1に含まれる文字列の配列方向に対して平行に表示されるため、いずれの文字列に対して付加された直線オブジェクトB2であるのかが明らかになる。
図8は、図7に示した補正とは異なる態様の補正が行われる場合の一例を示す図である。図7に示した補正例の場合、直線オブジェクトB2を回転させる際に軸となる端点T5の位置によって補正後の直線オブジェクトB2の位置が決定される。例えば、端点T5が文字列に重なる位置にある場合、補正後の直線オブジェクトB2は、文字列と重なる位置に配置されることになる。図7に示すように、ユーザーが文字列に対して下線として直線オブジェクトB2を付加する意図であることが推認できる場合であっても、仮に端点T5が文字列に重なる位置にあれば、補正後の直線オブジェクトB2が文字列上に配置されることになり、ユーザーの意図に反する結果になる。
そこで、図8に示す例では、オブジェクト判別部32は、直線オブジェクトB2の文字列a2に対する位置に基づいて、補正前の直線オブジェクトB2を文字列a2に対する下線であると判別する。オブジェクト判別部32による判別結果に応じて、オブジェクト補正部52は、例えば文字列a2下端の近傍の所定位置を通る基準方向F1に平行な直線を検出し、検出された直線に対して直角方向を投影方向として直線オブジェクトB2を投影させる。そして、オブジェクト補正部52は、直線オブジェクトB2を当該直線に対して投影することにより生成される直線オブジェクトB2'に補正する。これにより、オブジェクト補正部52は、直線オブジェクトB2を、基準方向F1に平行に補正すると共に、文字列a2に対する下線であることを明示することができる。すなわち、図8の例では、オブジェクト補正部52は、文字列a2に対する直線オブジェクトB2の位置に応じて、文字列中又は文字列の近傍において基準方向F1に平行な直線を検出する。そして、検出された直線に対して直線オブジェクトB2を投影させ、直線オブジェクトB2を投影により生成される線分に変換することにより補正を行うのである。
オブジェクト補正部52は、オブジェクト判別部32によって補正対象となる書込オブジェクトB1であると判別された場合に、文字列に対して予め設定される位置に当該書込オブジェクトB1を配置する。図5(c)の例示において、オブジェクト判別部32は、画像A1に含まれる文字列に対する書込オブジェクトB1の位置に基づいて、画像A1に含まれる文字列のうち、いずれの文字列に対して付加された書込オブジェクトB1であるかを判別する。そして、図5(c)に示すように、直線オブジェクトB2が文字列a1に対して付加されたと判別されると、オブジェクト判別部32はさらに、文字列a1に対する直線オブジェクトB2の位置に基づいて、直線オブジェクトB2が文字列a1に付加された取消線であるのか、又は文字列a1に付加された下線であるのかを判別する。
例えば文字列a1の中心線CLよりも直線オブジェクトB2が上方に付加されている場合、当該直線オブジェクトB2を取消線と判別する。オブジェクト判別部32により取消線であると判別されると、オブジェクト補正部52は、例えば少なくとも直線オブジェクトB2の一の端点が文字列a1の中心線CL上に位置するように直線オブジェクトB2を移動させる。或いは、上述したように、基準方向F1に対して平行になるように補正された直線オブジェクトB2を、文字列a1の中心線CL上に移動させてもよい。
また、図5(c)の例示において、オブジェクト判別部32は、文字列a1の中心線CLよりも直線オブジェクトB2が下方に付加されている場合、当該直線オブジェクトB2を文字列に付加された下線であると判別する。オブジェクト判別部32により下線であると判別されると、オブジェクト補正部52は、例えば少なくとも直線オブジェクトB2の一の端点が文字列下端に位置するように直線オブジェクトB2を移動させる。或いは、基準方向F1に対して平行になるように補正された直線オブジェクトB2を、文字列下端に移動させてもよい。これにより、文字列に付加された直線オブジェクトB2が、取消線又は下線のいずれであるのかが明らかにされ、美観が向上する。なお、オブジェクト判別部32によって二重線オブジェクトB6であると判定された場合も同様に、オブジェクト補正部52は、文字列における二重線オブジェクトB6が付加されている位置に基づいて、二重線オブジェクトB6を移動させる。
オブジェクト補正部52は、傾斜検出部34により検出された書込オブジェクトB1の傾斜方向F3と基準方向F1との角度が所定値以内である場合に、傾斜方向F3を基準方向F1と一致するように補正すると共に、傾斜方向F3と基準方向F1との角度が所定値より大きい場合に、傾斜方向F3を補正しないとしてもよい。この所定値は、ユーザーにより予め設定可能である。傾斜方向F3と基準方向F1との角度が比較的大きい場合には、ユーザーは意図的に基準方向F1との角度が大きくなる当該書込オブジェクトB1を付加させた可能性が高いため、当該書込オブジェクトB1を基準方向F1に基づいて補正すると、ユーザーの意図に反した書込オブジェクトB1になってしまう可能性がある。そこで、基準方向F1と傾斜方向F3との角度がユーザーにより設定された所定値以上となる場合、補正を行わないとすることにより、ユーザーの意図に反した補正が行われることを防止できる。
図9(a)は、基準方向F1と傾斜方向F3との角度が比較的大きい場合の直線オブジェクトB2の一例を示す図である。傾斜検出部34により直線オブジェクトB2の傾斜方向F3が検出されると、差分検出部50は、画像A1の基準方向F1と傾斜方向F3との角度θ2を検出する。差分検出部50により角度θ2が検出されると、オブジェクト補正部52が機能する。そして、オブジェクト補正部52は、角度θ2が予め設定される所定値α1より大きい場合、直線オブジェクトB2の補正を行わない。図例の直線オブジェクトB2が付加されている態様からすると、当該直線オブジェクトB2は、ユーザーにより文字列a2に取消線として付加されたのか、下線として付加されたのか、或いは、文字列a2を削除するための斜線として付加されたのか区別できない。そこでこのような場合、オブジェクト補正部52は、直線オブジェクトB2に対して基準方向F1に基づく補正を行わない。これにより、ユーザーの意図に反する態様に書込オブジェクトB1が補正されることを防止する。
これとは異なり、オブジェクト補正部52は、以下の処理を行ってもよい。書込オブジェクトB1が直線オブジェクトB2又は二重線オブジェクトB6である場合に、オブジェクト補正部52は、直線オブジェクトB2又は二重線オブジェクトB6の基準方向F1における長さを検出する。そして、基準方向F1における長さが、所定値(例えば10ミリメートル)以上であるとき、基準方向F1と傾斜方向F3との角度θが上記所定値α1より小さいことを条件として、直線オブジェクトB2又は二重線オブジェクトB6の補正を行う。他方、直線オブジェクトB2又は二重線オブジェクトB6の基準方向F1における長さが所定値(例えば10ミリメートル)未満であるとき、基準方向F1と傾斜方向F3との角度θが、所定値α1より大きい値α2より小さいことを条件として、直線オブジェクトB2又は二重線オブジェクトB6の補正を行う。
図9(b)に示すように、基準方向F1に対して共にθ10傾斜している直線オブジェクトB2aと、直線オブジェクトB2aより長い直線オブジェクトB2bとが付加されている。直線オブジェクトB2aは、文字列に含まれる1文字に対して付加された下線であるのに対し、直線オブジェクトB2bは、文字列に対して付加された下線であるのか、取消線であるのか、或いは文字列を削除する意図で付加された斜線であるのか区別できない。直線オブジェクトB2bを基準方向F1に基づいて補正してしまうと、ユーザーが直線オブジェクトB2bを付加させた意図に反する補正となる場合が生じる。そこで、直線オブジェクトB2の長さに応じて補正を行うか否かの判断基準をそれぞれ設定し、直線オブジェクトB2aに対する補正を行うか否かの判断基準となる角度(α2)を、直線オブジェクトB2aより長い直線オブジェクトB2bに対する補正を行うか否かの判断基準となる角度(α1)に比べて大きい値に設定することにより、補正を行うか否かを適切に判定できるのである。なお、図例では直線オブジェクトB2による場合を示したが、オブジェクト補正部52は、線状オブジェクトに含まれる二重線オブジェクトB6や、波線など曲線により構成される書込オブジェクトB1による場合も、直線オブジェクトB2を用いて説明したのと同様の処理を行う。
上述したように、書込オブジェクトB1が2つの端点を結ぶ線分に対して直角方向に距離n1の範囲内にある場合、オブジェクト判別部32により、当該書込オブジェクトB1は直線オブジェクトB2であると判別される。そして、オブジェクト補正部52は、直線オブジェクトB2を、2つの端点を結ぶ線分に補正してもよい。図10は、直線オブジェクトB2が2つの端点を結ぶ線分に補正される場合の一例を示す図である。図10(a)に示すように、ユーザーによる操作に応じて入力された直線オブジェクトB2は、2端点間を最短で結ぶ線分ではないことが多い。そこで、オブジェクト補正部52は、図10(b)に示すように、直線オブジェクトB2を、端点T7と端点T9とを結ぶ線分に補正することにより、直線オブジェクトB2の美観を向上させることが可能となる。
図11は、囲み枠オブジェクトB8に対する補正が行われる場合の一例を示す図である。オブジェクト判別部32により書込オブジェクトB1が囲み枠オブジェクトB8であると判別された場合に、オブジェクト補正部52は、傾斜検出部34により検出された傾斜方向F3方向における囲み枠オブジェクトB8の長さL3を検出する。なお、図例では傾斜方向F3と基準方向F1とが略平行である場合を示すが、これに限られず、基準方向F1と傾斜方向F3とが平行ではない場合であってもよい。次に、オブジェクト補正部52は、傾斜方向F3に対して直角方向における囲み枠オブジェクトB8の長さL4を検出する。そして、オブジェクト補正部52は、例えば図11(b)に示すように、囲み枠オブジェクトB8を、当該囲み枠オブジェクトB8の各辺と接し、辺の長さがL3とL4とからなる矩形に補正する。これにより、囲み枠オブジェクトB8の美観を向上させることが可能となる。
図3に戻り、ドキュメント補正部54は、文字列を含む画像A1を、ページP1の一の端辺と平行になるように補正する処理部である。画像A1がページP1の端辺に対して斜交する場合に、ドキュメント補正部54は基準方向F1がページP1の一の端辺と一致するように画像A1を補正する。例えば、ドキュメント補正部54は、基準方向F1との角度が比較的小さいページP1の端辺を検出し、検出された端辺に基づいて画像A1を回転させる。そして、ドキュメント補正部54により補正されると、オブジェクト補正部52が機能し、書込オブジェクトB1の傾斜方向F3が、画像A1に対する補正の際にドキュメント補正部54により検出されたページP1の端辺と一致するように、書込オブジェクトB1を補正する。これにより、画像A1と書込オブジェクトB1は共に、ページP1に対して傾斜することなく表示される。
さらに、CPU12は、区切検出部38を有する。区切検出部38は、文字列検出部22により検出された文字列を解析して、文字列における区切り位置を検出する処理部である。文字列検出部22により画像A1内に含まれる文字列が検出されると、区切検出部38は機能する。区切検出部38は、検出された文字列における区切り位置を検出する。一例として、区切検出部38は、文字列に含まれる文字同士の間隔が所定値以上である場合に、当該間隔を文字列における区切り位置として検出する。また、区切検出部38は、文字列に含まれる句読点を文字列における区切り位置として検出してもよい。
区切検出部38はさらに、文字列における単語の区切り位置を検出する。記憶部16には、例えば名詞、形容詞、動詞、副詞、接続詞、助詞、助動詞などの文法に基づく品詞情報を含む辞書情報62が予め格納される。区切検出部38は、記憶部16から辞書情報62を読み出し、文字列検出部22により検出された文字列を解析し、単語ごとの区切り位置を検出する。図12は、文字列における区切り位置が検出される場合の一例を示す図である。図12(a)に示すように、区切検出部38によって文字列における区切り位置が検出される。図例では、単語ごとの区切り位置が検出された場合を示すが、これに限られず、例えば、句読点が検出された場合や文字同士の間隔が所定値以上である場合に区切り位置を検出してもよい。
区切検出部38により区切り位置が検出されると、オブジェクト補正部52は、検出された区切り位置を含む所定範囲内に書込オブジェクトB1の端点がある場合、当該端点を区切り位置に一致させる。図12(b)及び(c)は、区切り位置に基づいて書込オブジェクトB1が補正される場合の一例を示す図である。図例では、文字列下方に直線オブジェクトB2が付加されている。この場合、オブジェクト補正部52は、文字列の区切り位置における文字列下端近傍に区切点h1とh2とを抽出し、区切点h1を含む領域R1と区切点h2を含む領域R3の各々に直線オブジェクトB2の端点が存在するか否かを判定する。
領域R1内又は領域R3内に直線オブジェクトB2の端点が存在する場合、オブジェクト補正部52は、端点が存在する領域における区切点に端点を一致させる。図12(b)の例では、区切点h1を含む領域R1内と、区切点h2を含む領域R3内のそれぞれに、直線オブジェクトB2の端点が存在する。そこで、オブジェクト補正部52は、図12(c)に示すように、各端点をそれぞれ区切点h1と区切点h2に一致させることにより直線オブジェクトB2を補正する。これにより、直線オブジェクトB2は文字列における区切りと区切りの間に表示されることになり、よりユーザーの意図に即して補正されるのである。
次に、本実施形態における情報処理装置2にて行われる処理の手順の一例を説明する。図13は、情報処理装置2において行われる主たる処理手順の一例を示すフローチャートである。記憶部16に記憶されているプログラム60がCPU12で実行されることによりアプリケーションが起動すると、情報処理装置2は、ドキュメントデータD1を取得する(ステップS1)。ドキュメントデータD1は、画像処理装置4など外部装置から取得してもよいし、記憶部16に記憶されているドキュメントデータD1を読み出してもよい。そして、情報処理装置2はドキュメントデータD1を読み出して画像A1を含むページP1を表示させる(ステップS3)。ページP1を表示させると、ページP1内の画像A1から基準方向F1を検出する基準検出処理(ステップS5)を実行する。基準検出処理(ステップS5)の具体的な処理手順については後述する。
次に、画像A1が表示されている状態で、ユーザーによる書き込み入力の受付を開始する指示を検知したか否かを判定する(ステップS7)。書き込み入力の受付を開始する指示を検知した場合(ステップS7でYES)、情報処理装置2は、さらにユーザーによる書き込み入力を検知したか否かを判定する(ステップS9)。書き込み入力を検知した場合(ステップS9でYES)、情報処理装置2は書込オブジェクトB1を生成する(ステップS11)。また、情報処理装置2は、生成された書込オブジェクトB1を表示部10に表示させてもよい。他方、書き込み入力を検知しない場合(ステップS9でNO)、ステップS11をスキップする。そして、書き込み入力の受付を終了させる指示を検知したか否かを判定し(ステップS13)、かかる指示を検知しない場合(ステップS13でNO)、指示を検知するまでステップS9からS13を繰り返し実行する。他方、書き込み入力の受付を終了させる指示を検知した場合(ステップS13でYES)、情報処理装置2は、ステップS11で生成された書込オブジェクトB1の判別や傾斜方向の検出を行う書込オブジェクト検出処理(ステップS15)を実行する。書込オブジェクト検出処理(ステップS15)の具体的な処理手順については後述する。
書込オブジェクト検出処理(ステップS15)を行うと、情報処理装置2は書込オブジェクトB1又は画像A1の補正を行う画像補正処理(ステップS17)を実行する。画像補正処理の具体的な処理手順については後述する。最後に、情報処理装置2は、ユーザーによるアプリケーションを終了させる指示を検知したか否かを判定し(ステップS19)、アプリケーションを終了させる指示を検知した場合(ステップS19でYES)、アプリケーションを終了させる処理を行って(ステップS21)処理を終了する。他方、アプリケーションを終了させる指示を検知しない場合(ステップS19でNO)、ステップS7に戻り、アプリケーションを終了させる指示が検知されるまで、ステップS7乃至S17の処理を繰り返し行う。なお、ステップS7で書き込み入力の受付を開始する指示を検知しなかった場合(ステップS7でNO)、ステップS9乃至S17の処理をスキップする。
図14は、基準検出処理(図13のステップS5)の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置2は、ドキュメントデータD1を構成するページP1から1つのページを抽出して(ステップS31)文字列を検出したか否かを判定する(ステップS33)。文字列を検出した場合(ステップS33でYES)、文字列の配列方向を検出する(ステップS35)。そして、検出した配列方向を基準方向に決定する(ステップS37)。
次に、情報処理装置2は、記憶部16に格納されている辞書情報62を読み出す(ステップS39)。そして、読み出した辞書情報62を用いて文字列における単語の区切り位置を検出する(ステップS41)。なお、これとは異なり、情報処理装置2は、句読点の位置や文字同士の間隔が所定値以上である位置を文字列における区切り位置として検出してもよい。最後に、ドキュメントデータD1に含まれるすべてのページP1に対して処理済みであるか否かを判定し(ステップS43)、すべてのページP1に対して処理済みである場合(ステップS43でYES)、基準検出処理を終了する。他方、すべてのページP1に対して処理済みでない場合(ステップS43でNO)、ステップS31に戻り、すべてのページP1に対して処理が終了するまで、ステップS31乃至S41の処理を繰り返し実行する。なお、ステップS33でページP1内に文字列が検出されなかった場合(ステップS33でNO)、ステップS35乃至S41の処理をスキップする。
図15は、書込オブジェクト検出処理(図13のステップS15)の具体的な処理手順の一例を示すフローチャートである。書き込み入力の受付を終了する指示を検知すると(図13のステップS13)、情報処理装置2は、補正対象となり得る書込オブジェクトB1を抽出する(ステップS51)。補正対象となり得る書込オブジェクトB1には、例えば直線オブジェクトB2、二重線オブジェクトB6及び囲み枠オブジェクトB8が含まれる。補正対象とならない書込オブジェクトB1には、例えば文字列との距離が所定値以上である書込オブジェクトB1や、文字により構成される書込オブジェクトB1が含まれる。補正対象となり得る書込オブジェクトB1を抽出すると、情報処理装置2は抽出された書込オブジェクトB1から端点が検出されるか否かを判定する(ステップS53)。端点が検出される場合(ステップS53でYES)、さらに検出された端点を結ぶ直線から所定範囲内に書込オブジェクトB1があるか否かを判定する(ステップS55)。
書込オブジェクトB1が検出された端点間を結ぶ直線から所定範囲内である場合(ステップS55でYES)、情報処理装置2は当該書込オブジェクトB1を直線オブジェクトB2と判別する(ステップS57)。他方、書込オブジェクトB1が、検出された端点間を結ぶ直線から所定範囲内でない場合(ステップS55でNO)、情報処理装置2は当該書込オブジェクトB1を二重線オブジェクトB6であると判別する(ステップS59)。また、ステップS53において、当該書込オブジェクトB1から端点が検出されなかった場合(ステップS53でNO)、情報処理装置2は、当該書込オブジェクトB1を囲み枠オブジェクトB8であると判別する(ステップS54)。最後に、判別された各書込オブジェクトB1毎に、傾斜方向を検出して(ステップS61)、書込オブジェクト検出処理を終了する。
図16は、画像補正処理(図13のステップS17)の具体的な処理手順の一例を示すフローチャートである。情報処理装置2は、画像補正処理において、まず基準方向F1を決定済みであるか否かを判定し(ステップS71)、基準方向F1を決定済みである場合(ステップS71でYES)に傾斜方向F3を検出済みであるか否かを判定する(ステップS73)。そして、傾斜方向F3を検出済みである場合(ステップS73でYES)、情報処理装置2は、基準方向F1と傾斜方向F3との角度を検出する(ステップS75)。他方、基準方向F1及び傾斜方向F3のいずれかが検出されていない場合には(ステップS71又はS73でNO)、情報処理装置2は、書込オブジェクトB1を表示部10に表示させた態様で表示部10の表示を更新させて(ステップS92)画像補正処理を終了する。
基準方向F1と傾斜方向F3との角度(θ)を検出すると(ステップS75)、当該書込オブジェクトB1が直線オブジェクトB2であると判別されたか否かを判定し(ステップS77)、直線オブジェクトB2であると判定した場合(ステップS77でYES)、情報処理装置2は、直線オブジェクトB2の長さ(L)を検出する(ステップS79)。そして、直線オブジェクトB2の長さ(L)が予め設定される所定値(L1)以上であるか否かを判定し(ステップS81)、直線オブジェクトB2の長さ(L)が所定値(L1)以上である場合(ステップS81でYES)、情報処理装置2は、基準方向F1と傾斜方向F3との角度(θ)が所定値α1以下であるか否かを判定する(ステップS83)。他方、直線オブジェクトB2の長さ(L)が所定値(L1)より小さい値である場合(ステップS81でNO)、情報処理装置2は、基準方向F1と傾斜方向F3との角度(θ)が、α1より大きいα2以下であるか否かを判定する(ステップS85)。これは、短い直線オブジェクトB2の方が、基準方向F1に対して大きな角度で傾斜することがあるので、所定値(L1)未満の直線オブジェクトB2については、所定値(L1)以上である場合に比べ、基準方向F1と傾斜方向F3との角度(θ)がより大きいα2以下であることを条件として画像の補正を行うとしたものである。
ステップS83で角度(θ)がα1未満である場合(ステップS83でYES)、或いは、ステップS85で角度(θ)がα1より大きいα2より小さい場合、画像の補正を行う。他方、ステップS83で角度(θ)がα1以上である場合(ステップS83でNO)、或いは、ステップS85で角度(θ)がα2以上である場合(ステップS85でNO)、補正を行わない。ステップS83で角度(θ)がα1以下である場合(ステップS83でYES)、又はステップS85で角度(θ)がα2以下である場合(ステップS85でYES)には、情報処理装置2は次に、画像A1の補正を行うか否かを判定する(ステップS87)。画像A1の補正を行う場合には(ステップS87でYES)画像A1の補正を行い(ステップS89)、画像A1の補正を行わない場合には(ステップS87でNO)ステップS89をスキップする。
次に、書込オブジェクトB1の補正を行う書込オブジェクト補正処理(ステップS90)を実行する。書込オブジェクト補正処理(ステップS90)の具体的な処理手順については後述する。最後に、表示部10に表示されている画像A1及び書込オブジェクトB1の表示を更新させて(ステップS92)画像補正処理を終了する。
図17は、書込オブジェクト補正処理(図16のステップS90)の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置2は、オブジェクト検出処理(図15)における判別内容に基づき、書込オブジェクトB1が直線オブジェクトB2であるか否かを判定する(ステップS101)。直線オブジェクトB2である場合(ステップS101でYES)、直線オブジェクト補正処理(ステップS103)を実行する。直線オブジェクト補正処理(ステップS103)の具体的な処理手順については後述する。
直線オブジェクトB2でないと判定した場合(ステップS101でNO)、情報処理装置2はさらに、書込オブジェクトB1が二重線オブジェクトB6と判別されたか否かを判定する(ステップS105)。二重線オブジェクトB6であると判定した場合(ステップS105でYES)、二重線オブジェクト補正処理(ステップS107)を実行する。他方、二重線オブジェクトB6でないと判定した場合(ステップS105でNO)、囲み枠オブジェクト補正処理(ステップS109)を実行する。二重線オブジェクト補正処理(ステップS107)及び囲み枠オブジェクト補正処理(ステップS109)の具体的な処理手順については、それぞれ後述する。そして、直線オブジェクト補正処理(ステップS103)、二重線オブジェクト補正処理(ステップS107)又は囲み枠オブジェクト補正処理(ステップS109)を実行すると、書込オブジェクト補正処理を終了する。
図18は、直線オブジェクト補正処理(図17のステップS103)の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置2は、直線オブジェクトB2の端点間を結ぶ線分に補正する(ステップS121)。次に、端点間を結ぶ線分に補正された直線オブジェクトB2を、基準方向F1と平行になるように回転させる(ステップS123)。
情報処理装置2は、補正前の直線オブジェクトB2の文字列に対する位置を検出し(ステップS125)、文字列中心線より補正前の直線オブジェクトB2が上方にあったか否かを判定する(ステップS127)。文字列中心線より補正前の直線オブジェクトB2が上方にあったと判定した場合(ステップS127でYES)、直線オブジェクトB2を文字列中心線上に重なるよう平行移動させる(ステップS129)。他方、文字列中心線より補正前の直線オブジェクトB2が下方にあったと判定した場合(ステップS127でNO)、文字列下端近傍の所定位置に直線オブジェクトB2を平行させる(ステップS130)。
さらに、情報処理装置2は、基準検出処理(図14)において文字列に区切り位置が検出されたか否かを判定し(ステップS131)、文字列に区切り位置がある場合(ステップS131でYES)、補正前の直線オブジェクトB2の位置に応じた区切点を抽出する(ステップS133)。そして、抽出された区切点から直線オブジェクトB2の端点が所定範囲内にあるか否かを判定し(ステップS135)、所定範囲内にあると判定した場合(ステップS135でYES)、端点を区切点に一致させて(ステップS137)直線オブジェクト補正処理を終了する。なお、ステップS131において文字列に区切り位置がない場合(ステップS131でNO)、ステップS133乃至S137の処理をスキップして直線オブジェクト補正処理を終了する。
図19は、直線オブジェクト補正処理(図18)が実行される場合における直線オブジェクトB2の補正の態様の一例を示す図である。図19(a)に示すように直線オブジェクトB2が端点間を最短で結ぶ線分でない場合に、図19(b)のように2つの端点を最短で結ぶ線分に補正する。次に、線分に補正された状態の直線オブジェクトB2を、例えば図19(c)に示すように、一の端点を軸に基準方向F1に対し平行になるように回転させる。
基準方向F1に対し平行になるよう回転させると、図例のように直線オブジェクトB2が文字列に対して重なって表示されることがある。図19(a)に示すように当該直線オブジェクトB2は文字列中心線より下方に付加されていることから、文字列に対する下線である。そこで、図19(d)に示すように直線オブジェクトB2が文字列下端近傍の所定位置に表示されるように、基準方向F1に対する垂直方向に直線オブジェクトB2を移動させる。これにより、文字列に対する下線であることが明らかになる。
そして、図19(d)では文字列における区切り位置が検出されている。そこで、文字列下端における区切点が抽出され、図例では、抽出された区切点のうち、区切点h1を含む領域R1と区切点h2を含む領域R3のそれぞれに、直線オブジェクトB2の端点がある。そこで、図19(e)に示すように、情報処理装置2は、これらの端点を各々区切点h1とh2に一致させる。これにより、下線が付加された語を的確に示すことが可能となる。
図20は、二重線オブジェクト補正処理(図17のステップS107)の具体的な処理手順の一例を示すフローチャートである。まず、情報処理装置2は、二重線オブジェクトB6の傾斜方向F3における長さL2を検出する(ステップS141)。傾斜方向F3における長さL2を検出すると、二重線オブジェクトB6を、一の端点を始点とする傾斜方向F3に長さL2の二重線に補正する(ステップS143)。二重線を構成する2つの線分は、予め設定されている所定の幅を有する。
次に、補正された二重線オブジェクトB6を、基準方向F1と平行になるように回転させる(ステップS145)。そして、補正前の二重線オブジェクトB6の文字列に対する一を検出し(ステップS147)、補正前の二重線オブジェクトB6の少なくとも一の線が文字列中心線より上方の位置にあったか否かを判定する(ステップS149)。少なくとも一の線が文字列中心線より上方にあった場合(ステップS149でYES)、情報処理装置2は、二重線オブジェクトB6の2つの線分が文字列中心線を挟む位置に、二重線オブジェクトB6を平行移動させて(ステップS151)二重線オブジェクト補正処理を終了する。少なくとも一の線が文字列中心線より上方にあった場合、当該二重線オブジェクトB6は文字列に含まれる語に対する二重取消線としてユーザーにより付加されたと考えられるため、ステップS151の処理を行うのである。他方、二重線オブジェクトB6のいずれの線も文字列中心線より下方にあった場合(ステップS149でNO)、当該二重線オブジェクトB6は、ユーザーにより二重下線として文字列に付加されたと考えられることから、情報処理装置2は、二重線オブジェクトB6を文字列下端近傍の所定位置に移動させて(ステップS153)二重線オブジェクト補正処理を終了する。
図21は、二重線オブジェクト補正処理(図20)が行われる場合における二重線オブジェクトB6の補正態様の一例を示す図である。図21(a)に示すように、補正前の二重線オブジェクトB6は、いずれの線も文字列中心線より下方に表示されている。情報処理装置2は、まず二重線オブジェクトB6の傾斜方向F3における長さL2を検出する。長さL2を検出すると、次に図21(b)に示すように、補正前の二重線オブジェクトB6を、端点T1を始点として傾斜方向F3に長さL2の二重線に補正する。二重線を構成する線分間は予め設定される距離を有する。
次に、図21(c)のように、二重線オブジェクトB6を、例えば端点T1を軸に基準方向F1に平行になるように回転させる。これにより、二重線オブジェクトB6が文字列に対して平行に表示される。最後に、図21(d)に示すように、二重線オブジェクトB6を基準方向F1に対して直角方向に移動させて、文字列下端近傍の所定位置に配置する。これにより、文字列に含まれる語に対する二重下線であることが明らかになる。
図22は、囲み枠オブジェクト補正処理(図19のステップS109)の具体的な処理手順の一例を示すフローチャートである。情報処理装置2は、囲み枠オブジェクトB8の傾斜方向F3における長さL3を検出し(ステップS161)、次に、傾斜方向F3に対する直角方向における長さL4を検出する(ステップS163)。傾斜方向F3における長さL3と傾斜方向F3に対する直角方向における長さL4が検出されると、情報処理装置2は、囲み枠オブジェクトB8を、4辺の長さがL3とL4とからなる矩形に補正する(ステップS165)。
情報処理装置2は、補正された囲み枠オブジェクトB8の4辺のうち、傾斜方向F3の辺が基準方向F1に対して平行になるように、囲み枠オブジェクトB8を回転させる(ステップS167)。最後に、囲み枠オブジェクトB8を基準方向F1に対して垂直方向に移動させ、基準方向F1と平行な辺のうち下方の辺が文字列下端近傍の所定位置に配置されるようにして(ステップS169)囲み枠オブジェクト補正処理を終了する。
図23は、囲み枠オブジェクト補正処理(図22)が実行される場合における囲み枠オブジェクトB8の補正態様の一例を示す図である。まず、情報処理装置2は図23(a)に示すように、囲み枠オブジェクトB8の傾斜方向F3における長さL3と、傾斜方向F3に対する直角方向における長さL4を検出する。長さL3は、例えば囲み枠オブジェクトB8の傾斜方向F3における最大幅であり、長さL4は、例えば傾斜方向F3に対する直角方向における最大高さである。長さL3とL4が検出されると、図23(b)に示すように補正前の囲み枠オブジェクトB8を4辺がL3とL4からなる矩形に補正する。また、図23(b)のように長さL3の辺が傾斜方向F3に対して平行である。
次に、図23(c)に示すように、情報処理装置2は、補正後の囲み枠オブジェクトB8の一の頂点を軸に、囲み枠オブジェクトB8の長さL3の辺が基準方向F1に対して平行になるように回転させる。最後に、長さL3の辺のうち、基準方向F1に対して下方の辺が文字列下端辺近傍の所定位置に表示されるように囲み枠オブジェクトB8を基準方向F1に対し垂直方向に移動させる。これにより、囲み枠オブジェクトB8が文字列に含まれる語を囲む書込オブジェクトB1であることが明らかになる。
(変形例)
以上、本発明に関する実施形態について説明したが、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
例えば上記実施形態では、画像A1内に文字列が検出された場合に基準方向F1を検出する処理を行う場合を示した。しかし、これに限られず、情報処理装置2は画像A1内に例えば罫線が検出された場合に基準方向F1を検出する処理を行ってもよい。この場合、情報処理装置2は、予め定められた設定に基づいて基準方向F1を検知する。例えば、当該画像A1が表示されるページP1の一端辺に対する傾斜が比較的小さい罫線に基づいて基準方向F1を検出してもよい。
1 情報処理システム
2 情報処理装置
10 表示部(表示手段)
22 文字列検出部(文字列検出手段)
24 基準検出部(基準検出手段)
26 表示制御部(表示制御手段)
28 操作検知部(受付手段)
30 オブジェクト生成部(生成手段)
32 オブジェクト判別部(判別手段)
34 傾斜検出部(傾斜検出手段)
52 オブジェクト補正部(補正手段)
54 ドキュメント補正部(画像補正手段)
F1 基準方向
F3 傾斜方向
B1 書込オブジェクト(書き込みオブジェクト)
B2 直線オブジェクト(線状オブジェクト)
D1 ドキュメントデータ
A1 画像

Claims (22)

  1. 所定の表示手段に画像を表示可能な情報処理装置であって、
    前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、
    前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、
    前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、
    前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、
    前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、
    前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段と、
    を備えることを特徴とする情報処理装置。
  2. 所定の表示手段に画像を表示可能な情報処理装置であって、
    前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段と、
    前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段と、
    前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段と、
    前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段と、
    前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段と、
    前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段と、
    を備え
    前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、
    前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第1範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第1範囲を含む第2範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とする情報処理装置。
  3. 前記書き込みオブジェクトの種類を判別する判別手段、
    をさらに備え、
    前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、
    前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする請求項に記載の情報処理装置。
  5. 記文字列を解析して前記文字列における所定の区切り位置を検出する区切り検出手段、
    をさらに備え、
    前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする請求項乃至のいずれかに記載の情報処理装置。
  6. 前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、
    前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする請求項に記載の情報処理装置。
  7. 前記補正手段は、前記書き込みオブジェクトが2つの端点を有する場合に、当該書き込みオブジェクトを前記2つの端点を結ぶ線分に補正することを特徴とする請求項乃至のいずれかに記載の情報処理装置。
  8. 前記補正手段は、前記書き込みオブジェクトが前記2つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする請求項に記載の情報処理装置。
  9. 前記画像は、ドキュメントを構成するページ内に配置され、
    記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段、
    をさらに備えることを特徴とする請求項乃至のいずれかに記載の情報処理装置。
  10. 前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする請求項1乃至のいずれかに記載の情報処理装置。
  11. 前記画像は、スキャン機能により生成された画像であることを特徴とする請求項1乃至10のいずれかに記載の情報処理装置。
  12. 所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、
    前記情報処理装置を、
    前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、
    前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、
    前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、
    前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、
    前記傾斜検出手段により検出された前記傾斜方向と前記基準方向との角度の差分がユーザーによって予め設定された範囲内である場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、
    前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、
    として機能させることを特徴とするプログラム。
  13. 所定の表示手段に画像を表示可能な情報処理装置において実行されるプログラムであって、
    前記情報処理装置を、
    前記表示手段に画像が表示されている状態で、ユーザーによる操作に応じて当該画像に対する書き込み入力を受け付ける受付手段、
    前記受付手段に受け付けられた書き込み入力に応じて、書き込みオブジェクトを生成し、当該書き込みオブジェクトを前記画像に付加する生成手段、
    前記画像において前記書き込みオブジェクトの近傍に位置する文字列を検出し、当該文字列の配列方向に基づいて前記画像の基準方向を検出する基準検出手段、
    前記画像に付加された前記書き込みオブジェクトの傾斜方向を検出する傾斜検出手段、
    前記傾斜検出手段により検出された前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトを補正する補正手段、および、
    前記画像に付加されている前記書き込みオブジェクトを、前記補正手段によって補正された書き込みオブジェクトで更新する表示制御手段、
    として機能させ
    前記書き込みオブジェクトは、ユーザーによる操作に応じて書き込み入力された線により構成される線状オブジェクトを含んでおり、
    前記補正手段は、前記書き込みオブジェクトが前記線状オブジェクトである場合に、前記線状オブジェクトの前記基準方向における長さが所定値以上であるとき、前記傾斜方向と前記基準方向との差分が第1範囲内にあることを条件として、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うと共に、前記線状オブジェクトの前記基準方向における長さが所定値未満であるとき、前記傾斜方向と前記基準方向との差分が前記第1範囲を含む第2範囲内にある場合に、前記傾斜方向が前記基準方向と平行な状態となるように前記書き込みオブジェクトの補正を行うことを特徴とするプログラム。
  14. 前記情報処理装置を、
    前記書き込みオブジェクトの種類を判別する判別手段、
    としてさらに機能させ、
    前記補正手段は、前記判別手段により判別された前記書き込みオブジェクトの種類に応じて、当該書き込みオブジェクトの補正を行うことを特徴とする請求項12又は13に記載のプログラム。
  15. 前記判別手段は、前記画像に含まれる前記文字列に対する前記書き込みオブジェクトの位置に基づいて、当該書き込みオブジェクトが前記文字列に対して付加される所定のオブジェクトであるか否かを判別し、
    前記補正手段は、前記判別手段により前記書き込みオブジェクトが前記所定のオブジェクトであると判別された場合に、前記文字列に対して予め設定される位置に当該書き込みオブジェクトを配置することを特徴とする請求項14に記載のプログラム。
  16. 前記情報処理装置を、
    記文字列を解析して、前記文字列における所定の区切り位置を検出する区切り検出手段、
    としてさらに機能させ、
    前記補正手段は、前記書き込みオブジェクトの端点が前記区切り位置を含む所定範囲内にある場合に、当該端点を前記区切り位置に一致させることを特徴とする請求項12乃至15のいずれかに記載のプログラム。
  17. 前記区切り検出手段は、前記文字列における単語の区切り位置を検出し、
    前記補正手段は、前記区切り検出手段により検出された単語の区切り位置を含む所定範囲内に前記書き込みオブジェクトの端点がある場合に、当該端点を前記単語の区切り位置に一致させることを特徴とする請求項16に記載のプログラム。
  18. 前記補正手段は、前記書き込みオブジェクトが2つの端点を有する場合に、当該書き込みオブジェクトを前記2つの端点を結ぶ線分に補正することを特徴とする請求項12乃至17のいずれかに記載のプログラム。
  19. 前記補正手段は、前記書き込みオブジェクトが前記2つの端点を結ぶ線分を含む所定範囲内にあることを条件として、当該書き込みオブジェクトを前記線分に補正することを特徴とする請求項18に記載のプログラム。
  20. 前記画像は、ドキュメントを構成するページ内に配置され、
    前記情報処理装置を、
    記文字列を含む前記画像を、前記ページの一の端辺と平行になるように補正する画像補正手段、
    としてさらに機能させることを特徴とする請求項12乃至19のいずれかに記載のプログラム。
  21. 前記基準検出手段は、複数のページからなるドキュメント内に画像が含まれる場合に、各ページに含まれる画像に基づいて、ページ毎に前記基準方向を検出することを特徴とする請求項12乃至20のいずれかに記載のプログラム。
  22. 前記画像は、スキャン機能により生成された画像であることを特徴とする請求項12乃至21のいずれかに記載のプログラム。
JP2016104833A 2016-05-26 2016-05-26 情報処理装置及びプログラム Active JP6805552B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016104833A JP6805552B2 (ja) 2016-05-26 2016-05-26 情報処理装置及びプログラム
US15/601,359 US10657309B2 (en) 2016-05-26 2017-05-22 Information processing apparatus capable of correcting a written object on the basis of a detected reference direction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016104833A JP6805552B2 (ja) 2016-05-26 2016-05-26 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2017211847A JP2017211847A (ja) 2017-11-30
JP6805552B2 true JP6805552B2 (ja) 2020-12-23

Family

ID=60418644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016104833A Active JP6805552B2 (ja) 2016-05-26 2016-05-26 情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US10657309B2 (ja)
JP (1) JP6805552B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089803A (zh) * 2017-12-19 2018-05-29 广东小天才科技有限公司 一种截屏信息获取方法及装置
KR102608953B1 (ko) * 2018-09-06 2023-12-04 삼성전자주식회사 전자 장치 및 그의 제어방법

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191438A (en) * 1989-12-12 1993-03-02 Sharp Kabushiki Kaisha Facsimile device with skew correction and text line direction detection
JP3320759B2 (ja) * 1991-12-26 2002-09-03 株式会社東芝 文書画像傾き検出装置およびその方法
JPH06242885A (ja) * 1993-02-16 1994-09-02 Hitachi Ltd 文書編集方法
US7203903B1 (en) * 1993-05-20 2007-04-10 Microsoft Corporation System and methods for spacing, storing and recognizing electronic representations of handwriting, printing and drawings
JP3876531B2 (ja) * 1998-05-28 2007-01-31 富士通株式会社 文書画像の傾き補正方法
JP3795238B2 (ja) * 1998-10-01 2006-07-12 シャープ株式会社 文書画像処理装置及び文書画像処理方法
US6256009B1 (en) * 1999-02-24 2001-07-03 Microsoft Corporation Method for automatically and intelligently scrolling handwritten input
JP2001282785A (ja) * 2000-03-30 2001-10-12 Sharp Corp 文書画像処理装置およびそのための方法、ならびに文書画像処理プログラムを記録したコンピュータで読取可能な記録媒体
US20030071850A1 (en) * 2001-10-12 2003-04-17 Microsoft Corporation In-place adaptive handwriting input method and system
US7120872B2 (en) * 2002-03-25 2006-10-10 Microsoft Corporation Organizing, editing, and rendering digital ink
US7050632B2 (en) * 2002-05-14 2006-05-23 Microsoft Corporation Handwriting layout analysis of freeform digital ink input
US6983084B2 (en) * 2002-05-17 2006-01-03 Hewlett-Packard Development Company, Lp. Method of aligning page images
US7068855B2 (en) * 2002-07-16 2006-06-27 Hewlett-Packard Development Company, L.P. System and method for manipulating a skewed digital image
US7137076B2 (en) * 2002-07-30 2006-11-14 Microsoft Corporation Correcting recognition results associated with user input
US7133031B2 (en) * 2002-10-31 2006-11-07 Microsoft Corporation Optical system design for a universal computing device
TWI224288B (en) * 2003-01-29 2004-11-21 Ind Tech Res Inst Method for aligning gesture feature of image
AU2003900865A0 (en) * 2003-02-26 2003-03-13 Silverbrook Research Pty Ltd Methods, systems and apparatus (NPW010)
KR100977713B1 (ko) * 2003-03-15 2010-08-24 삼성전자주식회사 영상신호의 글자 인식을 위한 전처리 장치 및 방법
JP4356368B2 (ja) 2003-06-17 2009-11-04 富士ゼロックス株式会社 文書画像傾き検知方法、文書画像傾き補正方法、文書画像傾き検知装置、及び文書画像傾き補正装置
US20060085740A1 (en) * 2004-10-20 2006-04-20 Microsoft Corporation Parsing hierarchical lists and outlines
US7679625B1 (en) * 2005-01-07 2010-03-16 Apple, Inc. Straightening digital images
JP4712613B2 (ja) * 2006-05-25 2011-06-29 富士通株式会社 情報処理装置、情報処理方法およびプログラム
US7945097B2 (en) * 2007-05-21 2011-05-17 Microsoft Corporation Classifying digital ink into a writing or a drawing
US8549399B2 (en) * 2011-01-18 2013-10-01 Apple Inc. Identifying a selection of content in a structured document
US20120212423A1 (en) * 2011-02-21 2012-08-23 King Fahd University Of Petroleum And Minerals Electronic note-taking system and method
US9158455B2 (en) * 2011-07-12 2015-10-13 Apple Inc. Multifunctional environment for image cropping
EP2770443B1 (en) * 2013-02-22 2023-10-18 Samsung Electronics Co., Ltd. Method and apparatus for making contents through writing input on touch screen
JP6160140B2 (ja) * 2013-03-13 2017-07-12 株式会社リコー 画像処理装置、画像処理システムおよびプログラム
JP6070449B2 (ja) * 2013-07-08 2017-02-01 富士ゼロックス株式会社 傾斜角度補正装置、画像読取装置、画像形成装置およびプログラム
KR20150009199A (ko) * 2013-07-16 2015-01-26 삼성전자주식회사 객체 편집을 위한 전자 장치 및 방법
US9600101B2 (en) * 2014-03-31 2017-03-21 Smart Technologies Ulc Interactive input system, interactive board therefor and methods
US11402991B2 (en) * 2015-12-01 2022-08-02 Myscript System and method for note taking with gestures

Also Published As

Publication number Publication date
JP2017211847A (ja) 2017-11-30
US10657309B2 (en) 2020-05-19
US20170344517A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
US20210209359A1 (en) Image processing apparatus, control method for image processing apparatus, and non-transitory storage medium
JP5349893B2 (ja) 情報処理装置及び情報処理装置の制御方法
US8676747B2 (en) Document management apparatus, document management method, and computer-readable non-transitory storage medium storing document management program
JP2017069599A (ja) 画像処理装置及びプログラム
WO2016121310A1 (en) Image processing device and electronic whiteboard
JP6805552B2 (ja) 情報処理装置及びプログラム
US20130082949A1 (en) Method of directly inputting a figure on an electronic document
JP2010122987A (ja) オブジェクト処理装置、その処理方法及びプログラム
JP2018025885A (ja) 画像処理装置
JP2016024488A (ja) 画像処理装置および画像処理装置の制御方法
US9189461B2 (en) Page frame and page coordinate determination method and system based on sequential regularities
US11620844B2 (en) Image processing apparatus, control method of image processing apparatus, and storage medium
WO2016170691A1 (ja) 入力処理プログラム、入力処理装置、入力処理方法、文字特定プログラム、文字特定装置、及び文字特定方法
JP5208540B2 (ja) 画像ファイル振分方法、画像ファイル振分装置、および、プログラム
JP2020194542A (ja) 表示装置、プログラム、表示方法
JP7023743B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2020087112A (ja) 帳票処理装置および帳票処理方法
JP2019149073A (ja) 情報処理装置
US9215339B2 (en) Data processing apparatus, data processing method, and image processing apparatus
KR102087208B1 (ko) 니모닉 기반의 gui 테스트 자동화 방법 및 이를 이용하는 장치
JP2017072941A (ja) 文書振り分けシステム、情報処理方法及びプログラム
JP2021064123A (ja) データ入力支援システム、データ入力支援方法、及びプログラム
JP5612975B2 (ja) セリフデータ生成装置、セリフデータ生成方法、及びプログラム
JP2021068306A (ja) 情報処理装置およびプログラム
JP6458358B2 (ja) 画像処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200728

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: 20201104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201117

R150 Certificate of patent or registration of utility model

Ref document number: 6805552

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150