画像処理装置、画像処理方法および画像処理プログラム
【課題】 画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすること。
【解決手段】 MFPは、画像データを取得する画像データ取得部(S01)と、取得された画像データから文字が表された文字領域を抽出する文字領域抽出部(S03)と、抽出された文字領域中で所定の範囲内の傾きを有する線分を除く特定線をベクタデータに変換するベクタ部分変換部(S05)と、画像データを低い解像度の縮小画像データに変換する縮小部(S08)と、縮小画像データとベクタデータとの組を出力する出力部(S09)と、を備える。
【解決手段】 MFPは、画像データを取得する画像データ取得部(S01)と、取得された画像データから文字が表された文字領域を抽出する文字領域抽出部(S03)と、抽出された文字領域中で所定の範囲内の傾きを有する線分を除く特定線をベクタデータに変換するベクタ部分変換部(S05)と、画像データを低い解像度の縮小画像データに変換する縮小部(S08)と、縮小画像データとベクタデータとの組を出力する出力部(S09)と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特に文字を含む画像の圧縮または伸張に適した画像処理装置、その画像処理装置で実行される画像処理方法および画像処理プログラムに関する。
【背景技術】
【0002】
文字の画像が縮小されることによって、文字の形状の一部が失われるので、縮小された画像を拡大した場合には、特定線部分にいわゆるジャギーと呼ばれるギザギザ状のノイズが発生する。このため、画像中の文字をベクトルで表現する技術が知られている。例えば、特開平11−85129号公報には、複数の文字の基本文字構成要素(ストロークボディ)および局部輪郭(ストロークヘッド、テイル)をベクトル形式で記憶し、組合わせることにより、ストロークを構成し、該ストロークをストローク合成情報によって配置することにより所望の文字パターンを発生する文字発生装置が記載されている。
【0003】
しかしながら、従来の文字発生装置によれば、画像中の文字のすべてをベクトル形式のストロークで表現するので、データ量が多くなる場合があるといった問題がる。
【特許文献1】特開平11−85129号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
この発明は上述した問題を解決するためになされたもので、この発明の目的の1つは、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理装置、画像処理システム、画像処理方法および画像処理プログラムを提供することである。
【0005】
この発明の他の目的は、画像データ中の文字の輪郭に発生するノイズを低減することが可能な画像処理装置、画像処理システム、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【0006】
この発明は上述した問題を解決するためになされたもので、この発明のある局面によれば、画像処理装置は、画像データを取得する画像データ取得手段と、取得された画像データから文字が表された文字領域を抽出する文字領域抽出手段と、抽出された文字領域中で所定の範囲内の傾きを有する線分を除く特定線をベクタデータに変換するベクタ部分変換手段と、画像データを、画像データの解像度よりも低い解像度の縮小画像データに変換する縮小手段と、縮小画像データとベクタデータとの組を出力する出力手段と、を備える。
【0007】
この局面に従えば、画像データの特定線がベクタデータに変換され、画像データを解像度が低い縮小画像データに変換され、縮小画像データとベクタデータとの組が出力される。このため、画像データを縮小することにより失われる文字の形状をベクタデータに含めることができる。また、文字のすべての線をベクタデータに変換しないので、ベクタデータのデータ量をできるだけ小さくすることができる。その結果、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理装置を提供することができる。
【0008】
好ましくは、画像データまたは縮小画像データから抽出された文字領域中の特定線を消去する消去手段をさらに備える。
【0009】
この局面によれば、画像データを縮小した縮小画像データのデータ量をさらに小さくすることができる。
【0010】
好ましくは、消去手段は、文字領域中の特定線のうち別の直線と連結する箇所から所定の長さの部分は消去しない。
【0011】
この局面に従えば、特定線と直線とが連結する情報を保持することができる。
【0012】
好ましくは、ベクタ部分変換手段は、文字領域中の特定線のうち別の直線と連結する特定線は、別の直線と連結する側を所定の長さ延長した特定線としてベクタデータに変換する延長手段を含む。
【0013】
この局面に従えば、特定線と直線とが連結する情報を保持することができる。
【0014】
好ましくは、画像データまたは縮小画像データに含まれる文字領域中の特定線を細くする細線化手段をさらに備える。
【0015】
この局面に従えば、特定線と直線とが連結する情報を保持することができる。
【0016】
好ましくは、画像データまたは縮小画像データに含まれる文字領域中の特定線を太くする太線化手段をさらに備える。
【0017】
この局面に従えば、特定線が有する色の情報を保持することができる。
【0018】
好ましくは、ベクタ部分変換手段は、文字領域中の特定線を抽出する特定線抽出手段を含む。
【0019】
好ましくは、ベクタ部分変換手段は、文字領域中の線の全てをベクタデータに変換する全体変換手段と、変換されたベクタデータのうちから所定の範囲内の傾きを有する直線のベクタデータを除去する除去手段と、を含む。
【0020】
好ましくは、取得された画像データからエッジ画像を生成するエッジ画像生成手段を、さらに備え、ベクタ部分変換手段は、エッジ画像から抽出された文字領域中の特定線をベクタデータに変換する。
【0021】
この発明の他の局面によれば、画像処理装置は、画像データと、画像データと組みになり、画像データの文字領域中の特定線のみを含むベクタデータとを取得するデータ取得手段と、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、拡大画像データのマスク画像からはみ出す部分を下地に変換する補正手段と、を備える。
【0022】
この局面に従えば、画像データが高解像度の拡大画像データに変換され、ベクタデータを拡大画像データの解像度で展開したマスク画像が生成され、拡大画像データのマスク画像からはみ出す部分が下地に変換される。このため、画像データ中の文字の輪郭に発生するノイズを低減することが可能な画像処理装置を提供することができる。
【0023】
この発明のさらに他の局面によれば、画像形成システムは、上記の画像処理装置を第1の画像形成装置として含み、第1の画像処理装置が出力する縮小画像データとベクタデータとの組が入力される入力手段と、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、ベクタデータを、拡大画像データの解像度で展開した特定線画像を生成する展開手段と、拡大画像データと特定線画像とを合成する合成手段と、を備える。
【0024】
この局面に従えば、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理システムを提供することができる。
【0025】
この発明のさらに他の局面によれば、画像処理システムは、上記の画像処理装置を第1の画像形成装置として含み、第1の画像処理装置が出力する縮小画像データとベクタデータとの組が入力される入力手段と、縮小画像データを縮小画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、拡大画像データのマスク画像からはみ出す部分を下地に変換する補正手段と、を備えた第2の画像処理装置と、を含む。
【0026】
この局面に従えば、画像データ中の特定線の輪郭に発生するノイズを低減することが可能な画像処理システムを提供することができる。
【0027】
この発明のさらに他の局面によれば、画像処理方法は、画像データを取得するステップと、取得された画像データから文字が表された文字領域を抽出するステップと、抽出された文字領域中で所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、画像データを、画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、縮小画像データとベクタデータとの組を出力するステップと、を含む。
【0028】
この局面に従えば、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理方法を提供することができる。
【0029】
この発明のさらに他の局面によれば、画像処理方法は、画像データと、画像データと組みになり、画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するステップと、拡大画像データのマスク画像からはみ出す部分を下地に変換するステップと、を含む。
【0030】
この局面に従えば、画像データ中の特定線の輪郭に発生するノイズを低減することが可能な画像処理方法を提供することができる。
【0031】
この発明のさらに他の局面によれば、画像処理プログラムは、画像データを取得するステップと、取得された画像データから文字が表された文字領域を抽出するステップと、抽出された文字領域中の所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、画像データを、画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、縮小画像データとベクタデータとの組を出力するステップと、をコンピュータに実行させる。
【0032】
この局面に従えば、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理プログラムを提供することができる。
【0033】
この発明のさらに他の局面によれば、画像処理プログラムは、画像データと、画像データと組みになり、画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するステップと、拡大画像データのマスク画像からはみ出す部分を下地に変換するステップと、コンピュータに実行させる。
【0034】
この局面に従えば、画像データ中の特定線の輪郭に発生するノイズを低減することが可能な画像処理プログラムを提供することができる。
【図面の簡単な説明】
【0035】
【図1】本発明の実施の形態における画像処理システムの全体概要を示す図である。
【図2】MFPのハードウエア構成の一例を示すブロック図である。
【図3】文字の画像を縮小および拡大したときに発生するノイズを説明するための図である。
【図4】MFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。
【図5】ベクタ部分変換部の詳細な機能の一例を示す図である。
【図6】特定線が部分的に消去された文字画像およびベクタデータ一例を示す図である。
【図7】不具合を説明するための図である。
【図8】画像圧縮処理の流れの一例を示す第1のフローチャートである。
【図9】ベクタ部分変換処理の流れの一例を示す第1のフローチャートである。
【図10】特定線部分消去処理の流れの一例を示す第1のフローチャートである。
【図11】変形例におけるベクタ部分変換部の機能の一例を示す図である。
【図12】変形例におけるベクタ部分変換処理の流れの一例を示す第2のフローチャートである。
【図13】MFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。
【図14】画像伸張処理の流れの一例を示すフローチャートである。
【図15】MFPが備えるCPUの第1の変形例における画像圧縮機能の概要の一例を示すブロック図である。
【図16】特定線の全部が消去された文字画像およびベクタデータ一例を示す第1の図である。
【図17】画像圧縮処理の流れの一例を示す第2のフローチャートである。
【図18】延長処理の流れの一例を示すフローチャートである。
【図19】特定線全部消去処理の流れの一例を示すフローチャートである。
【図20】MFPが備えるCPUの第2の変形例における画像圧縮機能の概要の一例を示すブロック図である。
【図21】画像圧縮処理の流れの一例を示す第3のフローチャートである。
【図22】第2の実施の形態におけるMFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。
【図23】画像圧縮処理の流れの一例を示す第4のフローチャートである。
【図24】第2の実施の形態におけるMFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。
【図25】(A)は拡大画像データ中の文字画像の一例を示す図であり、(B)は拡大画像データ中の文字画像とマスク画像との一例を示す図である。
【図26】第2の実施の形態における画像伸張処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0036】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【0037】
図1は、本発明の実施の形態における画像処理システムの全体概要を示す図である。図1を参照して、画像処理システム1は、それぞれがネットワーク3に接続された複合機(Multi Function Peripheral)(以下、「MFP」という)100,100Aと、パーソナルコンピュータ(PC)200と、ファイルサーバ311と、インターネット5に接続された電子メールサーバ313と、を含む。
【0038】
MFP100,100Aは、画像処理装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。PC300、ファイルサーバ311および電子メールサーバ313は、一般的なコンピュータであり、そのハードウエア構成および機能は周知なので、ここでは説明を繰り返さない。
【0039】
ネットワーク3は、ローカルエリアネットワーク(LAN)であり、有線および無線の別を問わない。MFP100,100Aは、ネットワーク3を介して互いに通信可能であり、さらに、ネットワーク3に接続されたファイルサーバ311およびPC300、さらにインターネット5を介して接続された電子メールサーバ313と通信可能である。なお、ネットワーク3は、LANに限らず、インターネット、ワイドエリアネットワーク(WAN)または公衆交換電話網等であってもよい。
【0040】
ファイルサーバ311は、MFP100,100AおよびPC300それぞれがアクセス可能な画像データを記憶することができる。電子メールサーバ313は、POP(Post Office Protocol)サーバおよびSMTP(Simple Mail Transfer Protocol)サーバとして機能し、電子メールの送受信を管理する。
【0041】
MFP100,100Aのハードウエア構成および機能は同じなので、ここでは、MFP100を例に説明する。図2は、MFPのハードウエア構成の一例を示すブロック図である。図2を参照して、MFP100は、メイン回路101と、自動原稿読取装置(ADF)10と、原稿読取部20と、画像形成部30と、給紙部40と、ユーザインターフェースとしての操作パネル13と、を含む。
【0042】
ADF10は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部20のプラテンガラス上に設定された所定の原稿読取位置まで搬送し、原稿読取部20により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部20は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、メモリに記憶する、または画像形成部30に出力する。
【0043】
画像形成部30は、周知の電子写真方式により画像を形成するものであって、原稿読取部20から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部40により搬送される用紙に画像を形成する。給紙部40は、給紙トレイに収納された用紙を画像形成部30に搬送する。
【0044】
メイン回路101は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electronically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、ネットワークI/F118と、CD−ROM(Compact Disk Read Only Memory)119Aが装着される外部記憶装置119と、を含む。CPU111は、ADF10、原稿読取部20、画像形成部30、給紙部40および操作パネル13と接続され、MFP100の全体を制御する。
【0045】
ROM113は、CPU111が実行するプログラム、およびそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。
【0046】
通信I/F部112は、MFP100を他の装置とシリアル通信ケーブルで接続するためのインターフェースである。なお、接続形態は、有線であっても無線であってもよい。
【0047】
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部30に出力する。画像形成部30は、ファクシミリ部117により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
【0048】
ネットワークI/F118は、MFP100をネットワーク3に接続するためのインターフェースである。CPU111は、ネットワークI/F118を介してネットワーク3に接続されたMFP100A,PC300、ファイルサーバ311、さらにインターネットに接続された電子メールサーバ313と通信可能である。
【0049】
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能であり、CD−ROM119Aに記憶されたプログラムをRAM114にロードして実行可能である。なお、CPU111が実行するプログラムは、CD−ROM119Aに記憶されたプログラムに限られず、他の記憶媒体に記憶されたプログラムでもよく、HDD116に記憶されたプログラムであってもよく、さらに、ネットワークI/F118を介してネットワーク3に接続された他のコンピュータによりHDD116に書き込みされたプログラムであってもよい。
【0050】
なお、プログラムを記憶する記憶媒体としては、CD−ROM119Aに限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)などの半導体メモリでもよい。
【0051】
ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0052】
操作パネル13は、MFP100の上面に設けられ、表示部103と、操作部105とを含む。表示部103は、液晶表示装置、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した表示データに関する情報等を表示する。操作部105は、ユーザの操作を受け付け、受け付けられた操作をCPU111に出力する。操作部105は、表示部103の上に重畳して配置されたタッチパネルを含む。タッチパネルは、透明な部材からなり、表示部103に重畳して配置される。タッチパネルは、ユーザがタッチパネルを指で触れると、触れられた位置を指示位置として検出し、CPU111に出力する。
【0053】
本実施の形態における画像処理装置としてのMFP100,100Aは、画像データを圧縮する画像圧縮機能と、画像データを伸張する画像伸張機能とを有する。本実施の形態においては、MFP100が、画像圧縮機能を実行し、MFP100Aが画像伸張機能を実行する場合を例に説明する。なお、画像圧縮機能は、MFP100に限らず、MFP100Aが実行してもよい。さらに、画像伸張機能は、MFP100Aに限らず、MFP100が実行してもよいし、PC300が実行してもよい。すなわち、画像データを圧縮する処理は、画像データが入力される入力装置で実行され、圧縮された画像データを伸張する処理は、圧縮された画像データが入力される出力装置で実行される。入力装置および出力装置となり得るのは、後述する画像処理プログラムを実行可能な装置である。
【0054】
なお、MFP100により圧縮された画像データは、MFP100が備えるHDD116に記憶されてもよいし、他の装置に送信されてもよい。MFP100が圧縮された画像データを送信する場合、その送信先は、MFP100A、ファイルサーバ311、PC300である。MFP100から他の装置、MFP100A、ファイルサーバ311およびPC300へ圧縮された画像データを送信する通信プロトコルは、ファイル転送プロトコル(FTP)などを用いることができるが、通信プロトコルはFTPに限定するものではなく、SMB(Server Message Block)等の他の通信プロトコルを用いることができる。また、圧縮された画像データを電子メールに添付して電子メールサーバ313を経由して送信するようにしてもよい。さらに、圧縮された画像データをMFP100Aに送信する場合、圧縮された画像データのフォーマットは、ラスタデータであってもよい。
【0055】
本実施の形態におけるMFP100は、原稿読取部20によって読み取られた原稿の画像データを、HDD116に記憶したり、他の装置、例えばMFP100Aに送信したりして画像データを出力する場合、画像データのデータ量を減少させるために、画像データを圧縮して出力する。画像データを圧縮する1つの方法として、画像データを解像度が低くなるように縮小する。しかしながら、画像データは縮小されることにより、画像データの一部が削除される。一方、圧縮された画像データを出力する出力装置、ここではMFP100Aにおいては、圧縮された画像データを伸張する。この場合、縮小された画像データを拡大する場合に、画像データ中で縮小時に失われた部分を正確に再現することはできない。特に、文字中の斜めの直線または曲線においては、拡大する場合に削除された部分を正確に再現することができず、輪郭が階段状の形状となり、いわゆるジャギーと呼ばれるノイズが発生する。従来の文字発生装置を用いれば、画像を縮小することによる文字画像の劣化を減少することができる。
【0056】
図3は、文字の画像を縮小および拡大したときに発生するノイズを説明するための図である。図3(A)は、文字の画像の一例を示す。ここでは、「天」の文字を示している。この文字は、直線部分と曲線部分とを有する。図3(B)は、図3(A)に示した画像を縮小した後、縮小された画像を拡大した拡大画像の一例を示す。図3(B)に示す拡大画像は、図3(A)に示した画像と比較して、曲線部分の輪郭に階段状のジャギーが発生しているのが分かる。この階段状のノイズは、文字領域中の曲線、および所定範囲内の傾きを有する線分以外の線分に表れる。所定範囲内の傾きを有する線分は、垂直に近い線分または水平に近い線分である。所定範囲内の傾きは、予め定められた値である。また、所定範囲内の傾きは、解像度および文字のサイズによって定まるようにしてもよい。以下、文字領域中の曲線、および所定範囲内の傾きを有する線分以外の線分を、特定線という。
【0057】
図4は、MFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。図4に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。画像圧縮プログラムは、画像処理プログラムの一部である。
【0058】
図4を参照して、CPU111に実現される画像圧縮機能は、画像データを取得する画像データ取得部51と、画像データからエッジ画像を生成するエッジ画像生成部53と、エッジ画像から文字が表された文字領域を抽出する文字領域抽出部55と、文字領域中の特定線をベクタデータに変換するベクタ部分変換部57と、画像データから文字領域中の特定線を消去する特定線部分消去部59と、画像データをより低い解像度の縮小画像データに変換する縮小部61と、縮小画像データとベクタデータとの組を出力する出力部63と、を含む。
【0059】
画像データ取得部51は、原稿読取部20が原稿を読み取って出力する画像データを取得する。また、画像データ取得部51は、EEPROM115またはHDD116に記憶された画像データを読み出すことにより取得する。EEPROM115またはHDD116に記憶された画像データのうち、ユーザが操作部105を操作して、指定する画像データを取得する。EEPROM115またはHDD116に記憶された画像データは、原稿読取部20が原稿を読み取って出力する画像データ、ファクシミリ部117が受信したファクシミリデータ、ネットワークI/F118がネットワーク3を介して外部から受信した画像データ、通信I/F部112が、それに接続された外部メモリから読み出した画像データを含む。画像データ取得部51は、取得された画像データを、エッジ画像生成部53および特定線部分消去部59に出力する。
【0060】
エッジ画像生成部53は、画像データ取得部51から入力される画像データを微分することによりエッジ画像を生成し、エッジ画像を文字領域抽出部55に出力する。エッジ画像生成部53は、画像データ中の画素の値を、その画素と横方向に隣接する隣接画素との差分が所定のしきい値以上の場合に「1」とし、差分が所定のしきい値より小さい場合に「0」とした、エッジ画像を生成する。エッジ画像は、画素値が「1」の画素が、文字、線または図形の輪郭を構成する。なお、エッジ画像を生成する技術は周知なので、これに限定されることなく、他の技術を用いるようにしてもよい。
【0061】
文字領域抽出部55は、エッジ画像から文字が表された文字領域を抽出する。文字領域抽出部55は、エッジ画像中で画素値が「1」の画素を複数含む矩形の領域を抽出し、その矩形の領域において、横方向の画素値の変化の周期が所定の値以下の場合に文字領域と判断する。なお、エッジ画像から文字領域を抽出する技術は周知なので、これに限定されることなく他の技術を用いるようにしてもよい。例えば、エッジ画像を用いることなく、画像データの輝度の変化の周期が所定の値以下の矩形の領域を文字領域として抽出するようにしてもよい。文字領域抽出部55は、エッジ画像中に複数の文字領域が存在する場合は、複数の文字領域を抽出する。文字領域抽出部55は、エッジ画像と、エッジ画像中の文字領域の位置をベクタ部分変換部57に出力する。ここでは、文字領域は、矩形の領域としているので、文字領域のエッジ画像中の位置は、文字領域の2つの対向する頂角の座標で示される。
【0062】
ベクタ部分変換部57は、エッジ画像の文字領域に含まれる輪郭線で特定される線のうち特定線をベクタデータに変換し、ベクタデータを特定線部分消去部59および出力部63に出力する。ベクタ部分変換部57の詳細は、後述する。ベクタ部分変換部57が出力するベクタデータは、画像データの解像度の情報を含む。
【0063】
特定線部分消去部59は、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線部分消去部59は、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の一部を画像データから消去をする。具体的には、特定線部分消去部59は、ベクタデータに基づいて特定される特定線を構成する画素の値を、画像データの下地の領域の画素の値で置き換える。特定線部分消去部59は、ベクタデータに基づいて特定される特定線の端部が、別の直線と連結する場合、連結する端部から所定の長さの非消去部分以外の部分に含まれる画素の値を、画像データの下地の領域の画素の値で置き換える。下地の領域を抽出する方法は周知の技術を用いることができる。例えば、文字領域以外の部分であって、値が同じ画素の数が最も多い画素を含む領域とすればよい。特定線部分消去部59は、特定線が消去された画像データを縮小部61に出力する。
【0064】
縮小部61は、特定線が消去された画像データを、解像度を低くした縮小画像データに変換する。縮小部61は、縮小画像データを出力部63に出力する。縮小画像データの解像度は、予め定められた解像度であってもよいし、画像データのサイズに基づき定めるようにしてもよいし、ユーザが操作部105に入力することにより設定された解像度であってもよい。
【0065】
出力部63は、縮小部61から入力される縮小画像データと、ベクタ部分変換部57から入力されるベクタデータとの組を、出力する。出力部63が縮小画像データとベクタデータとの組を出力する先は、ユーザが操作部105に入力する出力先により定まる。ユーザが、MFP100Aまたはファイルサーバ311を出力先に指定する場合は、出力部63は、縮小画像データとベクタデータとの組を、ネットワークI/F118を介してMFP100Aまたはファイルサーバ311に送信する。ユーザが、電子メールによる送信を指定する場合は、出力部63は、縮小画像データとベクタデータとの組を含み、ユーザにより指定された電子メールアドレスを宛先に設定した電子メールを生成し、生成された電子メールをネットワークI/F118を介して電子メールサーバ313に送信する。さらに、ユーザがEEPROM115またはHDD116を出力先に指定する場合は、出力部63は、縮小画像データとベクタデータとの組をEEPROM115またはHDD116に記憶する。
【0066】
縮小画像データは、画像データよりも解像度が低いので、データ量が画像データよりも小さい。また、ベクタ部分変換部57が出力するベクタデータは、画像データに含まれる文字領域中の特定線のみを変換したものなので、文字領域中の文字を構成する線のすべてを変換したベクタデータに比較して、データ量が小さい。
【0067】
なお、ベクタ部分変換部57は、ベクタデータを縮小画像データと整合させるために、縮小部61により縮小された縮小画像データの解像度に対応するサイズに変換したベクタデータを出力部63に出力するようにしてもよい。また、本実施の形態においては、ベクタ部分変換部57は、画像データ中の特定線をベクタデータに変換するようにしたが、縮小部61が画像データを縮小した縮小画像データ中に含まれる特定線をベクタデータに変換するようにしてもよい。この場合、エッジ画像生成部53は、縮小部61により縮小された縮小画像データをエッジ画像に変換し、特定線部分消去部59は、縮小画像データから特定線を消去する。
【0068】
図5は、ベクタ部分変換部の詳細な機能の一例を示す図である。図5を参照して、ベクタ部分変換部57は、エッジ画像の文字領域から特定線を抽出する特定線抽出部81と、抽出された特定線からベクタデータを生成するベクタデータ生成部83とを含む。特定線抽出部81は、エッジ画像の文字領域中に含まれる線分のうちから特定線を抽出する。具体的には、特定線抽出部81は、エッジ画像に含まれるエッジの連結方向を検出し、連結方向が、水平方向から所定の範囲内、または垂直方向から所定の範囲内のエッジを、所定の範囲内の傾きを有する線と判断する。
【0069】
より具体的には、エッジを構成する複数の画素で、隣接する2つの画素間で横方向の差分Δxおよび縦方向の差分Δyそれぞれの絶対値の累積値ΣΔx,ΣΔyを算出し、累積値ΣΔxおよび累積値ΣΔyのいずれもが所定のしきい値以上ならば、そのエッジを特定線として抽出する。累積値ΣΔxが所定のしきい値より小さければ連結方向が垂直方向から所定の範囲内のエッジと判断し、累積値ΣΔyが所定のしきい値より小さければ連結方向が水平方向から所定の範囲内のエッジと判断する。
【0070】
特定線抽出部81は、抽出された特定線をベクタデータ生成部83に出力する。ベクタデータ生成部83は、特定線抽出部81から入力される特定線をベクタデータに変換する。なお、文字領域中から特定線を抽出する方法は、上記方法に限定されるものではなく、他の方法を用いるようにしてもよい。
【0071】
図6は、特定線が部分的に消去された文字画像およびベクタデータ一例を示す図である。図6は、図3(A)に示した文字の画像から特定線が部分的に消去された文字画像およびベクタデータを示している。図6を参照して、特定線が部分的に消去された文字画像211は、文字「天」から特定線201,203の一部201A,203Aを除いた画像であり、特定線201,203のうち直線部分と連結する端部から所定の長さの非消去部分213を含む。ベクタデータ202,204は、特定線201,203からそれぞれ生成され、特定線201,203の中心線にそれぞれ沿ったベクトルの組み合わせで示され、線の太さの情報および端部の形状等の情報を含む。図6に示す特定線が部分的に消去された文字画像211と、ベクタデータ202,204とから、図3(A)に示した文字の画像を再現することができる。
【0072】
一方、図6に示した特定線が部分的に消去された文字画像211は、特定線201,203の非消去部分213を含むようにした理由は、次の不具合が発生するのを防止するためである。図6に示した特定線が部分的に消去された文字画像211が特定線201,203の非消去部分213を含まない場合、特定線が部分的に消去された文字画像211は、水平方向または垂直方向の直線部分のみで構成される。このため、特定線が部分的に消去された文字画像211を拡大した後の拡大画像と、ベクタデータ202,204を縮小画像データを拡大した後の解像度で展開した特定線とが連結されない状態になる場合がある。
【0073】
図7は、不具合を説明するための図である。図7を参照して、図6に示した特定線が部分的に消去された文字画像211を拡大した文字画像211Aと、図6に示したベクタデータ202,204を文字画像211Aの解像度で展開した線201A,203Aとを示している。領域221において、文字画像211Aと、ベクタデータ202,204を文字画像211Aの解像度で展開した線201A,203Aとが結合していない。
【0074】
図8は、画像圧縮処理の流れの一例を示す第1のフローチャートである。画像圧縮処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することによりCPU111により実行される。図8を参照して、CPU111は、画像データが入力されるまで待機状態となり(ステップS01でNO)、画像データが入力されると(ステップS01でYES)、処理をステップS02に進める。原稿読取部20が原稿を読み取って画像データを出力すると、原稿読取部20が出力する画像データが入力される。
【0075】
ステップS02においては、画像データを微分することによりエッジ画像を生成する。隣接する画素との画素値の差分が所定のしきい値以上の画素の画素値を「1」とし、差分が所定のしきい値より小さい画素の画素値を「0」とした、エッジ画像を生成する。次のステップS03においては、エッジ画像から文字領域を抽出する。1画像中で画素値が「1」の画素を複数含む矩形の領域を抽出し、その矩形の領域において、横方向または縦方向の画素値の変化の周期が短い場合に文字領域と判断する。
【0076】
次のステップS04においては、ステップS03において抽出された文字領域のうちから1つを処理対象として選択する。次のステップS05においては、ベクタ部分変換処理を実行する。ベクタ部分変換処理の詳細は後述するが、文字領域に含まれる垂直方向または水平方向の直線以外の特定線をベクタデータに変換する処理である。次のステップS06においては、特定線証協処理を実行する。特定線消去処理の詳細は後述するが、ステップS01において入力された画像データからステップS05においてベクタデータに変換された特定線を消去する処理である。
【0077】
次のステップS07においては、未だ処理対象として選択されていない文字領域が存在するか否かを判断する。未処理の文字領域が存在するならば処理をステップS04に戻し、存在しなければ処理をステップS08に進める。ステップS08においては、ステップS06において特定センター消去された画像データを縮小し、縮小画像データを生成する。画像データの解像度を低くすることにより画像データを縮小する。
【0078】
次のステップS09においては、ステップS08において生成された縮小画像データと、ステップS05において生成されたベクタデータとの組を出力し、処理を終了する。出力先は、ユーザが操作部105に入力する指示により定まる。ユーザが、MFP100Aまたはファイルサーバ311を出力先に指定する場合は、縮小画像データとベクタデータとの組を、ネットワークI/F118を介してMFP100Aまたはファイルサーバ311に送信する。また、ユーザが、電子メールによる送信を指定する場合は、縮小画像データとベクタデータとの組を含み、ユーザにより指定された電子メールアドレスを宛先に設定した電子メールを生成し、生成された電子メールをネットワークI/F118を介して電子メールサーバ313に送信する。さらに、ユーザがEEPROM115またはHDD116を出力先に指定する場合は、縮小画像データとベクタデータとの組をEEPROM115またはHDD116に記憶する。
【0079】
図9は、ベクタ部分変換処理の流れの一例を示す第1のフローチャートである。ベクタ部分変換処理は、図8のステップS05において実行される処理であり、図8のステップS02において生成されたエッジ画像中のステップS04において選択された文字領域を処理対象とする。
【0080】
図9を参照して、CPU111は、図8のステップS02において生成されたエッジ画像中から線画を選択する(ステップS11)。エッジ画像であって、図8のステップS04において選択された文字領域中から線画を選択する。線画は、エッジ画像において画像値が「1」の画素が連続する複数の画素で構成される。次のステップS12においては、ステップS11において選択された線画が水平線または垂直線か否かを判断する。選択された線画が水平線または垂直線でなければ処理をステップS13に進めるが、選択された線画が水平線または垂直線ならばステップS13をスキップして処理をステップS14に進める。
【0081】
ステップS13においては、ステップS11において選択された線画に基づいてベクタデータを生成し、処理をステップS14に進める。ステップS14においては、図8のステップS04において選択された文字領域中に含まれる線画のうちに、処理対象とされていない選択されていない線画が存在するか否かを判断する。未処理の線画が存在するならば処理をステップS11に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0082】
図10は、特定線部分消去処理の流れの一例を示す第1のフローチャートである。特定線部分消去処理は、図8のステップS06において実行される処理であり、図8のステップS01において入力された画像データ中のステップS04において選択された文字領域を処理対象とする。さらに、図8のステップS05において生成されたベクタデータを用いる。
【0083】
図10を参照して、図8のステップS01において入力された画像データから特定線を選択する(ステップS21)。画像データ中から特定線を、処理対象とされている文字領域で図8のステップS05において生成されたベクタデータに基づいて選択する。
【0084】
次のステップS22においては、ステップS21において選択された特定線の両端部のいずれかが別の水平線または垂直線と結合するか否かを判断する。特定線の両端部のいずれか一方が別の水平線または垂直線と結合するならば処理をステップS23に進めるが、そうでなければ処理をステップS24に進める。
【0085】
ステップS23においては、選択された特定線の非消去部分を除く部分を画像データから消去し、処理をステップS25に進める。具体的には、ステップS11において選択された特定線であって非消去部分を除く部分に含まれる画素の値を、画像データの下地の領域の画素の値で置き換える。
【0086】
一方、ステップS24においては、選択された特定線を画像データから消去し、処理をステップS25に進める。ステップS11において選択された特定線に含まれる画素の値を、画像データの下地の領域の画素の値で置き換える。
【0087】
ステップS25においては、図8のステップS05において生成されたベクタデータに基づいて、図8のステップS04において選択された文字領域中に含まれる特定線のうちに、処理対象として選択されていない特定線が存在するか否かを判断する。未処理の特定線が存在するならば処理をステップS21に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0088】
<ベクタ部分変換部の変形例>
上述したベクタ部分変換部57は、エッジ画像から特定線を抽出し、抽出された特定線をベクタデータに変換した。変形例におけるベクタ部分変換部57Aは、エッジ画像に含まれる線画のすべてをベクタデータに変換した後、水平線および垂直線のベクタデータを削除することにより、特定線のベクタデータを生成するようにしたものである。
【0089】
図11は、変形例におけるベクタ部分変換部の機能の一例を示す図である。図11を参照して、変形例におけるベクタ部分変換部57Aは、ベクタデータ生成部83Aと、水平・垂直線除外部85とを含む。ベクタデータ生成部83Aは、エッジ画像の文字領域中に含まれる線それぞれを、ベクタデータに変換する。ベクタデータ生成部83Aは、ベクタデータを水平・垂直線除外部85に出力する。
【0090】
水平・垂直線除外部85は、ベクタデータ生成部83Aから入力されるベクタデータのうち、水平線および垂直線のベクタデータを削除する。水平線のベクタデータは、直線であって、両端部の座標値のY座標の差の絶対値が所定の範囲より小さいベクタデータである。垂直線のベクタデータは、直線であって、両端部の座標値のX座標の差の絶対値が所定の範囲より小さいベクタデータである。水平・垂直線除外部85は、水平線および垂直線のベクタデータを削除した残りのベクタデータを特定線部分消去部59および出力部63に出力する。
【0091】
図12は、変形例におけるベクタ部分変換処理の流れの一例を示す第2のフローチャートである。図12を参照して、変形例におけるベクタ部分変換処理は、図8のステップS05において実行される処理であり、図8のステップS02において生成されたエッジ画像中でステップS04において選択された文字領域を処理対象とする。なお、図9に示したベクタ部分変換処理と同じ処理には同じ符号を付している。
【0092】
図12を参照して、CPU111は、図8のステップS02において生成されたエッジ画像中から線画を選択する(ステップS11)。次のステップS13においては、ステップS11において選択された線画に基づいてベクタデータを生成し、処理をステップS14に進める。ステップS14においては、図8のステップS04において選択された文字領域中に含まれる線画のうちに、処理対象として選択されていない線画が存在するか否かを判断する。未処理の線画が存在するならば処理をステップS11に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0093】
ステップS15においては、ステップS13において生成されたベクタデータのうちから水平線のベクタデータを削除する。直線であって、両端部の座標値のY座標の差の絶対値が所定の範囲より小さいベクタデータを削除する。
【0094】
次のステップS16においては、ステップS13において生成されたベクタデータのうちから垂直線のベクタデータを削除し、画像圧縮処理に戻す。直線であって、両端部の座標値のX座標の差の絶対値が所定の範囲より小さいベクタデータを削除する。
【0095】
次に、MFP100Aが備えるCPU111の画像伸張機能について説明する。図13は、MFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。図13に示すCPU111の画像伸張機能は、MFP100Aが備えるCPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することにより実現される。画像伸張プログラムは、画像処理プログラムの一部である。
【0096】
図13を参照して、MFP100Aが備えるCPU111に実現される画像伸張機能は、縮小画像データとベクタデータとが入力される入力部71と、縮小画像データをその解像度よりも高い高解像度の拡大画像データに変換する拡大部73と、ベクタデータを拡大画像データの解像度で展開した線画を含む展開画像を生成する展開部75と、拡大画像データに線画を合成する合成部77と、を含む。
【0097】
入力部71は、ネットワークI/F118がMFP100Aから縮小画像データとベクタデータとを受信すると、受信された縮小画像データとベクタデータとが入力される。入力部71は、入力された縮小画像データを拡大部73に出力するとともに、ベクタデータを展開部75に出力する。なお、ユーザが操作部105を操作して、EEPROM115またはHDD116に記憶された縮小画像データを指定すれば、指定された縮小画像データとその縮小画像データと組になるベクタデータとを読み出すことにより、それらが入力される。ここで、EEPROM115またはHDD116に記憶された縮小画像データは、MFP100から受信された縮小画像データである。また、MFP100Aが備えるCPU111に画像圧縮機能が実現される場合、MFP100Aが備えるCPU111によって生成された縮小画像データであってもよい。
【0098】
拡大部73は、入力部71から入力される縮小画像データをその解像度よりも高い高解像度の拡大画像データに変換する。拡大画像データの解像度は、予め定められた解像度であってもよく、ユーザが操作部105に入力することによって設定された解像度であってもよい。拡大部73は、拡大画像データを合成部77に出力する。入力部71から入力される縮小画像データは、文字領域中の特定線の非消去部分を除く部分が消去された画像データであるため、拡大画像データも文字領域中の特定線の非消去部分を除く部分を含まない。
【0099】
展開部75は、入力部71から入力されるベクタデータを拡大画像データの解像度で展開した線画を含む展開画像を生成する。展開部75は、生成された展開画像を合成部77に出力する。
【0100】
合成部77は、拡大部73から入力される拡大画像データに、展開部75から入力される展開画像を合成した合成画像を生成し、合成画像を出力する。入力部71が、ネットワークI/F118がMFP100Aから受信した縮小画像データとベクタデータとの組が入力される場合、合成部77は、ユーザによる操作によらず、自動的に画像形成部30に合成画像を用紙に形成させる。
【0101】
なお、合成画像の出力先は、ユーザが操作部105に入力する指示によって定めるようにしてもよい。ユーザにより出力先として表示部103が指示される場合には、合成画像を表示部103に表示し、画像形成部30が指示される場合には、画像形成部30に合成画像を用紙に形成させる。
【0102】
図14は、画像伸張処理の流れの一例を示すフローチャートである。画像伸張処理は、MFP100Aが備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することによりCPU111により実行される。図14を参照して、CPU111は、縮小画像データとベクタデータとが入力されるまで待機状態となり(ステップS51でNO)、縮小画像データとベクタデータとが入力されると(ステップS51でYES)、処理をステップS52に進める。ネットワークI/F118がMFP100Aから縮小画像データとベクタデータとを受信すると、受信された縮小画像データとベクタデータとが入力される。
【0103】
ステップS52においては、入力された縮小画像データを拡大し、拡大画像データを生成する。次のステップS53においては、入力されたベクタデータを展開した展開画像を生成する。そして、拡大画像データに展開画像を合成した合成画像を生成する。次のステップS55においては、合成画像を出力し、処理を終了する。
【0104】
以上説明したように、画像処理装置としてのMFP100は、CPU111が画像圧縮プログラムを実行する場合、画像データの特定線をベクタデータに変換し、画像データまたは縮小画像データから抽出された文字領域中の特定線を消去し、画像データを解像度が低い縮小画像データに変換し、縮小画像データとベクタデータとの組を出力する。このため、画像データを縮小することにより失われる文字の形状をベクタデータに含めることができる。また、文字のすべての線をベクタデータに変換しないので、ベクタデータのデータ量をできるだけ小さくすることができる。さらに、画像データまたは縮小画像データから抽出された文字領域中の特定線の非消去部分を除く部分を消去するので、画像データを縮小した縮小画像データのデータ量をさらに小さくすることができる。
【0105】
また、画像データまたは縮小画像データ中の特定線の非消去部分を消去しないので、特定線と水平線または垂直線とが連結する情報を縮小画像データに保持することができる。
【0106】
<画像圧縮機能の第1の変形例>
上記実施の形態におけるMFP100において、CPU111に実現される画像圧縮機能においては、画像データ中の特定線をベクタデータとするとともに、画像データから特定線の非消去部分以外の部分を消去するようにした。CPU111に実現される第1の変形例における画像圧縮機能は、画像データから特定線の全部分を消去するようにする点で異なる。画像データから特定線の全部分を消去した場合、図7で示したように、拡大画像とベクタデータによって展開された特定線とが連結されない場合がある。画像圧縮機能の第1の変形例においては、特定線のベクタデータを連結部分で延長することにより、拡大画像とベクタデータによって展開された特定線とを確実に連結するようにしたものである。
【0107】
図15は、MFPが備えるCPUの第1の変形例における画像圧縮機能の概要の一例を示すブロック図である。図15に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。図15を参照して、図4に示したCPU111に実現される画像圧縮機能と異なる点は、特定線部分消去部59が特定線全部消去部59Aに変更された点、延長部65が追加された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0108】
ベクタ部分変換部57は、エッジ画像の文字領域に含まれる輪郭線のうち特定線をベクタデータに変換し、ベクタデータを特定線全部消去部59Aおよび延長部65に出力する。
【0109】
特定線全部消去部59Aは、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線全部消去部59Aは、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の全部を画像データから消去する。具体的には、特定線部分消去部59は、ベクタデータに基づいて特定される特定線を構成する画素の値を、画像データの下地の領域の画素の値で置き換える。特定線全部消去部59Aは、特定線が消去された画像データを縮小部61に出力する。
【0110】
延長部65は、ベクタ部分変換部57から入力されるベクタデータのうち、両端のいずれか一方が別の水平線または垂直線と結合する特定線に対応するベクタデータの、水平線または垂直線と結合する側を所定の長さだけ延長する。延長部65は、延長後のベクタデータを出力部63に出力する。
【0111】
図16は、特定線の全部が消去された文字画像およびベクタデータ一例を示す第1の図である。図16は、図3(A)に示した文字の画像から特定線の全部が消去された文字画像および延長されたベクタデータを示している。図16を参照して、特定線の全部が消去された文字画像211Aは、文字「天」から特定線201,203を除いた画像である。ベクタデータ202A,204Aは、特定線201,203に基づいて生成され、特定線の全部が消去された文字画像211Aと結合する側の端部が、特定線の全部が消去された文字画像211A側に延長されている。ベクタデータ202A,204Aは、特定線201,203の中心線に沿ったベクトルの組み合わせで示され、線の太さの情報および端部の形状等の情報を含む。図16に示す特定線の全部が消去された文字画像211Aと、ベクタデータ202A,204Aとから、図3(A)に示した文字の画像を再現することができる。
【0112】
第1の変形例における画像圧縮機能が、図16に示したようにベクタデータ202A,204Aを、特定線の全部が消去された文字画像211A側に延長するようにした理由は、特定線の全部が消去された文字画像211Aを縮小した後に拡大した画像にベクタデータ202A,204Aを展開した画像を合成した合成画像が、図7に示した画像とならないようにするためである。換言すれば、特定線の全部が消去された文字画像211Aと、ベクタデータ202A,204Aを展開した特定線とを確実に連結するためである。
【0113】
図17は、画像圧縮処理の流れの一例を示す第2のフローチャートである。図17を参照して、図8に示した画像圧縮処理と異なる点は、ステップS05の後にステップS05Aが追加された点、ステップS06がステップS06Aに変更された点である。その他の処理は、図8に示した処理と同じなのでここでは説明を繰り返さない。
【0114】
ステップS05Aにおいては、ベクタデータを延長する延長処理を実行する。ステップS06Aにおいては、画像データから特定線の全部を消去する特定線全部消去処理を実行する。
【0115】
図18は、延長処理の流れの一例を示すフローチャートである。延長処理は、図17のステップS05Aで実行される処理である。図18を参照して、ステップS31においては、図17のステップS05において生成されたベクタデータのうちから1つを処理対象として選択する。次のステップS32においては、選択されたベクタデータの端部が別の直線と結合しているか否かを判断する。ベクタデータの両端部のいずれか一方が別の直線と結合していれば、処理をステップS33に進めるが、両端部のいずれも別の直線と結合していなければステップS33をスキップして処理をステップS34に進める。ステップS33においては、処理対象として選択されているベクトルデータを、結合部分側の端部を延長する。結合部分は、ベクタデータの両端部のうち、別の直線と結合している端部であり、延長する長さは、予め定められている。また延長する方向は、ベクタデータの端部付近の方向と同じ方向とすればよい。
【0116】
ステップS34においては、処理対象として選択されていないベクトルデータが存在するか否かを判断する。未処理のベクトルデータが存在するならば処理をステップS31に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0117】
図19は、特定線全部消去処理の流れの一例を示すフローチャートである。特定線全部消去処理は、図17のステップS06Aにおいて実行される処理であり、図17のステップS01において入力された画像データ中のステップS04において選択された文字領域を処理対象とする。さらに、図17のステップS05において生成されたベクタデータを用いる。図19を参照して、図10に示した特定線部分消去処理と異なる点は、ステップS22、ステップS23が削除された点である。したがって、図8のステップS01において入力された画像データから特定線を選択し(ステップS21)、選択された特定線を画像データから消去する(ステップS24)処理を、図17のステップS04において選択された文字領域中に含まれる特定線のすべてに対して実行する。
【0118】
<画像圧縮機能の第2の変形例>
上記実施の形態におけるMFP100において、CPU111に実現される画像圧縮機能においては、画像データ中の特定線をベクタデータとするとともに、画像データから特定線の非消去部分以外の部分を消去するようにした。CPU111に実現される第2の変形例における画像圧縮機能は、画像データから特定線の全部または部分を消去することなく、画像データ中の特定線を線幅の細い細線に変換する点で異なる。
【0119】
図20は、MFPが備えるCPUの第2の変形例における画像圧縮機能の概要の一例を示すブロック図である。図20に示すCPU111の画像圧縮機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。図20を参照して、図4に示したCPU111に実現される画像圧縮機能と異なる点は、特定線部分消去部59が特定線細線化部67に変更された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0120】
特定線細線化部67は、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線細線化部67は、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の線幅を細くする。具体的には、特定線細線化部67は、ベクタデータに基づいて特定される特定線を構成する画素のうち、水平方向に配列する複数の画素の両端から所定数を下地の領域の画素の値で置き換える。特定線細線化部67は、特定線が細くされた画像データを縮小部61に出力する。
【0121】
特定線が細い線に変換されるので、縮小画像データ中に含まれる特定線が拡大された場合に、輪郭部分がジャギーと呼ばれるギザギザの形状になるが、ベクタデータによって展開される特定線の線幅が、拡大画像中に含まれる特定線の線幅よりも太いので、ベクタデータによって展開される特定線によってジャギーが打ち消される。一方、ベクタデータによって展開される特定線が水平線または垂直線との結合部分で連結されない場合であっても、拡大画像データ中に含まれる特定線によって、結合される。拡大画像データ中に含まれる特定線の線幅は、ベクタデータによって展開される特定線の線幅よりも細いが、長さが短いので目立たない。
【0122】
図21は、画像圧縮処理の流れの一例を示す第3のフローチャートである。図21を参照して、図8に示した画像圧縮処理と異なる点は、ステップS06がステップS06Bに変更された点である。その他の処理は、図8に示した処理と同じなのでここでは説明を繰り返さない。ステップS06Bにおいては、特定線細線化処理が実行される。特定線細線化処理は、ステップS01において入力された画像データ中のステップS04において選択された文字領域を処理対象とし、文字領域中のすべての特定線の線幅を細くする処理である。図19のステップS24において、特定線を消去する処理を、特定線を細くする処理に変更した処理とすればよい。
【0123】
<第2の実施の形態>
第1の実施の形態におけるMFP100は、画像データの文字領域中の特定線の非消去部分を除く部分または特定線の全部を消去する、または特定線を細くした画像データを縮小した縮小画像データを生成するとともに、特定線のベクタデータを生成するようにした。画像伸張処理においては、ベクタデータを展開することにより特定線が再現される。画像データ中の特定線が単色の場合、ベクタデータに色の情報を含ませることにより画像データ中の特定線と同じ色の特定線をベクタデータから再現できる。しかしながら、画像データ中の特定線の色が複数の色を含む場合、特にグラデーションで色が表現されている場合には、ベクタデータに色の情報を含ませると、ベクタデータのデータ量が大きくなってしまう。
【0124】
第2の実施の形態におけるMFP100は、画像データに含まれる文字が複数の色を有する場合、特に、文字に付される色がグラデーションを有する場合に適用できる。
【0125】
図22は、第2の実施の形態におけるMFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。図22に示すCPU111の画像圧縮機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。図22を参照して、図4に示したCPU111に実現される画像圧縮機能と異なる点は、特定線部分消去部59が特定線太線化部69に変更された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0126】
特定線太線化部69は、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線太線化部69は、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の線幅を太くする。具体的には、特定線太線化部69は、ベクタデータに基づいて特定される特定線を構成する画素のうち、水平方向に配列する複数の画素の両端から所定数外側の画素を周辺の画素の画素値の最小値で置き換える。なお、ここでは画素値は、輝度を示し、輝度が高いほど画素値が大きい。特定線太線化部69は、特定線が太くされた画像データを縮小部61に出力する。
【0127】
図23は、画像圧縮処理の流れの一例を示す第4のフローチャートである。図23を参照して、図8に示した画像圧縮処理と異なる点は、ステップS06がステップS06Cに変更された点である。その他の処理は、図8に示した処理と同じなのでここでは説明を繰り返さない。ステップS06Cにおいては、特定線太線化処理が実行される。特定線太線化処理は、ステップS01において入力された画像データ中でステップS04において選択された文字領域を処理対象とし、文字領域中の特定線のすべての線幅を太くする処理である。図19のステップS24において、特定線を消去する処理を、特定線を太くする処理に変更した処理とすればよい。
【0128】
次に、第2の実施の形態におけるMFPが備えるCPUの画像伸張機能について説明する。図24は、第2の実施の形態におけるMFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。図24に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することにより実現される。画像伸張プログラムは、画像処理プログラムの一部である。
【0129】
図24を参照して、図13に示した第1の実施の形態における画像伸張機能と異なる点は、合成部77が補正部79に変更された点である。補正部79は、拡大部73から拡大画像データが入力され、展開部75から展開画像が入力される。拡大部73から入力される拡大画像データは、特定線が太く変換された縮小画像データを拡大した画像なので、特定線は輪郭がギザギザのノイズを有するが、他の線よりも太い。さらに、特定線が濃度が変化するグラデーションの色を有する場合にも、そのグラデーションを含む。一方、展開部75から入力される展開画像は、特定線以外の線と同じ線幅である。
【0130】
補正部79は、展開部75から入力される展開画像をマスク画像とし、拡大画像データをマスク画像を用いて補正する。具体的には、拡大画像データに含まれる特定線のうちマスク画像からはみ出す部分の画素の値を、下地の画素の値で置き換える。展開部75から入力される展開画像は、輪郭にノイズを含まないので、拡大画像データの特定線の輪郭に存在したノイズを消去することができる。
【0131】
図25(A)は、拡大画像データ中の文字画像の一例を示す図である。図25(A)は、図3(A)に示した文字の画像の特定線を太くした文字画像を縮小した後に拡大した文字画像211Bを示している。図25(A)を参照して、文字画像211Bは、特定線を除く部分211Aと、特定線を太くした部分205,207とを含む。
【0132】
図25(B)は、拡大画像データ中の文字画像とマスク画像との一例を示す図である。図25(B)を参照して、マスク画像201,203は、ベクタデータ202,204を展開して再現された特定線である。文字画像211Bの部分205,207は、マスク画像201,203よりも面積が広い。補正部79により、文字画像211Bの部分205,207のうちマスク画像201,203からはみ出す部分が下地の画素値に置き換えられる。このため、図3(A)に示した文字画像が再現され、特定線の輪郭に発生する階段状のノイズを低減することができる。さらに、文字画像211Bの部分205,207がグラデーションを含む色を有する場合、その色は、補正部79により補正された後も維持される。
【0133】
図26は、第2の実施の形態における画像伸張処理の流れの一例を示すフローチャートである。第2の実施の形態における画像伸張処理は、MFP100Aが備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することによりCPU111により実行される。
【0134】
図26を参照して、図14に示した画像伸張処理と異なる点は、ステップS53、ステップS54およびステップS55が、それぞれステップS53A、ステップS54AおよびステップS55Aに変更された点である。その他の処理は、図14に示した処理と同じなので、ここでは説明を繰り返さない。
【0135】
ステップS53Aにおいては、入力されたベクタデータを展開したマスク画像を生成する。そして、拡大画像データに含まれる特定線のうちマスク画像からはみ出す部分の画素の値を下地の画素の値で置き換えることにより補正画像を生成する(ステップS54A)。次のステップS55Aにおいては、補正画像を出力し、処理を終了する。
【0136】
第2の実施の形態における特定線が太い線に変換されるので、縮小画像データ中に含まれる特定線が拡大された場合に、輪郭部分が階段状の形状になる。一方、拡大画像データ中の特定線の線幅が、ベクタデータによって展開される特定線(マスク画像)の線幅よりも太いのでマスク画像からはみ出す。マスク画像からはみ出す部分が下地に変換するので、拡大画像中の特定線の輪郭部分に存在する階段状の形状を消去することができる。一方、画像データ中の特定線が複数の色を有する場合であっても、拡大画像中の特定線も複数の色を有する。このため、ベクタデータに色情報を含める必要はなく、ベクタデータのデータ量をできるだけ小さくすることができる。
【0137】
なお、上述した実施の形態においては、画像処理装置の一例としてMFP100,100Aを説明したが、図8、図17、21および図24に示した画像圧縮処理、または図14および図26に示した画像伸張処理をMFP100に実行させるための画像処理方法または、その画像処理方法をコンピュータに実行させるための画像処理プログラムとして発明を捉えることができるのは言うまでもない。
【0138】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0139】
<付記>
(1) 前記縮小手段は、曲線が消去された後の画像データを縮小する、請求項2に記載の画像処理装置。
【符号の説明】
【0140】
1 画像処理システム、3 ネットワーク、5 インターネット、10 ADF、13 操作パネル、20 原稿読取部、30 画像形成部、40 給紙部、51 画像データ取得部、53 エッジ画像生成部、55 文字領域抽出部、57,57A ベクタ部分変換部、59 特定線部分消去部、59A 特定線全部消去部、61 縮小部、63 出力部、65 延長部、67 特定線細線化部、69 特定線太線化部、71 入力部、73 拡大部、75 展開部、77 合成部、79 補正部、81 特定線抽出部、83,83A ベクタデータ生成部、85 水平・垂直線除外部、100,100A MFP、101 メイン回路、103 表示部、105 操作部、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 EEPROM、116 HDD、117 ファクシミリ部、118 ネットワークI/F、119 カードI/F、119A CD−ROM。
【技術分野】
【0001】
この発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特に文字を含む画像の圧縮または伸張に適した画像処理装置、その画像処理装置で実行される画像処理方法および画像処理プログラムに関する。
【背景技術】
【0002】
文字の画像が縮小されることによって、文字の形状の一部が失われるので、縮小された画像を拡大した場合には、特定線部分にいわゆるジャギーと呼ばれるギザギザ状のノイズが発生する。このため、画像中の文字をベクトルで表現する技術が知られている。例えば、特開平11−85129号公報には、複数の文字の基本文字構成要素(ストロークボディ)および局部輪郭(ストロークヘッド、テイル)をベクトル形式で記憶し、組合わせることにより、ストロークを構成し、該ストロークをストローク合成情報によって配置することにより所望の文字パターンを発生する文字発生装置が記載されている。
【0003】
しかしながら、従来の文字発生装置によれば、画像中の文字のすべてをベクトル形式のストロークで表現するので、データ量が多くなる場合があるといった問題がる。
【特許文献1】特開平11−85129号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
この発明は上述した問題を解決するためになされたもので、この発明の目的の1つは、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理装置、画像処理システム、画像処理方法および画像処理プログラムを提供することである。
【0005】
この発明の他の目的は、画像データ中の文字の輪郭に発生するノイズを低減することが可能な画像処理装置、画像処理システム、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【0006】
この発明は上述した問題を解決するためになされたもので、この発明のある局面によれば、画像処理装置は、画像データを取得する画像データ取得手段と、取得された画像データから文字が表された文字領域を抽出する文字領域抽出手段と、抽出された文字領域中で所定の範囲内の傾きを有する線分を除く特定線をベクタデータに変換するベクタ部分変換手段と、画像データを、画像データの解像度よりも低い解像度の縮小画像データに変換する縮小手段と、縮小画像データとベクタデータとの組を出力する出力手段と、を備える。
【0007】
この局面に従えば、画像データの特定線がベクタデータに変換され、画像データを解像度が低い縮小画像データに変換され、縮小画像データとベクタデータとの組が出力される。このため、画像データを縮小することにより失われる文字の形状をベクタデータに含めることができる。また、文字のすべての線をベクタデータに変換しないので、ベクタデータのデータ量をできるだけ小さくすることができる。その結果、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理装置を提供することができる。
【0008】
好ましくは、画像データまたは縮小画像データから抽出された文字領域中の特定線を消去する消去手段をさらに備える。
【0009】
この局面によれば、画像データを縮小した縮小画像データのデータ量をさらに小さくすることができる。
【0010】
好ましくは、消去手段は、文字領域中の特定線のうち別の直線と連結する箇所から所定の長さの部分は消去しない。
【0011】
この局面に従えば、特定線と直線とが連結する情報を保持することができる。
【0012】
好ましくは、ベクタ部分変換手段は、文字領域中の特定線のうち別の直線と連結する特定線は、別の直線と連結する側を所定の長さ延長した特定線としてベクタデータに変換する延長手段を含む。
【0013】
この局面に従えば、特定線と直線とが連結する情報を保持することができる。
【0014】
好ましくは、画像データまたは縮小画像データに含まれる文字領域中の特定線を細くする細線化手段をさらに備える。
【0015】
この局面に従えば、特定線と直線とが連結する情報を保持することができる。
【0016】
好ましくは、画像データまたは縮小画像データに含まれる文字領域中の特定線を太くする太線化手段をさらに備える。
【0017】
この局面に従えば、特定線が有する色の情報を保持することができる。
【0018】
好ましくは、ベクタ部分変換手段は、文字領域中の特定線を抽出する特定線抽出手段を含む。
【0019】
好ましくは、ベクタ部分変換手段は、文字領域中の線の全てをベクタデータに変換する全体変換手段と、変換されたベクタデータのうちから所定の範囲内の傾きを有する直線のベクタデータを除去する除去手段と、を含む。
【0020】
好ましくは、取得された画像データからエッジ画像を生成するエッジ画像生成手段を、さらに備え、ベクタ部分変換手段は、エッジ画像から抽出された文字領域中の特定線をベクタデータに変換する。
【0021】
この発明の他の局面によれば、画像処理装置は、画像データと、画像データと組みになり、画像データの文字領域中の特定線のみを含むベクタデータとを取得するデータ取得手段と、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、拡大画像データのマスク画像からはみ出す部分を下地に変換する補正手段と、を備える。
【0022】
この局面に従えば、画像データが高解像度の拡大画像データに変換され、ベクタデータを拡大画像データの解像度で展開したマスク画像が生成され、拡大画像データのマスク画像からはみ出す部分が下地に変換される。このため、画像データ中の文字の輪郭に発生するノイズを低減することが可能な画像処理装置を提供することができる。
【0023】
この発明のさらに他の局面によれば、画像形成システムは、上記の画像処理装置を第1の画像形成装置として含み、第1の画像処理装置が出力する縮小画像データとベクタデータとの組が入力される入力手段と、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、ベクタデータを、拡大画像データの解像度で展開した特定線画像を生成する展開手段と、拡大画像データと特定線画像とを合成する合成手段と、を備える。
【0024】
この局面に従えば、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理システムを提供することができる。
【0025】
この発明のさらに他の局面によれば、画像処理システムは、上記の画像処理装置を第1の画像形成装置として含み、第1の画像処理装置が出力する縮小画像データとベクタデータとの組が入力される入力手段と、縮小画像データを縮小画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、拡大画像データのマスク画像からはみ出す部分を下地に変換する補正手段と、を備えた第2の画像処理装置と、を含む。
【0026】
この局面に従えば、画像データ中の特定線の輪郭に発生するノイズを低減することが可能な画像処理システムを提供することができる。
【0027】
この発明のさらに他の局面によれば、画像処理方法は、画像データを取得するステップと、取得された画像データから文字が表された文字領域を抽出するステップと、抽出された文字領域中で所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、画像データを、画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、縮小画像データとベクタデータとの組を出力するステップと、を含む。
【0028】
この局面に従えば、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理方法を提供することができる。
【0029】
この発明のさらに他の局面によれば、画像処理方法は、画像データと、画像データと組みになり、画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するステップと、拡大画像データのマスク画像からはみ出す部分を下地に変換するステップと、を含む。
【0030】
この局面に従えば、画像データ中の特定線の輪郭に発生するノイズを低減することが可能な画像処理方法を提供することができる。
【0031】
この発明のさらに他の局面によれば、画像処理プログラムは、画像データを取得するステップと、取得された画像データから文字が表された文字領域を抽出するステップと、抽出された文字領域中の所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、画像データを、画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、縮小画像データとベクタデータとの組を出力するステップと、をコンピュータに実行させる。
【0032】
この局面に従えば、画像データを縮小した場合に失われる文字の形状を保持するとともに、データ量をできるだけ小さくすることが可能な画像処理プログラムを提供することができる。
【0033】
この発明のさらに他の局面によれば、画像処理プログラムは、画像データと、画像データと組みになり、画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、画像データを画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、ベクタデータを、拡大画像データの解像度で展開したマスク画像を生成するステップと、拡大画像データのマスク画像からはみ出す部分を下地に変換するステップと、コンピュータに実行させる。
【0034】
この局面に従えば、画像データ中の特定線の輪郭に発生するノイズを低減することが可能な画像処理プログラムを提供することができる。
【図面の簡単な説明】
【0035】
【図1】本発明の実施の形態における画像処理システムの全体概要を示す図である。
【図2】MFPのハードウエア構成の一例を示すブロック図である。
【図3】文字の画像を縮小および拡大したときに発生するノイズを説明するための図である。
【図4】MFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。
【図5】ベクタ部分変換部の詳細な機能の一例を示す図である。
【図6】特定線が部分的に消去された文字画像およびベクタデータ一例を示す図である。
【図7】不具合を説明するための図である。
【図8】画像圧縮処理の流れの一例を示す第1のフローチャートである。
【図9】ベクタ部分変換処理の流れの一例を示す第1のフローチャートである。
【図10】特定線部分消去処理の流れの一例を示す第1のフローチャートである。
【図11】変形例におけるベクタ部分変換部の機能の一例を示す図である。
【図12】変形例におけるベクタ部分変換処理の流れの一例を示す第2のフローチャートである。
【図13】MFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。
【図14】画像伸張処理の流れの一例を示すフローチャートである。
【図15】MFPが備えるCPUの第1の変形例における画像圧縮機能の概要の一例を示すブロック図である。
【図16】特定線の全部が消去された文字画像およびベクタデータ一例を示す第1の図である。
【図17】画像圧縮処理の流れの一例を示す第2のフローチャートである。
【図18】延長処理の流れの一例を示すフローチャートである。
【図19】特定線全部消去処理の流れの一例を示すフローチャートである。
【図20】MFPが備えるCPUの第2の変形例における画像圧縮機能の概要の一例を示すブロック図である。
【図21】画像圧縮処理の流れの一例を示す第3のフローチャートである。
【図22】第2の実施の形態におけるMFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。
【図23】画像圧縮処理の流れの一例を示す第4のフローチャートである。
【図24】第2の実施の形態におけるMFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。
【図25】(A)は拡大画像データ中の文字画像の一例を示す図であり、(B)は拡大画像データ中の文字画像とマスク画像との一例を示す図である。
【図26】第2の実施の形態における画像伸張処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0036】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。
【0037】
図1は、本発明の実施の形態における画像処理システムの全体概要を示す図である。図1を参照して、画像処理システム1は、それぞれがネットワーク3に接続された複合機(Multi Function Peripheral)(以下、「MFP」という)100,100Aと、パーソナルコンピュータ(PC)200と、ファイルサーバ311と、インターネット5に接続された電子メールサーバ313と、を含む。
【0038】
MFP100,100Aは、画像処理装置の一例であり、スキャナ機能、プリンタ機能、コピー機能、ファクシミリ機能等の複数の機能を備える。PC300、ファイルサーバ311および電子メールサーバ313は、一般的なコンピュータであり、そのハードウエア構成および機能は周知なので、ここでは説明を繰り返さない。
【0039】
ネットワーク3は、ローカルエリアネットワーク(LAN)であり、有線および無線の別を問わない。MFP100,100Aは、ネットワーク3を介して互いに通信可能であり、さらに、ネットワーク3に接続されたファイルサーバ311およびPC300、さらにインターネット5を介して接続された電子メールサーバ313と通信可能である。なお、ネットワーク3は、LANに限らず、インターネット、ワイドエリアネットワーク(WAN)または公衆交換電話網等であってもよい。
【0040】
ファイルサーバ311は、MFP100,100AおよびPC300それぞれがアクセス可能な画像データを記憶することができる。電子メールサーバ313は、POP(Post Office Protocol)サーバおよびSMTP(Simple Mail Transfer Protocol)サーバとして機能し、電子メールの送受信を管理する。
【0041】
MFP100,100Aのハードウエア構成および機能は同じなので、ここでは、MFP100を例に説明する。図2は、MFPのハードウエア構成の一例を示すブロック図である。図2を参照して、MFP100は、メイン回路101と、自動原稿読取装置(ADF)10と、原稿読取部20と、画像形成部30と、給紙部40と、ユーザインターフェースとしての操作パネル13と、を含む。
【0042】
ADF10は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部20のプラテンガラス上に設定された所定の原稿読取位置まで搬送し、原稿読取部20により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部20は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、メモリに記憶する、または画像形成部30に出力する。
【0043】
画像形成部30は、周知の電子写真方式により画像を形成するものであって、原稿読取部20から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部40により搬送される用紙に画像を形成する。給紙部40は、給紙トレイに収納された用紙を画像形成部30に搬送する。
【0044】
メイン回路101は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、EEPROM(Electronically Erasable and Programmable ROM)115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、ファクシミリ部117と、ネットワークI/F118と、CD−ROM(Compact Disk Read Only Memory)119Aが装着される外部記憶装置119と、を含む。CPU111は、ADF10、原稿読取部20、画像形成部30、給紙部40および操作パネル13と接続され、MFP100の全体を制御する。
【0045】
ROM113は、CPU111が実行するプログラム、およびそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。
【0046】
通信I/F部112は、MFP100を他の装置とシリアル通信ケーブルで接続するためのインターフェースである。なお、接続形態は、有線であっても無線であってもよい。
【0047】
ファクシミリ部117は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部117は、受信したファクシミリデータを、HDD116に記憶する、または画像形成部30に出力する。画像形成部30は、ファクシミリ部117により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部117は、HDD116に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
【0048】
ネットワークI/F118は、MFP100をネットワーク3に接続するためのインターフェースである。CPU111は、ネットワークI/F118を介してネットワーク3に接続されたMFP100A,PC300、ファイルサーバ311、さらにインターネットに接続された電子メールサーバ313と通信可能である。
【0049】
外部記憶装置119は、CD−ROM119Aが装着される。CPU111は、外部記憶装置119を介してCD−ROM119Aにアクセス可能であり、CD−ROM119Aに記憶されたプログラムをRAM114にロードして実行可能である。なお、CPU111が実行するプログラムは、CD−ROM119Aに記憶されたプログラムに限られず、他の記憶媒体に記憶されたプログラムでもよく、HDD116に記憶されたプログラムであってもよく、さらに、ネットワークI/F118を介してネットワーク3に接続された他のコンピュータによりHDD116に書き込みされたプログラムであってもよい。
【0050】
なお、プログラムを記憶する記憶媒体としては、CD−ROM119Aに限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)などの半導体メモリでもよい。
【0051】
ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0052】
操作パネル13は、MFP100の上面に設けられ、表示部103と、操作部105とを含む。表示部103は、液晶表示装置、有機ELD(Electroluminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した表示データに関する情報等を表示する。操作部105は、ユーザの操作を受け付け、受け付けられた操作をCPU111に出力する。操作部105は、表示部103の上に重畳して配置されたタッチパネルを含む。タッチパネルは、透明な部材からなり、表示部103に重畳して配置される。タッチパネルは、ユーザがタッチパネルを指で触れると、触れられた位置を指示位置として検出し、CPU111に出力する。
【0053】
本実施の形態における画像処理装置としてのMFP100,100Aは、画像データを圧縮する画像圧縮機能と、画像データを伸張する画像伸張機能とを有する。本実施の形態においては、MFP100が、画像圧縮機能を実行し、MFP100Aが画像伸張機能を実行する場合を例に説明する。なお、画像圧縮機能は、MFP100に限らず、MFP100Aが実行してもよい。さらに、画像伸張機能は、MFP100Aに限らず、MFP100が実行してもよいし、PC300が実行してもよい。すなわち、画像データを圧縮する処理は、画像データが入力される入力装置で実行され、圧縮された画像データを伸張する処理は、圧縮された画像データが入力される出力装置で実行される。入力装置および出力装置となり得るのは、後述する画像処理プログラムを実行可能な装置である。
【0054】
なお、MFP100により圧縮された画像データは、MFP100が備えるHDD116に記憶されてもよいし、他の装置に送信されてもよい。MFP100が圧縮された画像データを送信する場合、その送信先は、MFP100A、ファイルサーバ311、PC300である。MFP100から他の装置、MFP100A、ファイルサーバ311およびPC300へ圧縮された画像データを送信する通信プロトコルは、ファイル転送プロトコル(FTP)などを用いることができるが、通信プロトコルはFTPに限定するものではなく、SMB(Server Message Block)等の他の通信プロトコルを用いることができる。また、圧縮された画像データを電子メールに添付して電子メールサーバ313を経由して送信するようにしてもよい。さらに、圧縮された画像データをMFP100Aに送信する場合、圧縮された画像データのフォーマットは、ラスタデータであってもよい。
【0055】
本実施の形態におけるMFP100は、原稿読取部20によって読み取られた原稿の画像データを、HDD116に記憶したり、他の装置、例えばMFP100Aに送信したりして画像データを出力する場合、画像データのデータ量を減少させるために、画像データを圧縮して出力する。画像データを圧縮する1つの方法として、画像データを解像度が低くなるように縮小する。しかしながら、画像データは縮小されることにより、画像データの一部が削除される。一方、圧縮された画像データを出力する出力装置、ここではMFP100Aにおいては、圧縮された画像データを伸張する。この場合、縮小された画像データを拡大する場合に、画像データ中で縮小時に失われた部分を正確に再現することはできない。特に、文字中の斜めの直線または曲線においては、拡大する場合に削除された部分を正確に再現することができず、輪郭が階段状の形状となり、いわゆるジャギーと呼ばれるノイズが発生する。従来の文字発生装置を用いれば、画像を縮小することによる文字画像の劣化を減少することができる。
【0056】
図3は、文字の画像を縮小および拡大したときに発生するノイズを説明するための図である。図3(A)は、文字の画像の一例を示す。ここでは、「天」の文字を示している。この文字は、直線部分と曲線部分とを有する。図3(B)は、図3(A)に示した画像を縮小した後、縮小された画像を拡大した拡大画像の一例を示す。図3(B)に示す拡大画像は、図3(A)に示した画像と比較して、曲線部分の輪郭に階段状のジャギーが発生しているのが分かる。この階段状のノイズは、文字領域中の曲線、および所定範囲内の傾きを有する線分以外の線分に表れる。所定範囲内の傾きを有する線分は、垂直に近い線分または水平に近い線分である。所定範囲内の傾きは、予め定められた値である。また、所定範囲内の傾きは、解像度および文字のサイズによって定まるようにしてもよい。以下、文字領域中の曲線、および所定範囲内の傾きを有する線分以外の線分を、特定線という。
【0057】
図4は、MFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。図4に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。画像圧縮プログラムは、画像処理プログラムの一部である。
【0058】
図4を参照して、CPU111に実現される画像圧縮機能は、画像データを取得する画像データ取得部51と、画像データからエッジ画像を生成するエッジ画像生成部53と、エッジ画像から文字が表された文字領域を抽出する文字領域抽出部55と、文字領域中の特定線をベクタデータに変換するベクタ部分変換部57と、画像データから文字領域中の特定線を消去する特定線部分消去部59と、画像データをより低い解像度の縮小画像データに変換する縮小部61と、縮小画像データとベクタデータとの組を出力する出力部63と、を含む。
【0059】
画像データ取得部51は、原稿読取部20が原稿を読み取って出力する画像データを取得する。また、画像データ取得部51は、EEPROM115またはHDD116に記憶された画像データを読み出すことにより取得する。EEPROM115またはHDD116に記憶された画像データのうち、ユーザが操作部105を操作して、指定する画像データを取得する。EEPROM115またはHDD116に記憶された画像データは、原稿読取部20が原稿を読み取って出力する画像データ、ファクシミリ部117が受信したファクシミリデータ、ネットワークI/F118がネットワーク3を介して外部から受信した画像データ、通信I/F部112が、それに接続された外部メモリから読み出した画像データを含む。画像データ取得部51は、取得された画像データを、エッジ画像生成部53および特定線部分消去部59に出力する。
【0060】
エッジ画像生成部53は、画像データ取得部51から入力される画像データを微分することによりエッジ画像を生成し、エッジ画像を文字領域抽出部55に出力する。エッジ画像生成部53は、画像データ中の画素の値を、その画素と横方向に隣接する隣接画素との差分が所定のしきい値以上の場合に「1」とし、差分が所定のしきい値より小さい場合に「0」とした、エッジ画像を生成する。エッジ画像は、画素値が「1」の画素が、文字、線または図形の輪郭を構成する。なお、エッジ画像を生成する技術は周知なので、これに限定されることなく、他の技術を用いるようにしてもよい。
【0061】
文字領域抽出部55は、エッジ画像から文字が表された文字領域を抽出する。文字領域抽出部55は、エッジ画像中で画素値が「1」の画素を複数含む矩形の領域を抽出し、その矩形の領域において、横方向の画素値の変化の周期が所定の値以下の場合に文字領域と判断する。なお、エッジ画像から文字領域を抽出する技術は周知なので、これに限定されることなく他の技術を用いるようにしてもよい。例えば、エッジ画像を用いることなく、画像データの輝度の変化の周期が所定の値以下の矩形の領域を文字領域として抽出するようにしてもよい。文字領域抽出部55は、エッジ画像中に複数の文字領域が存在する場合は、複数の文字領域を抽出する。文字領域抽出部55は、エッジ画像と、エッジ画像中の文字領域の位置をベクタ部分変換部57に出力する。ここでは、文字領域は、矩形の領域としているので、文字領域のエッジ画像中の位置は、文字領域の2つの対向する頂角の座標で示される。
【0062】
ベクタ部分変換部57は、エッジ画像の文字領域に含まれる輪郭線で特定される線のうち特定線をベクタデータに変換し、ベクタデータを特定線部分消去部59および出力部63に出力する。ベクタ部分変換部57の詳細は、後述する。ベクタ部分変換部57が出力するベクタデータは、画像データの解像度の情報を含む。
【0063】
特定線部分消去部59は、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線部分消去部59は、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の一部を画像データから消去をする。具体的には、特定線部分消去部59は、ベクタデータに基づいて特定される特定線を構成する画素の値を、画像データの下地の領域の画素の値で置き換える。特定線部分消去部59は、ベクタデータに基づいて特定される特定線の端部が、別の直線と連結する場合、連結する端部から所定の長さの非消去部分以外の部分に含まれる画素の値を、画像データの下地の領域の画素の値で置き換える。下地の領域を抽出する方法は周知の技術を用いることができる。例えば、文字領域以外の部分であって、値が同じ画素の数が最も多い画素を含む領域とすればよい。特定線部分消去部59は、特定線が消去された画像データを縮小部61に出力する。
【0064】
縮小部61は、特定線が消去された画像データを、解像度を低くした縮小画像データに変換する。縮小部61は、縮小画像データを出力部63に出力する。縮小画像データの解像度は、予め定められた解像度であってもよいし、画像データのサイズに基づき定めるようにしてもよいし、ユーザが操作部105に入力することにより設定された解像度であってもよい。
【0065】
出力部63は、縮小部61から入力される縮小画像データと、ベクタ部分変換部57から入力されるベクタデータとの組を、出力する。出力部63が縮小画像データとベクタデータとの組を出力する先は、ユーザが操作部105に入力する出力先により定まる。ユーザが、MFP100Aまたはファイルサーバ311を出力先に指定する場合は、出力部63は、縮小画像データとベクタデータとの組を、ネットワークI/F118を介してMFP100Aまたはファイルサーバ311に送信する。ユーザが、電子メールによる送信を指定する場合は、出力部63は、縮小画像データとベクタデータとの組を含み、ユーザにより指定された電子メールアドレスを宛先に設定した電子メールを生成し、生成された電子メールをネットワークI/F118を介して電子メールサーバ313に送信する。さらに、ユーザがEEPROM115またはHDD116を出力先に指定する場合は、出力部63は、縮小画像データとベクタデータとの組をEEPROM115またはHDD116に記憶する。
【0066】
縮小画像データは、画像データよりも解像度が低いので、データ量が画像データよりも小さい。また、ベクタ部分変換部57が出力するベクタデータは、画像データに含まれる文字領域中の特定線のみを変換したものなので、文字領域中の文字を構成する線のすべてを変換したベクタデータに比較して、データ量が小さい。
【0067】
なお、ベクタ部分変換部57は、ベクタデータを縮小画像データと整合させるために、縮小部61により縮小された縮小画像データの解像度に対応するサイズに変換したベクタデータを出力部63に出力するようにしてもよい。また、本実施の形態においては、ベクタ部分変換部57は、画像データ中の特定線をベクタデータに変換するようにしたが、縮小部61が画像データを縮小した縮小画像データ中に含まれる特定線をベクタデータに変換するようにしてもよい。この場合、エッジ画像生成部53は、縮小部61により縮小された縮小画像データをエッジ画像に変換し、特定線部分消去部59は、縮小画像データから特定線を消去する。
【0068】
図5は、ベクタ部分変換部の詳細な機能の一例を示す図である。図5を参照して、ベクタ部分変換部57は、エッジ画像の文字領域から特定線を抽出する特定線抽出部81と、抽出された特定線からベクタデータを生成するベクタデータ生成部83とを含む。特定線抽出部81は、エッジ画像の文字領域中に含まれる線分のうちから特定線を抽出する。具体的には、特定線抽出部81は、エッジ画像に含まれるエッジの連結方向を検出し、連結方向が、水平方向から所定の範囲内、または垂直方向から所定の範囲内のエッジを、所定の範囲内の傾きを有する線と判断する。
【0069】
より具体的には、エッジを構成する複数の画素で、隣接する2つの画素間で横方向の差分Δxおよび縦方向の差分Δyそれぞれの絶対値の累積値ΣΔx,ΣΔyを算出し、累積値ΣΔxおよび累積値ΣΔyのいずれもが所定のしきい値以上ならば、そのエッジを特定線として抽出する。累積値ΣΔxが所定のしきい値より小さければ連結方向が垂直方向から所定の範囲内のエッジと判断し、累積値ΣΔyが所定のしきい値より小さければ連結方向が水平方向から所定の範囲内のエッジと判断する。
【0070】
特定線抽出部81は、抽出された特定線をベクタデータ生成部83に出力する。ベクタデータ生成部83は、特定線抽出部81から入力される特定線をベクタデータに変換する。なお、文字領域中から特定線を抽出する方法は、上記方法に限定されるものではなく、他の方法を用いるようにしてもよい。
【0071】
図6は、特定線が部分的に消去された文字画像およびベクタデータ一例を示す図である。図6は、図3(A)に示した文字の画像から特定線が部分的に消去された文字画像およびベクタデータを示している。図6を参照して、特定線が部分的に消去された文字画像211は、文字「天」から特定線201,203の一部201A,203Aを除いた画像であり、特定線201,203のうち直線部分と連結する端部から所定の長さの非消去部分213を含む。ベクタデータ202,204は、特定線201,203からそれぞれ生成され、特定線201,203の中心線にそれぞれ沿ったベクトルの組み合わせで示され、線の太さの情報および端部の形状等の情報を含む。図6に示す特定線が部分的に消去された文字画像211と、ベクタデータ202,204とから、図3(A)に示した文字の画像を再現することができる。
【0072】
一方、図6に示した特定線が部分的に消去された文字画像211は、特定線201,203の非消去部分213を含むようにした理由は、次の不具合が発生するのを防止するためである。図6に示した特定線が部分的に消去された文字画像211が特定線201,203の非消去部分213を含まない場合、特定線が部分的に消去された文字画像211は、水平方向または垂直方向の直線部分のみで構成される。このため、特定線が部分的に消去された文字画像211を拡大した後の拡大画像と、ベクタデータ202,204を縮小画像データを拡大した後の解像度で展開した特定線とが連結されない状態になる場合がある。
【0073】
図7は、不具合を説明するための図である。図7を参照して、図6に示した特定線が部分的に消去された文字画像211を拡大した文字画像211Aと、図6に示したベクタデータ202,204を文字画像211Aの解像度で展開した線201A,203Aとを示している。領域221において、文字画像211Aと、ベクタデータ202,204を文字画像211Aの解像度で展開した線201A,203Aとが結合していない。
【0074】
図8は、画像圧縮処理の流れの一例を示す第1のフローチャートである。画像圧縮処理は、MFP100が備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することによりCPU111により実行される。図8を参照して、CPU111は、画像データが入力されるまで待機状態となり(ステップS01でNO)、画像データが入力されると(ステップS01でYES)、処理をステップS02に進める。原稿読取部20が原稿を読み取って画像データを出力すると、原稿読取部20が出力する画像データが入力される。
【0075】
ステップS02においては、画像データを微分することによりエッジ画像を生成する。隣接する画素との画素値の差分が所定のしきい値以上の画素の画素値を「1」とし、差分が所定のしきい値より小さい画素の画素値を「0」とした、エッジ画像を生成する。次のステップS03においては、エッジ画像から文字領域を抽出する。1画像中で画素値が「1」の画素を複数含む矩形の領域を抽出し、その矩形の領域において、横方向または縦方向の画素値の変化の周期が短い場合に文字領域と判断する。
【0076】
次のステップS04においては、ステップS03において抽出された文字領域のうちから1つを処理対象として選択する。次のステップS05においては、ベクタ部分変換処理を実行する。ベクタ部分変換処理の詳細は後述するが、文字領域に含まれる垂直方向または水平方向の直線以外の特定線をベクタデータに変換する処理である。次のステップS06においては、特定線証協処理を実行する。特定線消去処理の詳細は後述するが、ステップS01において入力された画像データからステップS05においてベクタデータに変換された特定線を消去する処理である。
【0077】
次のステップS07においては、未だ処理対象として選択されていない文字領域が存在するか否かを判断する。未処理の文字領域が存在するならば処理をステップS04に戻し、存在しなければ処理をステップS08に進める。ステップS08においては、ステップS06において特定センター消去された画像データを縮小し、縮小画像データを生成する。画像データの解像度を低くすることにより画像データを縮小する。
【0078】
次のステップS09においては、ステップS08において生成された縮小画像データと、ステップS05において生成されたベクタデータとの組を出力し、処理を終了する。出力先は、ユーザが操作部105に入力する指示により定まる。ユーザが、MFP100Aまたはファイルサーバ311を出力先に指定する場合は、縮小画像データとベクタデータとの組を、ネットワークI/F118を介してMFP100Aまたはファイルサーバ311に送信する。また、ユーザが、電子メールによる送信を指定する場合は、縮小画像データとベクタデータとの組を含み、ユーザにより指定された電子メールアドレスを宛先に設定した電子メールを生成し、生成された電子メールをネットワークI/F118を介して電子メールサーバ313に送信する。さらに、ユーザがEEPROM115またはHDD116を出力先に指定する場合は、縮小画像データとベクタデータとの組をEEPROM115またはHDD116に記憶する。
【0079】
図9は、ベクタ部分変換処理の流れの一例を示す第1のフローチャートである。ベクタ部分変換処理は、図8のステップS05において実行される処理であり、図8のステップS02において生成されたエッジ画像中のステップS04において選択された文字領域を処理対象とする。
【0080】
図9を参照して、CPU111は、図8のステップS02において生成されたエッジ画像中から線画を選択する(ステップS11)。エッジ画像であって、図8のステップS04において選択された文字領域中から線画を選択する。線画は、エッジ画像において画像値が「1」の画素が連続する複数の画素で構成される。次のステップS12においては、ステップS11において選択された線画が水平線または垂直線か否かを判断する。選択された線画が水平線または垂直線でなければ処理をステップS13に進めるが、選択された線画が水平線または垂直線ならばステップS13をスキップして処理をステップS14に進める。
【0081】
ステップS13においては、ステップS11において選択された線画に基づいてベクタデータを生成し、処理をステップS14に進める。ステップS14においては、図8のステップS04において選択された文字領域中に含まれる線画のうちに、処理対象とされていない選択されていない線画が存在するか否かを判断する。未処理の線画が存在するならば処理をステップS11に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0082】
図10は、特定線部分消去処理の流れの一例を示す第1のフローチャートである。特定線部分消去処理は、図8のステップS06において実行される処理であり、図8のステップS01において入力された画像データ中のステップS04において選択された文字領域を処理対象とする。さらに、図8のステップS05において生成されたベクタデータを用いる。
【0083】
図10を参照して、図8のステップS01において入力された画像データから特定線を選択する(ステップS21)。画像データ中から特定線を、処理対象とされている文字領域で図8のステップS05において生成されたベクタデータに基づいて選択する。
【0084】
次のステップS22においては、ステップS21において選択された特定線の両端部のいずれかが別の水平線または垂直線と結合するか否かを判断する。特定線の両端部のいずれか一方が別の水平線または垂直線と結合するならば処理をステップS23に進めるが、そうでなければ処理をステップS24に進める。
【0085】
ステップS23においては、選択された特定線の非消去部分を除く部分を画像データから消去し、処理をステップS25に進める。具体的には、ステップS11において選択された特定線であって非消去部分を除く部分に含まれる画素の値を、画像データの下地の領域の画素の値で置き換える。
【0086】
一方、ステップS24においては、選択された特定線を画像データから消去し、処理をステップS25に進める。ステップS11において選択された特定線に含まれる画素の値を、画像データの下地の領域の画素の値で置き換える。
【0087】
ステップS25においては、図8のステップS05において生成されたベクタデータに基づいて、図8のステップS04において選択された文字領域中に含まれる特定線のうちに、処理対象として選択されていない特定線が存在するか否かを判断する。未処理の特定線が存在するならば処理をステップS21に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0088】
<ベクタ部分変換部の変形例>
上述したベクタ部分変換部57は、エッジ画像から特定線を抽出し、抽出された特定線をベクタデータに変換した。変形例におけるベクタ部分変換部57Aは、エッジ画像に含まれる線画のすべてをベクタデータに変換した後、水平線および垂直線のベクタデータを削除することにより、特定線のベクタデータを生成するようにしたものである。
【0089】
図11は、変形例におけるベクタ部分変換部の機能の一例を示す図である。図11を参照して、変形例におけるベクタ部分変換部57Aは、ベクタデータ生成部83Aと、水平・垂直線除外部85とを含む。ベクタデータ生成部83Aは、エッジ画像の文字領域中に含まれる線それぞれを、ベクタデータに変換する。ベクタデータ生成部83Aは、ベクタデータを水平・垂直線除外部85に出力する。
【0090】
水平・垂直線除外部85は、ベクタデータ生成部83Aから入力されるベクタデータのうち、水平線および垂直線のベクタデータを削除する。水平線のベクタデータは、直線であって、両端部の座標値のY座標の差の絶対値が所定の範囲より小さいベクタデータである。垂直線のベクタデータは、直線であって、両端部の座標値のX座標の差の絶対値が所定の範囲より小さいベクタデータである。水平・垂直線除外部85は、水平線および垂直線のベクタデータを削除した残りのベクタデータを特定線部分消去部59および出力部63に出力する。
【0091】
図12は、変形例におけるベクタ部分変換処理の流れの一例を示す第2のフローチャートである。図12を参照して、変形例におけるベクタ部分変換処理は、図8のステップS05において実行される処理であり、図8のステップS02において生成されたエッジ画像中でステップS04において選択された文字領域を処理対象とする。なお、図9に示したベクタ部分変換処理と同じ処理には同じ符号を付している。
【0092】
図12を参照して、CPU111は、図8のステップS02において生成されたエッジ画像中から線画を選択する(ステップS11)。次のステップS13においては、ステップS11において選択された線画に基づいてベクタデータを生成し、処理をステップS14に進める。ステップS14においては、図8のステップS04において選択された文字領域中に含まれる線画のうちに、処理対象として選択されていない線画が存在するか否かを判断する。未処理の線画が存在するならば処理をステップS11に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0093】
ステップS15においては、ステップS13において生成されたベクタデータのうちから水平線のベクタデータを削除する。直線であって、両端部の座標値のY座標の差の絶対値が所定の範囲より小さいベクタデータを削除する。
【0094】
次のステップS16においては、ステップS13において生成されたベクタデータのうちから垂直線のベクタデータを削除し、画像圧縮処理に戻す。直線であって、両端部の座標値のX座標の差の絶対値が所定の範囲より小さいベクタデータを削除する。
【0095】
次に、MFP100Aが備えるCPU111の画像伸張機能について説明する。図13は、MFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。図13に示すCPU111の画像伸張機能は、MFP100Aが備えるCPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することにより実現される。画像伸張プログラムは、画像処理プログラムの一部である。
【0096】
図13を参照して、MFP100Aが備えるCPU111に実現される画像伸張機能は、縮小画像データとベクタデータとが入力される入力部71と、縮小画像データをその解像度よりも高い高解像度の拡大画像データに変換する拡大部73と、ベクタデータを拡大画像データの解像度で展開した線画を含む展開画像を生成する展開部75と、拡大画像データに線画を合成する合成部77と、を含む。
【0097】
入力部71は、ネットワークI/F118がMFP100Aから縮小画像データとベクタデータとを受信すると、受信された縮小画像データとベクタデータとが入力される。入力部71は、入力された縮小画像データを拡大部73に出力するとともに、ベクタデータを展開部75に出力する。なお、ユーザが操作部105を操作して、EEPROM115またはHDD116に記憶された縮小画像データを指定すれば、指定された縮小画像データとその縮小画像データと組になるベクタデータとを読み出すことにより、それらが入力される。ここで、EEPROM115またはHDD116に記憶された縮小画像データは、MFP100から受信された縮小画像データである。また、MFP100Aが備えるCPU111に画像圧縮機能が実現される場合、MFP100Aが備えるCPU111によって生成された縮小画像データであってもよい。
【0098】
拡大部73は、入力部71から入力される縮小画像データをその解像度よりも高い高解像度の拡大画像データに変換する。拡大画像データの解像度は、予め定められた解像度であってもよく、ユーザが操作部105に入力することによって設定された解像度であってもよい。拡大部73は、拡大画像データを合成部77に出力する。入力部71から入力される縮小画像データは、文字領域中の特定線の非消去部分を除く部分が消去された画像データであるため、拡大画像データも文字領域中の特定線の非消去部分を除く部分を含まない。
【0099】
展開部75は、入力部71から入力されるベクタデータを拡大画像データの解像度で展開した線画を含む展開画像を生成する。展開部75は、生成された展開画像を合成部77に出力する。
【0100】
合成部77は、拡大部73から入力される拡大画像データに、展開部75から入力される展開画像を合成した合成画像を生成し、合成画像を出力する。入力部71が、ネットワークI/F118がMFP100Aから受信した縮小画像データとベクタデータとの組が入力される場合、合成部77は、ユーザによる操作によらず、自動的に画像形成部30に合成画像を用紙に形成させる。
【0101】
なお、合成画像の出力先は、ユーザが操作部105に入力する指示によって定めるようにしてもよい。ユーザにより出力先として表示部103が指示される場合には、合成画像を表示部103に表示し、画像形成部30が指示される場合には、画像形成部30に合成画像を用紙に形成させる。
【0102】
図14は、画像伸張処理の流れの一例を示すフローチャートである。画像伸張処理は、MFP100Aが備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することによりCPU111により実行される。図14を参照して、CPU111は、縮小画像データとベクタデータとが入力されるまで待機状態となり(ステップS51でNO)、縮小画像データとベクタデータとが入力されると(ステップS51でYES)、処理をステップS52に進める。ネットワークI/F118がMFP100Aから縮小画像データとベクタデータとを受信すると、受信された縮小画像データとベクタデータとが入力される。
【0103】
ステップS52においては、入力された縮小画像データを拡大し、拡大画像データを生成する。次のステップS53においては、入力されたベクタデータを展開した展開画像を生成する。そして、拡大画像データに展開画像を合成した合成画像を生成する。次のステップS55においては、合成画像を出力し、処理を終了する。
【0104】
以上説明したように、画像処理装置としてのMFP100は、CPU111が画像圧縮プログラムを実行する場合、画像データの特定線をベクタデータに変換し、画像データまたは縮小画像データから抽出された文字領域中の特定線を消去し、画像データを解像度が低い縮小画像データに変換し、縮小画像データとベクタデータとの組を出力する。このため、画像データを縮小することにより失われる文字の形状をベクタデータに含めることができる。また、文字のすべての線をベクタデータに変換しないので、ベクタデータのデータ量をできるだけ小さくすることができる。さらに、画像データまたは縮小画像データから抽出された文字領域中の特定線の非消去部分を除く部分を消去するので、画像データを縮小した縮小画像データのデータ量をさらに小さくすることができる。
【0105】
また、画像データまたは縮小画像データ中の特定線の非消去部分を消去しないので、特定線と水平線または垂直線とが連結する情報を縮小画像データに保持することができる。
【0106】
<画像圧縮機能の第1の変形例>
上記実施の形態におけるMFP100において、CPU111に実現される画像圧縮機能においては、画像データ中の特定線をベクタデータとするとともに、画像データから特定線の非消去部分以外の部分を消去するようにした。CPU111に実現される第1の変形例における画像圧縮機能は、画像データから特定線の全部分を消去するようにする点で異なる。画像データから特定線の全部分を消去した場合、図7で示したように、拡大画像とベクタデータによって展開された特定線とが連結されない場合がある。画像圧縮機能の第1の変形例においては、特定線のベクタデータを連結部分で延長することにより、拡大画像とベクタデータによって展開された特定線とを確実に連結するようにしたものである。
【0107】
図15は、MFPが備えるCPUの第1の変形例における画像圧縮機能の概要の一例を示すブロック図である。図15に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。図15を参照して、図4に示したCPU111に実現される画像圧縮機能と異なる点は、特定線部分消去部59が特定線全部消去部59Aに変更された点、延長部65が追加された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0108】
ベクタ部分変換部57は、エッジ画像の文字領域に含まれる輪郭線のうち特定線をベクタデータに変換し、ベクタデータを特定線全部消去部59Aおよび延長部65に出力する。
【0109】
特定線全部消去部59Aは、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線全部消去部59Aは、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の全部を画像データから消去する。具体的には、特定線部分消去部59は、ベクタデータに基づいて特定される特定線を構成する画素の値を、画像データの下地の領域の画素の値で置き換える。特定線全部消去部59Aは、特定線が消去された画像データを縮小部61に出力する。
【0110】
延長部65は、ベクタ部分変換部57から入力されるベクタデータのうち、両端のいずれか一方が別の水平線または垂直線と結合する特定線に対応するベクタデータの、水平線または垂直線と結合する側を所定の長さだけ延長する。延長部65は、延長後のベクタデータを出力部63に出力する。
【0111】
図16は、特定線の全部が消去された文字画像およびベクタデータ一例を示す第1の図である。図16は、図3(A)に示した文字の画像から特定線の全部が消去された文字画像および延長されたベクタデータを示している。図16を参照して、特定線の全部が消去された文字画像211Aは、文字「天」から特定線201,203を除いた画像である。ベクタデータ202A,204Aは、特定線201,203に基づいて生成され、特定線の全部が消去された文字画像211Aと結合する側の端部が、特定線の全部が消去された文字画像211A側に延長されている。ベクタデータ202A,204Aは、特定線201,203の中心線に沿ったベクトルの組み合わせで示され、線の太さの情報および端部の形状等の情報を含む。図16に示す特定線の全部が消去された文字画像211Aと、ベクタデータ202A,204Aとから、図3(A)に示した文字の画像を再現することができる。
【0112】
第1の変形例における画像圧縮機能が、図16に示したようにベクタデータ202A,204Aを、特定線の全部が消去された文字画像211A側に延長するようにした理由は、特定線の全部が消去された文字画像211Aを縮小した後に拡大した画像にベクタデータ202A,204Aを展開した画像を合成した合成画像が、図7に示した画像とならないようにするためである。換言すれば、特定線の全部が消去された文字画像211Aと、ベクタデータ202A,204Aを展開した特定線とを確実に連結するためである。
【0113】
図17は、画像圧縮処理の流れの一例を示す第2のフローチャートである。図17を参照して、図8に示した画像圧縮処理と異なる点は、ステップS05の後にステップS05Aが追加された点、ステップS06がステップS06Aに変更された点である。その他の処理は、図8に示した処理と同じなのでここでは説明を繰り返さない。
【0114】
ステップS05Aにおいては、ベクタデータを延長する延長処理を実行する。ステップS06Aにおいては、画像データから特定線の全部を消去する特定線全部消去処理を実行する。
【0115】
図18は、延長処理の流れの一例を示すフローチャートである。延長処理は、図17のステップS05Aで実行される処理である。図18を参照して、ステップS31においては、図17のステップS05において生成されたベクタデータのうちから1つを処理対象として選択する。次のステップS32においては、選択されたベクタデータの端部が別の直線と結合しているか否かを判断する。ベクタデータの両端部のいずれか一方が別の直線と結合していれば、処理をステップS33に進めるが、両端部のいずれも別の直線と結合していなければステップS33をスキップして処理をステップS34に進める。ステップS33においては、処理対象として選択されているベクトルデータを、結合部分側の端部を延長する。結合部分は、ベクタデータの両端部のうち、別の直線と結合している端部であり、延長する長さは、予め定められている。また延長する方向は、ベクタデータの端部付近の方向と同じ方向とすればよい。
【0116】
ステップS34においては、処理対象として選択されていないベクトルデータが存在するか否かを判断する。未処理のベクトルデータが存在するならば処理をステップS31に戻すが、そうでなければ処理を画像圧縮処理に戻す。
【0117】
図19は、特定線全部消去処理の流れの一例を示すフローチャートである。特定線全部消去処理は、図17のステップS06Aにおいて実行される処理であり、図17のステップS01において入力された画像データ中のステップS04において選択された文字領域を処理対象とする。さらに、図17のステップS05において生成されたベクタデータを用いる。図19を参照して、図10に示した特定線部分消去処理と異なる点は、ステップS22、ステップS23が削除された点である。したがって、図8のステップS01において入力された画像データから特定線を選択し(ステップS21)、選択された特定線を画像データから消去する(ステップS24)処理を、図17のステップS04において選択された文字領域中に含まれる特定線のすべてに対して実行する。
【0118】
<画像圧縮機能の第2の変形例>
上記実施の形態におけるMFP100において、CPU111に実現される画像圧縮機能においては、画像データ中の特定線をベクタデータとするとともに、画像データから特定線の非消去部分以外の部分を消去するようにした。CPU111に実現される第2の変形例における画像圧縮機能は、画像データから特定線の全部または部分を消去することなく、画像データ中の特定線を線幅の細い細線に変換する点で異なる。
【0119】
図20は、MFPが備えるCPUの第2の変形例における画像圧縮機能の概要の一例を示すブロック図である。図20に示すCPU111の画像圧縮機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。図20を参照して、図4に示したCPU111に実現される画像圧縮機能と異なる点は、特定線部分消去部59が特定線細線化部67に変更された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0120】
特定線細線化部67は、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線細線化部67は、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の線幅を細くする。具体的には、特定線細線化部67は、ベクタデータに基づいて特定される特定線を構成する画素のうち、水平方向に配列する複数の画素の両端から所定数を下地の領域の画素の値で置き換える。特定線細線化部67は、特定線が細くされた画像データを縮小部61に出力する。
【0121】
特定線が細い線に変換されるので、縮小画像データ中に含まれる特定線が拡大された場合に、輪郭部分がジャギーと呼ばれるギザギザの形状になるが、ベクタデータによって展開される特定線の線幅が、拡大画像中に含まれる特定線の線幅よりも太いので、ベクタデータによって展開される特定線によってジャギーが打ち消される。一方、ベクタデータによって展開される特定線が水平線または垂直線との結合部分で連結されない場合であっても、拡大画像データ中に含まれる特定線によって、結合される。拡大画像データ中に含まれる特定線の線幅は、ベクタデータによって展開される特定線の線幅よりも細いが、長さが短いので目立たない。
【0122】
図21は、画像圧縮処理の流れの一例を示す第3のフローチャートである。図21を参照して、図8に示した画像圧縮処理と異なる点は、ステップS06がステップS06Bに変更された点である。その他の処理は、図8に示した処理と同じなのでここでは説明を繰り返さない。ステップS06Bにおいては、特定線細線化処理が実行される。特定線細線化処理は、ステップS01において入力された画像データ中のステップS04において選択された文字領域を処理対象とし、文字領域中のすべての特定線の線幅を細くする処理である。図19のステップS24において、特定線を消去する処理を、特定線を細くする処理に変更した処理とすればよい。
【0123】
<第2の実施の形態>
第1の実施の形態におけるMFP100は、画像データの文字領域中の特定線の非消去部分を除く部分または特定線の全部を消去する、または特定線を細くした画像データを縮小した縮小画像データを生成するとともに、特定線のベクタデータを生成するようにした。画像伸張処理においては、ベクタデータを展開することにより特定線が再現される。画像データ中の特定線が単色の場合、ベクタデータに色の情報を含ませることにより画像データ中の特定線と同じ色の特定線をベクタデータから再現できる。しかしながら、画像データ中の特定線の色が複数の色を含む場合、特にグラデーションで色が表現されている場合には、ベクタデータに色の情報を含ませると、ベクタデータのデータ量が大きくなってしまう。
【0124】
第2の実施の形態におけるMFP100は、画像データに含まれる文字が複数の色を有する場合、特に、文字に付される色がグラデーションを有する場合に適用できる。
【0125】
図22は、第2の実施の形態におけるMFPが備えるCPUの画像圧縮機能の概要の一例を示すブロック図である。図22に示すCPU111の画像圧縮機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像圧縮プログラムを実行することにより実現される。図22を参照して、図4に示したCPU111に実現される画像圧縮機能と異なる点は、特定線部分消去部59が特定線太線化部69に変更された点である。その他の機能は、図4に示した機能と同じなので、ここでは説明を繰り返さない。
【0126】
特定線太線化部69は、画像データ取得部51から画像データが入力され、ベクタ部分変換部57からベクタデータが入力される。特定線太線化部69は、ベクタデータに基づいて画像データ中の特定線を特定し、特定された特定線の線幅を太くする。具体的には、特定線太線化部69は、ベクタデータに基づいて特定される特定線を構成する画素のうち、水平方向に配列する複数の画素の両端から所定数外側の画素を周辺の画素の画素値の最小値で置き換える。なお、ここでは画素値は、輝度を示し、輝度が高いほど画素値が大きい。特定線太線化部69は、特定線が太くされた画像データを縮小部61に出力する。
【0127】
図23は、画像圧縮処理の流れの一例を示す第4のフローチャートである。図23を参照して、図8に示した画像圧縮処理と異なる点は、ステップS06がステップS06Cに変更された点である。その他の処理は、図8に示した処理と同じなのでここでは説明を繰り返さない。ステップS06Cにおいては、特定線太線化処理が実行される。特定線太線化処理は、ステップS01において入力された画像データ中でステップS04において選択された文字領域を処理対象とし、文字領域中の特定線のすべての線幅を太くする処理である。図19のステップS24において、特定線を消去する処理を、特定線を太くする処理に変更した処理とすればよい。
【0128】
次に、第2の実施の形態におけるMFPが備えるCPUの画像伸張機能について説明する。図24は、第2の実施の形態におけるMFPが備えるCPUの画像伸張機能の概要の一例を示すブロック図である。図24に示すCPU111の機能は、CPU111がROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することにより実現される。画像伸張プログラムは、画像処理プログラムの一部である。
【0129】
図24を参照して、図13に示した第1の実施の形態における画像伸張機能と異なる点は、合成部77が補正部79に変更された点である。補正部79は、拡大部73から拡大画像データが入力され、展開部75から展開画像が入力される。拡大部73から入力される拡大画像データは、特定線が太く変換された縮小画像データを拡大した画像なので、特定線は輪郭がギザギザのノイズを有するが、他の線よりも太い。さらに、特定線が濃度が変化するグラデーションの色を有する場合にも、そのグラデーションを含む。一方、展開部75から入力される展開画像は、特定線以外の線と同じ線幅である。
【0130】
補正部79は、展開部75から入力される展開画像をマスク画像とし、拡大画像データをマスク画像を用いて補正する。具体的には、拡大画像データに含まれる特定線のうちマスク画像からはみ出す部分の画素の値を、下地の画素の値で置き換える。展開部75から入力される展開画像は、輪郭にノイズを含まないので、拡大画像データの特定線の輪郭に存在したノイズを消去することができる。
【0131】
図25(A)は、拡大画像データ中の文字画像の一例を示す図である。図25(A)は、図3(A)に示した文字の画像の特定線を太くした文字画像を縮小した後に拡大した文字画像211Bを示している。図25(A)を参照して、文字画像211Bは、特定線を除く部分211Aと、特定線を太くした部分205,207とを含む。
【0132】
図25(B)は、拡大画像データ中の文字画像とマスク画像との一例を示す図である。図25(B)を参照して、マスク画像201,203は、ベクタデータ202,204を展開して再現された特定線である。文字画像211Bの部分205,207は、マスク画像201,203よりも面積が広い。補正部79により、文字画像211Bの部分205,207のうちマスク画像201,203からはみ出す部分が下地の画素値に置き換えられる。このため、図3(A)に示した文字画像が再現され、特定線の輪郭に発生する階段状のノイズを低減することができる。さらに、文字画像211Bの部分205,207がグラデーションを含む色を有する場合、その色は、補正部79により補正された後も維持される。
【0133】
図26は、第2の実施の形態における画像伸張処理の流れの一例を示すフローチャートである。第2の実施の形態における画像伸張処理は、MFP100Aが備えるCPU111が、ROM113、EEPROM115、HDD116またはCD−ROM119Aに記憶された画像伸張プログラムを実行することによりCPU111により実行される。
【0134】
図26を参照して、図14に示した画像伸張処理と異なる点は、ステップS53、ステップS54およびステップS55が、それぞれステップS53A、ステップS54AおよびステップS55Aに変更された点である。その他の処理は、図14に示した処理と同じなので、ここでは説明を繰り返さない。
【0135】
ステップS53Aにおいては、入力されたベクタデータを展開したマスク画像を生成する。そして、拡大画像データに含まれる特定線のうちマスク画像からはみ出す部分の画素の値を下地の画素の値で置き換えることにより補正画像を生成する(ステップS54A)。次のステップS55Aにおいては、補正画像を出力し、処理を終了する。
【0136】
第2の実施の形態における特定線が太い線に変換されるので、縮小画像データ中に含まれる特定線が拡大された場合に、輪郭部分が階段状の形状になる。一方、拡大画像データ中の特定線の線幅が、ベクタデータによって展開される特定線(マスク画像)の線幅よりも太いのでマスク画像からはみ出す。マスク画像からはみ出す部分が下地に変換するので、拡大画像中の特定線の輪郭部分に存在する階段状の形状を消去することができる。一方、画像データ中の特定線が複数の色を有する場合であっても、拡大画像中の特定線も複数の色を有する。このため、ベクタデータに色情報を含める必要はなく、ベクタデータのデータ量をできるだけ小さくすることができる。
【0137】
なお、上述した実施の形態においては、画像処理装置の一例としてMFP100,100Aを説明したが、図8、図17、21および図24に示した画像圧縮処理、または図14および図26に示した画像伸張処理をMFP100に実行させるための画像処理方法または、その画像処理方法をコンピュータに実行させるための画像処理プログラムとして発明を捉えることができるのは言うまでもない。
【0138】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0139】
<付記>
(1) 前記縮小手段は、曲線が消去された後の画像データを縮小する、請求項2に記載の画像処理装置。
【符号の説明】
【0140】
1 画像処理システム、3 ネットワーク、5 インターネット、10 ADF、13 操作パネル、20 原稿読取部、30 画像形成部、40 給紙部、51 画像データ取得部、53 エッジ画像生成部、55 文字領域抽出部、57,57A ベクタ部分変換部、59 特定線部分消去部、59A 特定線全部消去部、61 縮小部、63 出力部、65 延長部、67 特定線細線化部、69 特定線太線化部、71 入力部、73 拡大部、75 展開部、77 合成部、79 補正部、81 特定線抽出部、83,83A ベクタデータ生成部、85 水平・垂直線除外部、100,100A MFP、101 メイン回路、103 表示部、105 操作部、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 EEPROM、116 HDD、117 ファクシミリ部、118 ネットワークI/F、119 カードI/F、119A CD−ROM。
【特許請求の範囲】
【請求項1】
画像データを取得する画像データ取得手段と、
前記取得された画像データから文字が表された文字領域を抽出する文字領域抽出手段と、
前記抽出された文字領域中で所定の範囲内の傾きを有する線分を除く特定線をベクタデータに変換するベクタ部分変換手段と、
前記画像データを、前記画像データの解像度よりも低い解像度の縮小画像データに変換する縮小手段と、
前記縮小画像データと前記ベクタデータとの組を出力する出力手段と、を備えた画像処理装置。
【請求項2】
前記画像データまたは前記縮小画像データから前記抽出された文字領域中の前記特定線を消去する消去手段をさらに備えた、請求項1に記載の画像処理装置。
【請求項3】
前記消去手段は、前記文字領域中の前記特定線のうち別の直線と連結する箇所から所定の長さの部分は消去しない、請求項2に記載の画像処理装置。
【請求項4】
前記ベクタ部分変換手段は、前記文字領域中の前記特定線のうち別の直線と連結する特定線は、別の直線と連結する側を所定の長さ延長した特定線としてベクタデータに変換する延長手段を含む、請求項2に記載の画像処理装置。
【請求項5】
前記画像データまたは前記縮小画像データに含まれる前記文字領域中の前記特定線を細くする細線化手段をさらに備えた、請求項1に記載の画像処理装置。
【請求項6】
前記画像データまたは前記縮小画像データに含まれる前記文字領域中の前記特定線を太くする太線化手段をさらに備えた、請求項1に記載の画像処理装置。
【請求項7】
前記ベクタ部分変換手段は、前記文字領域中の前記特定線を抽出する特定線抽出手段を含む、請求項1〜6のいずれかに記載の画像処理装置。
【請求項8】
前記ベクタ部分変換手段は、前記文字領域中の線の全てをベクタデータに変換する全体変換手段と、
前記変換されたベクタデータのうちから所定の範囲内の傾きを有する直線のベクタデータを除去する除去手段と、を含む請求項1〜6のいずれかに記載の画像処理装置。
【請求項9】
前記取得された画像データからエッジ画像を生成するエッジ画像生成手段を、さらに備え、
前記ベクタ部分変換手段は、前記エッジ画像から前記抽出された文字領域中の特定線をベクタデータに変換する、請求項1〜8のいずれかに記載の画像処理装置。
【請求項10】
画像データと、前記画像データと組みになり、前記画像データの文字領域中の特定線のみを含むベクタデータとを取得するデータ取得手段と、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換する補正手段と、を備えた画像処理装置。
【請求項11】
請求項1〜5、および請求項1〜5のいずれかに従属する請求項7〜9のいずれかに記載の第1の画像処理装置と、
前記第1の画像処理装置が出力する前記縮小画像データと前記ベクタデータとの組が入力される入力手段と、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、
前記ベクタデータを、前記拡大画像データの解像度で展開した特定線画像を生成する展開手段と、
前記拡大画像データと前記特定線画像とを合成する合成手段と、を備えた第2の画像処理装置と、を含む画像処理システム。
【請求項12】
請求項6、および請求項6に従属する請求項7〜9のいずれかに記載の第1の画像処理装置と、
前記第1の画像処理装置が出力する前記縮小画像データと前記ベクタデータとの組が入力される入力手段と、
前記縮小画像データを前記縮小画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換する補正手段と、を備えた第2の画像処理装置と、を含む画像処理システム。
【請求項13】
画像データを取得するステップと、
前記取得された画像データから文字が表された文字領域を抽出するステップと、
前記抽出された文字領域中で所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、
前記画像データを、前記画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、
前記縮小画像データと前記ベクタデータとの組を出力するステップと、を含む画像処理方法。
【請求項14】
画像データと、前記画像データと組みになり、前記画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するステップと、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換するステップと、を含む画像処理方法。
【請求項15】
画像データを取得するステップと、
前記取得された画像データから文字が表された文字領域を抽出するステップと、
前記抽出された文字領域中の所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、
前記画像データを、前記画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、
前記縮小画像データと前記ベクタデータとの組を出力するステップと、をコンピュータに実行させる画像処理プログラム。
【請求項16】
画像データと、前記画像データと組みになり、前記画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するステップと、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換するステップと、コンピュータに実行させる画像処理プログラム。
【請求項1】
画像データを取得する画像データ取得手段と、
前記取得された画像データから文字が表された文字領域を抽出する文字領域抽出手段と、
前記抽出された文字領域中で所定の範囲内の傾きを有する線分を除く特定線をベクタデータに変換するベクタ部分変換手段と、
前記画像データを、前記画像データの解像度よりも低い解像度の縮小画像データに変換する縮小手段と、
前記縮小画像データと前記ベクタデータとの組を出力する出力手段と、を備えた画像処理装置。
【請求項2】
前記画像データまたは前記縮小画像データから前記抽出された文字領域中の前記特定線を消去する消去手段をさらに備えた、請求項1に記載の画像処理装置。
【請求項3】
前記消去手段は、前記文字領域中の前記特定線のうち別の直線と連結する箇所から所定の長さの部分は消去しない、請求項2に記載の画像処理装置。
【請求項4】
前記ベクタ部分変換手段は、前記文字領域中の前記特定線のうち別の直線と連結する特定線は、別の直線と連結する側を所定の長さ延長した特定線としてベクタデータに変換する延長手段を含む、請求項2に記載の画像処理装置。
【請求項5】
前記画像データまたは前記縮小画像データに含まれる前記文字領域中の前記特定線を細くする細線化手段をさらに備えた、請求項1に記載の画像処理装置。
【請求項6】
前記画像データまたは前記縮小画像データに含まれる前記文字領域中の前記特定線を太くする太線化手段をさらに備えた、請求項1に記載の画像処理装置。
【請求項7】
前記ベクタ部分変換手段は、前記文字領域中の前記特定線を抽出する特定線抽出手段を含む、請求項1〜6のいずれかに記載の画像処理装置。
【請求項8】
前記ベクタ部分変換手段は、前記文字領域中の線の全てをベクタデータに変換する全体変換手段と、
前記変換されたベクタデータのうちから所定の範囲内の傾きを有する直線のベクタデータを除去する除去手段と、を含む請求項1〜6のいずれかに記載の画像処理装置。
【請求項9】
前記取得された画像データからエッジ画像を生成するエッジ画像生成手段を、さらに備え、
前記ベクタ部分変換手段は、前記エッジ画像から前記抽出された文字領域中の特定線をベクタデータに変換する、請求項1〜8のいずれかに記載の画像処理装置。
【請求項10】
画像データと、前記画像データと組みになり、前記画像データの文字領域中の特定線のみを含むベクタデータとを取得するデータ取得手段と、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換する補正手段と、を備えた画像処理装置。
【請求項11】
請求項1〜5、および請求項1〜5のいずれかに従属する請求項7〜9のいずれかに記載の第1の画像処理装置と、
前記第1の画像処理装置が出力する前記縮小画像データと前記ベクタデータとの組が入力される入力手段と、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、
前記ベクタデータを、前記拡大画像データの解像度で展開した特定線画像を生成する展開手段と、
前記拡大画像データと前記特定線画像とを合成する合成手段と、を備えた第2の画像処理装置と、を含む画像処理システム。
【請求項12】
請求項6、および請求項6に従属する請求項7〜9のいずれかに記載の第1の画像処理装置と、
前記第1の画像処理装置が出力する前記縮小画像データと前記ベクタデータとの組が入力される入力手段と、
前記縮小画像データを前記縮小画像データの解像度よりも高い高解像度の拡大画像データに変換する拡大手段と、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するマスク画像生成手段と、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換する補正手段と、を備えた第2の画像処理装置と、を含む画像処理システム。
【請求項13】
画像データを取得するステップと、
前記取得された画像データから文字が表された文字領域を抽出するステップと、
前記抽出された文字領域中で所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、
前記画像データを、前記画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、
前記縮小画像データと前記ベクタデータとの組を出力するステップと、を含む画像処理方法。
【請求項14】
画像データと、前記画像データと組みになり、前記画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するステップと、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換するステップと、を含む画像処理方法。
【請求項15】
画像データを取得するステップと、
前記取得された画像データから文字が表された文字領域を抽出するステップと、
前記抽出された文字領域中の所定の範囲内の傾きを有する直線を除く特定線をベクタデータに変換するステップと、
前記画像データを、前記画像データの解像度よりも低い解像度の縮小画像データに変換するステップと、
前記縮小画像データと前記ベクタデータとの組を出力するステップと、をコンピュータに実行させる画像処理プログラム。
【請求項16】
画像データと、前記画像データと組みになり、前記画像データの文字領域中の所定の範囲内の傾きを有する直線を除く特定線のみを含むベクタデータとを取得するステップと、
前記画像データを前記画像データの解像度よりも高い高解像度の拡大画像データに変換するステップと、
前記ベクタデータを、前記拡大画像データの解像度で展開したマスク画像を生成するステップと、
前記拡大画像データの前記マスク画像からはみ出す部分を下地に変換するステップと、コンピュータに実行させる画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2012−4667(P2012−4667A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−135278(P2010−135278)
【出願日】平成22年6月14日(2010.6.14)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願日】平成22年6月14日(2010.6.14)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
[ Back to top ]