JP2011028586A - 画像処理方法及び画像処理装置及びプログラム - Google Patents

画像処理方法及び画像処理装置及びプログラム Download PDF

Info

Publication number
JP2011028586A
JP2011028586A JP2009174736A JP2009174736A JP2011028586A JP 2011028586 A JP2011028586 A JP 2011028586A JP 2009174736 A JP2009174736 A JP 2009174736A JP 2009174736 A JP2009174736 A JP 2009174736A JP 2011028586 A JP2011028586 A JP 2011028586A
Authority
JP
Japan
Prior art keywords
cluster
pixel
distance
feature vector
image 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.)
Granted
Application number
JP2009174736A
Other languages
English (en)
Other versions
JP5276541B2 (ja
Inventor
Satoshi Naito
聡 内藤
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2009174736A priority Critical patent/JP5276541B2/ja
Priority to US12/836,011 priority patent/US8300939B2/en
Publication of JP2011028586A publication Critical patent/JP2011028586A/ja
Application granted granted Critical
Publication of JP5276541B2 publication Critical patent/JP5276541B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/148Segmentation of character regions
    • G06V30/15Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • 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

Abstract

【課題】 クラスタリング処理により高速に画像の領域分割を行うことのできる画像処理方法及び画像処理装置及びプログラムを提供する。
【解決手段】 所定の画素数に対するクラスタリング処理を終える毎に、帰属する画素数が画素数閾値以下である小クラスタを判別する。画素数閾値以下であると判別された小クラスタを、代表特徴ベクトルの距離が最も近いクラスタと統合する。このように構成することにより、特徴ベクトルの距離計算対象となるクラスタ数を削減する。
【選択図】 図2

Description

本発明は、画像データを領域分割して処理するための画像処理方法及び画像処理装置及びプログラムに関する。
近年、文書を紙ではなく、電子化して保存あるいは送信する需要が高まっている。ここでいう文書の電子化とは、単に紙上の文書をスキャナ等によって読み取って画像データを得るにとどまらない。例えば、文書を構成する文字、図、写真、表等の性質の異なる領域に画像データを分離する。そして、文字領域は文字コード、図領域はベクトルデータ、背景領域や写真領域はビットマップデータ、表領域は構造データなど、各々最も適した形式にデータ化する処理が、文書の電子化処理で行われる。ベクトルデータへの変換手法として、特許文献1の画像処理装置が開示されている。該画像処理装置では、クラスタリング処理により領域分割を行い、各領域の輪郭を抽出し、抽出された輪郭をベクトルデータへ変換する。また、特許文献2では、画像を背景と前景とに分離し、前景をベクトルデータに変換し、背景を背景専用の方法でデータ圧縮する画像処理方法が開示されている。また、特許文献3では、スキャナで読み取られた原稿に対してクラスタリング処理を行った場合に含まれるノイズを除去する画像処理方法が開示されている。
ところで、画像をクラスタリング処理により領域分割する方法としては、Nearest Neighborクラスタリング法が知られている。Nearest Neighborクラスタリング法は、処理対象の画素の特徴ベクトルと各クラスタの代表特徴ベクトルとを比較して、最も距離が近い特徴ベクトルを持つクラスタを探索する。距離が所定の閾値以下であれば該クラスタに処理対象の画素を帰属させる。そうでなければ新たなクラスタを定義して、該クラスタに処理対象の画素を帰属させる。なお、ここで特徴ベクトルとしては、色情報(R、G、Bから成る画素値)が使われるのが一般的である。クラスタの代表特徴ベクトルには、一般的にクラスタの重心が用いられる。即ち、クラスタに帰属する各画素の特徴ベクトル(色情報)の平均値である。Nearest Neighborクラスタリング法では、処理対象の画素の特徴ベクトルと距離が最も近い代表特徴ベクトルを持つクラスタを、全てのクラスタの中から探索する処理を行う。即ち、画素毎に全てのクラスタの代表特徴ベクトルとの距離を計算しなければならない。その為、領域分割の精度を高めるためにクラスタ数を増やすと、計算時間が増大するという問題があった。
このような問題を解決するための従来技術として、特許文献4のカラー画像処理装置が開示されている。かかる特許文献4では、処理対象の画素と隣接画素の特徴ベクトル(色情報)に基づいてクラスタリングを行う。次に、クラスタ同士の色情報及び幾何学情報に基づいてクラスタのグルーピングを行う。ここで、幾何学情報とは、領域同士の近さを表す座標情報などである。
特開2007−158725号公報 特開2008−206073号公報 特開2006−344069号公報 特開平11−288465号公報
しかしながら、上記特許文献4の従来技術では、処理対象の画素と隣接画素の特徴ベクトルの距離が離れている場合、クラスタを新たに定義して注目画素を新たに定義された該クラスタに帰属させるので、大量のクラスタが定義される。その為、グルーピングに要する処理時間が増大するという問題があった。また、上記特許文献3の従来技術では、対象となる画像全体に対するクラスタリング処理を終えた後に、ノイズ除去を行っていた。従って、クラスタリング処理中は、除去されるべきノイズを含むクラスタの代表特徴ベクトルも、処理対象の画素との距離を計算する対象となっていたため、処理時間が増大するという問題があった。
そこで、本発明は、クラスタリング処理により高速に画像の領域分割を行うことのできる画像処理方法及び画像処理装置及びプログラムを提供する。
上記課題を解決するために、本発明の画像処理方法は、画像データを複数のクラスタに分割する画像処理方法であって、クラスタ生成手段が、前記画像データに含まれる画素を順に処理対象とし、処理対象の画素の特徴ベクトルと既に定義されているクラスタの代表特徴ベクトルとの距離のうちで最も近い距離が第1距離閾値以下である場合は、当該最も近い距離の代表特徴ベクトルのクラスタに当該処理対象の画素を帰属させ、前記最も近い距離が前記第1距離閾値以下でない場合は、新たにクラスタを定義して当該定義したクラスタに当該処理対象の画素を帰属させるクラスタ生成工程と、クラスタ統合手段が、予め決められた数の画素に対して前記クラスタ生成工程の処理を終える毎に、定義されているクラスタのうちで帰属する画素数が画素数閾値以下であるクラスタを小クラスタとし、該小クラスタの代表特徴ベクトルと距離が近い代表特徴ベクトルを持つクラスタに該小クラスタを統合するクラスタ統合工程とを有することを特徴とする。
本発明では、予め決められた数の画素に対してクラスタリング処理を行うごとに、帰属する画素数が画素数閾値以下である小クラスタを、代表特徴ベクトル間の距離が近いクラスタへ統合する処理を行う。従って、1画素毎の特徴ベクトルに対し比較対象となるクラスタの総数が減ることにより、従来よりも距離計算回数を削減できるので、高速な領域分割が可能となる。
本実施形態の画像処理方法を適用した画像処理装置の機能構成例を示すブロック図である。 本実施形態の画像処理装置のハードウエア構成例を示すブロック図である。 実施形態1の画像処理方法の具体的な処理手順を例示するフローチャートである。 実施形態1の画像処理方法の小クラスタ統合の処理手順を例示するフローチャートである。 実施形態1の画像処理方法における距離計算回数を例示する図 実施形態1の別の画像処理方法における領域分割結果を例示する図 実施形態2の画像処理方法の具体的な処理手順を例示するフローチャートである。 実施形態2の画像処理方法における距離計算回数を例示する図 実施形態3の画像処理方法の具体的な処理手順を例示するフローチャートである。 実施形態3の画像処理方法における距離計算回数を例示する図
<本実施形態の画像処理装置の構成例> (画像処理装置の機能構成例) 本実施形態の画像処理方法を用いたベクトルデータ変換装置でもある画像処理装置の機能構成例について、図1Aのブロック図を参照して説明する。図1Aにおいて、300は、原稿を読み取る原稿読み取り部であり、具体的にはスキャナで原稿を光学的に読み取り、A/D変換して画像データを出力する。301は、原稿読み取り部300から出力された画像データの各画素が前景であるか背景であるかを判定し、画像データと背景フラグを画素毎に出力する背景判定部である。背景を判定する方法については、前述の特許文献2において既知である。また、例えばスキャナから光学的に読み取られた画像データの場合、紙の色を判別して、その色に基づいて背景画素を判定してもよい。302は、本実施形態の画像処理方法を適用して画像データの領域分割を行うクラスタリング処理部である。クラスタリング処理部302へは、背景判定部301から出力された画像データが1画素ずつラスタスキャン順に入力される。クラスタリング処理部302は、領域分割(クラスタリング処理)後の画像データ(各クラスタ領域のデータ)を出力する。なお、本実施形態では、クラスタリング処理部302は、Lライン分の画素を処理する毎に、帰属する画素数の少ないクラスタを他のクラスタへ統合する。ここで、ライン数Lの値については本発明では限定されないが、本実施形態では"4"とする。303は、クラスタリング処理部302によって分割された各領域(各クラスタ)の輪郭を抽出する輪郭抽出部である。304は、輪郭抽出部303によって抽出された輪郭を基にベクトルデータを生成するベクトルデータ生成部である。ベクトルデータ生成部304は前景画像データのみをベクトルデータへ変換する。305は、背景判定部301から出力された背景フラグに基づいて、画像データのうち背景以外の画素を背景色で塗りつぶして出力する背景生成部である。306は、背景生成部305から出力されたデータを圧縮する背景圧縮部である。背景圧縮部306が圧縮に用いる処理方式は例えばJPEG符号化方式があるが、本発明はこれに限定されない。307は、ベクトルデータ生成部304から出力されたベクトルデータ及び背景圧縮部306から出力された圧縮データを結合し、ファイルを出力するデータ結合部である。
(画像処理装置のハードウエア構成例) 図1Bに示す、本実施形態の画像処理装置をコンピュータにより実現するハードウエア構成例を説明する。図1Bで101は、各プログラムに従って画像処理装置の各要素を実現する演算及び制御を行うCPUである。102は、ブートプログラムなどの固定プログラム及びデータを格納するROMである。
103は、CPU101がプログラムを実行する間に一次記憶として使用されるRAMである。本例ではRAM103には、以下のデータを記憶する領域が確保される。103aは、画像読み取り部300で読み取られた入力画像データを記憶する領域である。103bは、本実施形態の処理対象の画素データを記憶する領域である。103cは、画素データ103bが背景であるか前景であるかを示す背景フラグを記憶する領域である。103dは、対象画素の特徴ベクトル(Pc)を記憶する領域である。103eは、対象画素の特徴ベクトル(Pc)と各クラスタC[i]の代表特徴ベクトル(P[i])とから算出された特徴ベクトル間の類似度を表す距離D(Pc,P[i])を記憶する領域である。103fは、上記距離D(Pc,P[i])の中の最短距離(min_distance)を記憶する領域である。103gは、最短距離(min_distance)に基づき小クラスタを結合するか否かを判定するための距離閾値(Td、Td1/Td2)を記憶する領域である。103hは、含まれる画素数が少ない小クラスタを判別するための画素数閾値(Tn)を記憶する領域である。103iは、クラスタ総数を制限するためのクラスタ数閾値(Tc)を記憶する領域である。103jは、本実施形態の処理により統合された小クラスタの数(num_marged_cluster)を記憶する領域である。103k以降は、生成されたクラスタ情報を記憶する領域である。103mは、現在の全体のクラスタの数(num_cluster)を記憶する領域である。103nは、最初のクラスタC[1]の情報を記憶する領域である。103pは、クラスタC[1]の代表特徴ベクトル(P[1])を記憶する。103qは、クラスタC[1]に含まれる画素総数(N[1])を記憶する。103rは、クラスタC[1]に含まれる画素を特定するアドレスなどを記憶する。103sは、i番目のクラスタC[i]の情報を記憶する領域である。103tは、クラスタC[i]の代表特徴ベクトル(P[i])を記憶する。103wは、クラスタC[i]に含まれる画素総数(N[i])を記憶する。103xは、クラスタC[i]に含まれる画素を特定するアドレスなどを記憶する。なお、以下のフローチャートで使用されるループインデクスiやjを代入する変数nなどは、煩雑さを避けるため図1Bの図示からは省いた。
104は、CPU101が実行するプログラムや大容量のデータを不揮発に記憶するディスクなどの外部記憶部である。本例では外部記憶部104には、以下のデータ及びプログラムを記憶する領域が確保される。104aは、画像読み取り部300で読み取られた入力画像データを格納する領域である。104bは、背景判定部301から出力される各画素データと背景フラグとが組となった背景判定画像データを格納する領域である。104cは、輪郭抽出部303で抽出されベクトルデータ生成部304で生成されるクラスタの輪郭を表すベクトルデータを格納する領域である。104dは、背景生成部305で生成され背景圧縮部306で圧縮された圧縮背景データを格納する領域である。104eは、データ結合部307でベクトルデータと圧縮された背景データとから生成される結合画像データを格納する領域である。104f以降は、CPU101が実行する本実施形態の処理手順を示すプログラムを格納する領域である。以下の各プログラムがCPU101で実行されることで、図1Aの各機能要素の処理が実現される。104fは、画像読み取り部300での原稿読み取りを制御する原稿読取制御プログラムを格納する領域である。104gは、各画素が背景か前景かを判定する背景判定プログラムを格納する領域である。104hは、後述する図2、図6、図8に示すような本実施形態に特有のクラスタリングを制御するクラスタリング処理プログラムを格納する領域である。クラスタリング処理プログラムには、図3で後述する小クラスタ結合ルーチン104iや、対象画素の特徴ベクトルとクラスタの代表特徴ベクトルとの距離を算出する距離計算ルーチン104jが含まれる。104kは、クラスタの輪郭を抽出する輪郭抽出プログラムを格納する領域である。104mは、抽出されたクラスタの輪郭からベクトルデータを生成するベクトルデータ生成プログラムを格納する領域である。104nは、各画素の背景フラグに基づいて背景データを生成する背景生成プログラムを格納する領域である。104pは、生成された背景データを圧縮する背景圧縮プログラムを格納する領域である。104qは、ベクトルデータと圧縮された背景データとを結合して結合画像データを生成するデータ結合プログラムを格納する領域である。
105は、外部からのデータを受信するための入力インタフェースであり、本例では前述の画像読み取り部300からの画像データが入力される。106は、画像処理装置で処理済みの画像ファイルを出力する出力インタフェースであり、例えば、外部装置に作成された画像ファイルを送信する画像ファイル送信部106aや、作成された画像ファイルを格納する画像ファイル格納部106bが接続される。
[実施形態1]
<実施形態1のクラスタリング処理部302の処理手順例> 以下、上記本実施形態の画像処理装置のクラスタリング処理部302による複数のクラスタ生成の実施形態1の処理例を、図2に例示するフローチャートを用いて詳細に説明する。まず、CPU101は、クラスタ数を表す変数"num_cluster"と、クラスタリング処理対象の画素(以下、処理対象画素と記す)の画素が位置するライン(垂直座標)を表す変数"line"とをゼロに初期化する(S101)。次に、CPU101は処理対象画素の特徴ベクトルPcを取得する(S102)。本実施形態では、左上の画素から順に処理対象にしていくものとする。なお、本実施形態の画像処理方法では特徴ベクトル(特徴量)としてRGB色空間の画素値を用いるが、本発明はこれに限定されるものではない。例えば、YCC色空間の画素値を用いてもよいし、画素値に加えて画素の座標情報を特徴ベクトルに用いてもよい。また、各クラスタを代表する特徴ベクトルを代表特徴ベクトルと呼ぶこととする。本実施形態では、各クラスタの代表特徴ベクトルは、当該各クラスタに帰属している画素の特徴ベクトルの平均値を用いることとする。次に、CPU101はクラスタ数がゼロであるか否かを判定する(S103)。クラスタ数がゼロである場合は(S103でYES)、CPU101はS113へ処理を移行する。クラスタ数がゼロでない場合は(S103でNO)、CPU101はS104へ処理を移行する。
S104〜S110は、定義済みのクラスタC[1]〜C[num_cluster]の中から、処理対象の画素の特徴ベクトルと最も距離の近い代表特徴ベクトルを持つクラスタを探索する処理である。S104では、CPU101はループインデクスiを初期化する。また、CPU101は、処理対象画素の特徴ベクトルと各クラスタの代表特徴ベクトルとの距離のうち、最短の距離を表す変数"min_distance"を定数MAX_VALで初期化する。ここで、定数MAX_VALには、特徴空間(色情報)で取り得る最大の距離よりも大きな値を設定する。さらに、処理対象画素の特徴ベクトルとの距離が最も近いクラスタの番号を表す変数nを"1"に初期化する。次に、CPU101は、クラスタC[i]の代表特徴ベクトルP[i]を取得する(S105)。CPU101は、処理対象画素の特徴ベクトルPcとクラスタC[i]の代表特徴ベクトルP[i]との距離D(Pc,P[i])を計算し(S106)、変数"min_distance"と比較する(S107)。距離D(Pc,P[i])が変数"min_distance"以下であれば(S107でYES)、CPU101は"min_distance"にS106で計算した距離D(Pc,P[i])を代入する(S108)。さらに、CPU101は、変数nにループインデクスiを代入し(S108)、S109へ処理を移行する。距離D(Pc,P[i])が変数"min_distance"以下でなければ(S107でNO)、CPU101はS109へ処理を移行する。CPU101は、S109でループインデクスiに"1"を加算し、S110では処理対象画素の特徴ベクトルPcと全てのクラスタの代表特徴ベクトルとの比較を終えたか否かを判定する。全てのクラスタとの比較を終えた場合(S110でYES)、CPU101はS111へ処理を移行する。全てのクラスタとの比較を終えてない場合は(S110でNO)、CPU101はS105へ処理を移行して処理を繰り返す。
S111で、CPU101は変数"min_distance"と第1距離閾値Tdとを比較する。変数"min_distance"が第1距離閾値以下である場合は(S111でYES)、CPU101はS112へ処理を移行する。S112では、CPU101は、処理対象の画素をクラスタC[n]に帰属させ、クラスタC[n]の代表特徴ベクトルP[n]を更新する。さらに、CPU101は、クラスタC[n]に帰属する画素の総数を表すN[n]に1を加算した後、S114へ処理を移行する。S111で変数"min_distance"が第1距離閾値より大きい場合(S111でNO)は、いずれのクラスタも処理対象画素の特徴ベクトルから距離が離れている。よって、CPU101は、新しいクラスタを定義し、該新規クラスタに処理対象の画素を帰属させる(S113)。具体的には、CPU101は、S113では先ずクラスタ数"num_cluster"に"1"を加算する。該新規クラスタC[num_cluster]の代表特徴ベクトルP[num_cluster]を処理対象画素の特徴ベクトルPcとする。さらに、該新規クラスタC[num_cluster]に帰属する画素数N[num_cluster]を"1"とする。
次に、S114で、CPU101は処理対象画素が画像の右端に位置するか否かを判定する。処理対象画素が画像の右端に位置する場合(S114でYES)は、CPU101はS115へ処理を移行する。処理対象画素が画像の右端に位置しない場合(S114でNO)は、CPU101はS118へ処理を移行する。S115で変数"line"に"1"を加算し、S116へ処理を移行する。S116でCPU101は変数"line"を"L"で割った余りがゼロであるか否かを判定する。余りがゼロである場合(S116でYES)、CPU101はS117へ処理を移行する。余りがゼロでない場合(S116でNO)、CPU101はS118へ処理を移行する。例えば、ライン数“L”が“4”であった場合、4ライン分の画素の処理が終わるたびに、S118へ移行することになる。S117では、CPU101は帰属する画素数の少ないクラスタ(以降、小クラスタと記す)を他のクラスタと統合する処理を行う。かかる本実施形態の特徴部分であるS117の詳細については、図3を参照して詳細に後述する。画像データ内の全ての画素を処理した場合は(S118でYES)、CPU101はクラスタリング処理部302の処理を終了する。全ての画素を処理してない場合は(S118でNO)、CPU101はS102へ処理を移行し、後続する画素を新たな処理対象画素とする。なお、後続する画素とは、当該処理対象画素が右端でない場合は当該処理対象画素の右隣の画素のことであり、当該処理対象画素が右端に位置する場合は次のラインの左端の画素のことである。
(小クラスタ統合処理S117の手順例) 次に、S117の小クラスタ統合処理について、図3に例示するフローチャートを用いて説明する。
S201で、CPU101はループインデクスiを"1"に初期化する。さらに、CPU101は統合されたクラスタの総数を表す変数"num_marged_cluster"をゼロに初期化する。S202で、CPU101はクラスタC[i]に帰属する画素数N[i]を取得する。S203で、CPU101は画素数N[i]と画素数閾値Tnとを比較する。画素数N[i]が画素数閾値以下であれば(S203でYES)、CPU101はクラスタC[i]が小クラスタであると判定し、S204へ処理を進める。画素数N[i]が画素数閾値以下でない場合(S203でNO)、CPU101はS214へ処理を進める。ここで、画素数閾値Tnは、処理対象のクラスタが小クラスタであるか否かを判定する際の閾値であり、その値は本発明では限定されるものでないが、本実施形態では"1"とする。なお、処理対象の画像データの画素数に応じて画素数閾値Tnを決めてもよく、例えば水平方向(ライン方向)の画素数の1/100としてもよい。S204で、CPU101は小クラスタC[i]の代表特徴ベクトルP[i]を取得する。
S205〜S212は、小クラスタC[i]の代表特徴ベクトルP[i]と最も距離の近い代表特徴ベクトルを持つクラスタを探索する処理である。S205で、CPU101はループインデクスjを"1"に初期化する。また、CPU101は最短の距離を表す変数"min_distance"を定数MAX_VALで初期化する。さらに、CPU101は小クラスタC[i]の代表特徴ベクトルP[i]との距離が最も近いクラスタの番号を表す変数nを"1"に初期化する。S206で、CPU101は処理対象の小クラスタC[i]と比較対象のクラスタC[j]が同一でないか否かを判定する。同一でなければ(S206でYES)、CPU101はS207へ処理を進める。同一であれば(S206でNO)、CPU101はS211へ処理を進める。S207で、CPU101は比較対象となるクラスタC[j]の代表特徴ベクトルP[j]を取得する。S208で、CPU101は、小クラスタC[i]の代表特徴ベクトルP[i]と、比較対象となるクラスタC[j]の代表特徴ベクトルP[j]との類似度を示す距離D(P[i],P[j])を計算する。距離D(P[i],P[j])が"min_distance"以下であれば(S209でYES)、CPU101は"min_distance"に距離D(P[i],P[j])を代入する(S210)。さらに、CPU101は、変数nにループインデクスjを代入し(S210)、S211へ処理を移行する。距離D(P[i],P[j])が"min_distance"以下でなければ(S209でNO)、CPU101はS211へ処理を移行する。S211で、CPU101は、ループインデクスjに1を加算し、S212では全てのクラスタP[1]〜P[num_cluster]について小クラスタP[i]の代表特徴ベクトルとの比較を終えた否かを判定する。全てのクラスタとの比較を終えた場合(S212でYES)、CPU101はS213へ処理を進める。全てのクラスタとの比較を終えてない場合は(S212でNO)、CPU101はS206へ処理を進める。
S213では、CPU101は小クラスタC[i]をクラスタC[n]に統合する処理を行う。具体的には、クラスタC[n]の代表特徴ベクトルP[n]を更新する。ここで、更新後の代表特徴ベクトルP[n]は統合対象となる2つのクラスタC[n]とC[i]とが持つ代表特徴ベクトルの平均値であり、以下の式で表される。
P[n] = (P[n]×N[n] + P[i]×N[i]) / (N[n] + N[i])
さらに、CPU101はクラスタC[n]の画素数N[n]に小クラスタの画素数N[i]を加算する。また、統合されたクラスタ数を表す変数"num_marged_cluster"を更新する。次に、CPU101はS214でループインデクスiに"1"を加算する。S215で、CPU101は全てのクラスタについて小クラスタであるか否かの判定を終えたか否かを確認する。全てのクラスタについて判定を終えていれば(S215でYES)、CPU101はS216へ処理を進める。全てのクラスタについて判定を終えてなければ(S215でNO)、CPU101はS202へ処理を進める。
S216では、小クラスタが統合されることによってクラスタの情報を格納する配列に空きができるので、CPU101は配列内の要素を並び替えることにより配列の空きを埋める。具体的には、代表特徴ベクトルP[1..i..num_cluster]と画素数N[1..i..num_cluster]を並び替える。そして、CPU101は、クラスタ数を表す変数"num_cluster"から統合されたクラスタ数"num_marged_cluster"を減算して新たなクラスタ数"num_cluster"に更新し、小クラスタ統合処理を終了する。
以上に説明したように、本実施形態の画像処理方法では、Lライン処理する毎に、帰属する画素数の少ない小クラスタを統合する(S114〜S117)。原稿読み取り部300から出力された画像データには、スキャナの工学的な歪あるいはガラス面に付着した埃に起因するノイズが存在する。また、読み取られる原稿そのものにも、例えば文字に関してはアンチエイリアシング処理に起因する色のばらつきがエッジ付近に存在する。本実施形態の画像処理方法では、所定の画素数を処理する毎に、ノイズと推定され得る少数の画素が帰属するクラスタを他のクラスタと随時統合することにより、クラスタリングの途中でクラスタの数を減らす。従って、従来のNearest Neighborクラスタリング法よりも処理対象画素の特徴ベクトルとクラスタの代表特徴ベクトルとの距離を計算する(以下、「距離計算」と記す)回数を減らすことができる。
<実施形態1のクラスタリング処理部302の処理の具体例> 以下、図4に例示する画像を用いて、クラスタリング処理部302の処理の具体例を説明する。図4の(a)に示す縦12画素、横11画素から成る画像をクラスタリングにより領域分割する。図4の(b)は、従来のNearest Neighborクラスタリング法における距離計算回数を画素毎に例示したものである。図4の(c)は、本実施形態において、4ライン毎に小クラスタを統合した場合の距離計算回数を画素毎に例示したものである。従来のNearest Neighborクラスタリング法では、画素600までは画素毎の距離計算回数は1回だが、定義済みのクラスタの特徴ベクトルとの距離が遠い画素が出現する毎に距離計算回数が増える。図4の(a)において、画素602以降は画素毎に4回の距離計算が必要となる。よって、従来のNearest Neighborクラスタリング法においては、画像データ全体での距離計算回数の累計は"440"回となる。
一方、本実施形態の画像処理方法では、図4の(c)に示すように、画素604までは従来のNearest Neighborクラスタリング法における距離計算回数と同一であるが、画素604より下に位置する画素では異なる。4ライン目の右端に位置する画素604を処理し終えた時点で、画素601に対応するクラスタ(領域#3)と、画素602に対応するクラスタ(領域#4)は夫々画素数が1である。よって、図2に例示するフローチャートのS203において、上記2つのクラスタは小クラスタであると判定される。S204〜S213の処理により、画素601が帰属するクラスタは領域#1に対応するクラスタに統合され、画素602が帰属するクラスタは領域#2に対応するクラスタに統合される。よって、画素604の下に位置するラインの画素では、1画素あたり距離計算回数は2となる。8ライン目の右端に位置する画素605を処理し終えた時点でも、同様に画素603に帰属するクラスタは領域#2に対応するクラスタへ統合される。よって、本実施形態における画像データ全体での画素毎の距離計算回数の累計は"292"回となる。クラスタを統合する処理においてはクラスタの代表特徴ベクトル同士の距離計算が行われる(S208)が、図4に示すように4ライン処理する毎に1〜2個の小クラスタを統合する程度である。従って、クラスタを統合する処理における計算回数は距離計算回数の累計に対して大きな影響をしない。
以上に説明したように、本実施形態の画像処理方法は、クラスタの特徴ベクトルの距離計算回数を減らすことができるので、従来のNearest Neighborクラスタリング法よりも高速な領域分割が可能となる。さらに、本実施形態の画像処理方法は、所定の画素数を処理する毎に小クラスタを統合することにより、ノイズを削減することができる。例えば図4の(d)に示すように、ノイズと推定される画素601、602、603が領域#1、領域#2に割り当てられ、視覚的に良好な領域分割結果を得られる。
<実施形態1の変形例> なお、実施形態1では、図2のS203においてクラスタC[i]の画素数N[i]が画素数閾値Tn以下である場合は小クラスタであると判定していたが、本発明はこれに限定されない。本変形例では、図2のS203において、クラスタC[i]に帰属する画素のうち、小クラスタ統合時点で最も下のラインに位置する画素の垂直座標と、ラインカウンタlineとを比較する。もし同一ラインに位置する場合には、画素数N[i]が画素数閾値Tn以下であっても統合対象としない(S203でNO)。この処理を行うことにより、図5に例示するように、画素900に対応するライン方向と直交する方向につながるクラスタに対し、誤って小クラスタと判定することを防ぐことができるので、領域分割の精度が向上する。すなわち、図5において、最初の4ラインを処理した時点では、画素900が属するクラスタには、1つの画素しか帰属していないが、次の4ライン分を処理すると、当該クラスタに帰属する画素が増える可能性がある。すなわち、後続する画素がある場合に、次の4ライン分の画素を処理すると、小クラスタでないと判断される可能性があるので、処理済のラインのうちの下端のライン内に位置する画素を含むクラスタは統合対象としないようにする。
また、実施形態1では、1ラインの画素数の整数倍の画素を処理して画像の右端(S114)で小クラスタ統合処理を行うが、本発明はこれに限定されない。画像の右端で無くとも、所定の画素数を処理する毎に小クラスタ統合処理を行ってもよい。また、実施形態1では代表特徴ベクトルの距離が最も近いクラスタに小クラスタを統合するが、本発明はこれに限定されない。小クラスタに帰属する画素の近傍に位置する画素が帰属しているクラスタへ小クラスタを統合してもよい。この処理を行うことにより、スキャナに付いたゴミのように、周囲の画素が帰属するクラスタの代表特徴ベクトルと大きく異なる画素が存在する場合であっても、画質的に良好な領域分割結果を得ることができる。さらに、本変形例として、S117で小クラスタと判定されたクラスタの数が閾値を超えた場合、画像をビットマップ形式で圧縮してもよい。小クラスタが極度に多い場合、処理対象の画像データにノイズが非常に多いと考えられる。このような画像データをベクトルデータに変換した場合、ベクトルデータで表されるオブジェクトの数が増大するため、データ量が増える可能性がある。従って、このような場合は処理対象の画像がベクトルデータへの変換に向いていないと考えられるため、小クラスタの数に応じて適応的にデータ変換方法を選択するのが好ましい。この場合、S117で小クラスタと判定されたクラスタの数が、予め設定した小クラスタ数閾値を超えた時点で、クラスタリング処理を打ち切る。
[実施形態2]
<実施形態2のクラスタリング処理部302の処理手順例> 本発明の実施形態2の画像処理方法について、図6に示すフローチャートを用いて説明する。本実施形態2では、実施形態1の処理に加えて生成されるクラスタ数制限を行う。
まず、CPU101は、クラスタ数を表す変数"num_cluster"と、処理対象画素が位置するライン(垂直座標)を表す変数"line"をゼロに初期化する(S401)。次に、CPU101は処理対象画素の特徴ベクトルPcを取得する(S402)。次に、CPU101はクラスタ数がゼロであるか否かを判定する(S403)。クラスタ数がゼロである場合は(S403でYES)、CPU101はS409へ処理を移行する。クラスタ数がゼロでない場合は(S403でNO)、CPU101はS404へ処理を移行する。S404は、定義済みのクラスタC[1]〜C[num_cluster]の中から、処理対象の画素の特徴ベクトルと最も距離の近い代表特徴ベクトルを持つクラスタC[n]を探索し、該最短距離"min_distance"を求める処理である。S404の手順は、図2に例示した実施形態1の処理を表すフローチャートのS104〜S110と同一の処理であるため、説明を省略する。
S405で、CPU101は最短距離"min_distance"を第1距離閾値Tdと比較する。最短距離"min_distance"が第1距離閾値以下である場合は(S405でYES)、CPU101はS406へ処理を移行する。最短距離"min_distance"が第1距離閾値以下でない場合は(S405でNO)、CPU101はS407へ処理を移行する。S406では、CPU101は、処理対象の画素をクラスタC[n]に帰属させ、クラスタC[n]の代表特徴ベクトルP[n]を更新する。さらに、CPU101は、クラスタC[n]に帰属する画素の総数N[n]に"1"を加算した後、S410へ処理を移行する。S407では、CPU101はクラスタの総数"num_cluster"と、クラスタの総数に対する閾値であるクラスタ数閾値Tcとを比較する。クラスタ数閾値Tcの値は本発明では限定されないが、本実施形態では"3"とする。クラスタの総数"num_cluster"がクラスタ数閾値より大きければ(S407でYES)、CPU101はS408へ処理を移行する。クラスタ数閾値未満であれば(S407でNO)、CPU101はS409へ処理を移行する。S408では、CPU101は、クラスタの総数"num_cluster"をクラスタ数閾値Tc以下に抑えるために、最も代表特徴ベクトルの距離が近いクラスタ同士を統合する。次に、S409で、CPU101は新しいクラスタを定義し、該新規クラスタに処理対象の画素を帰属させる。具体的には、先ずクラスタ数"num_cluster"に"1"を加算する。該新規クラスタC[num_cluster]の代表特徴ベクトルP[num_cluster]を処理対象画素の特徴ベクトルPcとする。さらに、該新規クラスタC[num_cluster]に帰属する画素数N[num_cluster]を"1"とする。S410〜S413は、Lライン毎に小クラスタを統合するための処理であり、実施形態1のS114〜S117(図2及び図3)と同一であるため、説明を省略する。画像データ内の全ての画素を処理した場合は(S414でYES)、CPU101はクラスタリング処理部302の処理を終了する。画像データ内の全ての画素を処理してない場合は(S414でNO)、CPU101はS402へ処理を移行し、後続する画素を処理対象とする。
以上に説明したように、本実施形態の画像処理方法では、Lライン処理する毎に、帰属する画素数の少ない小クラスタを統合する(S410〜S413)。また、定義済みのクラスタの数がクラスタ数閾値Tcを越えた場合、最も代表特徴ベクトルの近いクラスタ同士を統合する(S407〜S408)。これらの処理により、クラスタリング処理の途中でクラスタの数が減少するので、従来のNearest Neighborクラスタリング法よりも距離計算回数を減らすことができる。
<実施形態2のクラスタリング処理部302の処理の具体例> 以下、図7に例示する画像を用いて、実施形態2のクラスタリング処理部302による複数のクラスタ生成の処理の具体例を説明する。図7の(a)に示す縦13画素、横6画素から成る画像をクラスタリングにより領域分割する。図7の(b)は、従来のNearest Neighborクラスタリング法における距離計算回数を画素毎に例示したものである。図7の(c)は、定義済みのクラスタ数がクラスタ数閾値Tcを越えたときに最も代表特徴ベクトルの近いクラスタ同士を統合する処理は行い、小クラスタを統合する処理は行わない場合の距離計算回数を例示したものである。なお、ここではクラスタ数閾値Tcに"3"を設定する。図7の(d)は、実施形態2の画像処理方法における距離計算回数を例示したものである。具体的には、定義済みのクラスタの数がクラスタ数閾値Tcを越えた場合に最も代表特徴ベクトルの近いクラスタ同士を統合し、且つ4ライン毎に小クラスタを統合した場合の距離計算回数を示したものである。
従来のNearest Neighborクラスタリング法では、画素700までは画素毎の距離計算回数は1回だが、定義済みのクラスタの特徴ベクトルとの距離が遠い画素が出現する毎に距離計算回数が増える。よって、従来のNearest Neighborクラスタリング法では、画像データ全体での距離計算回数の累計は"314"回となる。定義済みのクラスタの数がクラスタ数閾値Tcを越えたときに最も代表特徴ベクトルの近いクラスタ同士を統合する場合、図7の(c)において、画素702を処理した時点でクラスタ数がクラスタ数閾値Tc=3を超える。ここで、領域#3に対応するクラスタを領域#1に対応するクラスタに統合し、クラスタ数を3に抑える。画素704を処理した時点でも、同様にクラスタ数がクラスタ数閾値Tcを超えるので、領域#4(画素701)に対応するクラスタを領域#2に対応するクラスタに統合する。よって、図7の(c)では、画像データ全体での距離計算回数の累計は"214"回となる。
本実施形態2では、さらに、所定のライン毎に小クラスタも統合するので、さらに距離計算回数を削減できる。図7の(d)において、画素703を処理し終えた時点で、領域#3と領域#4に対応する各々のクラスタの画素数は"1"であるので、上記2つのクラスタは特徴ベクトルの距離が最も近いクラスタに統合される。従って、画素703の下のラインでは、距離計算の対象となるクラスタ数は2となるので、1画素あたりの距離計算回数は画素704までは2回となる。よって、画像データ全体での距離計算回数の累計は"194"回となる。
以上に説明したように、本実施形態の画像処理方法は、従来のNearest Neighborクラスタリング法よりも高速な領域分割が可能となる。
[実施形態3]
<実施形態3のクラスタリング処理部302の処理手順例> 本発明の実施形態3の画像処理方法について、図8に示すフローチャートを用いて説明する。本実施形態3では、実施形態1の処理に加えて処理対象画素の近傍に位置する画素が含まれるクラスタに対し優先してクラスタ統合を行う。まず、CPU101は、クラスタ数を表す変数"num_cluster"と、処理対象画素が位置するライン(垂直座標)を表す変数"line"をゼロに初期化する(S501)。次に、CPU101は処理対象画素の特徴ベクトルPcを取得する(S502)。次に、CPU101はクラスタ数がゼロであるか否かを判定する(S503)。クラスタ数がゼロである場合は(S503でYES)、CPU101はS511へ処理を移行する。クラスタ数がゼロでない場合は(S503でNO)、CPU101はS504へ処理を移行する。
S504では、CPU101は処理対象画素の近傍に位置する画素(近傍画素)が帰属するクラスタC[a]の代表特徴ベクトルP[a]を取得する。ここで、近傍画素とは、例えば処理対象画素の左に属する画素であるが、本発明はこれに限定されず、例えば処理対象画素の上に位置する画素であってもよい。CPU101は、S505で上記代表特徴ベクトルP[a]とPcとの距離D(P[a],Pc)を計算し、S506で距離D(P[a],Pc)が第2距離閾値Td1以下であるか否かを判定する。距離D(P[a],Pc)が第2距離閾値以下である場合(S506でYES)、CPU101はS507へ処理を進める。S507では、CPU101は、処理対象画素を近傍クラスタC[a]に帰属させ、クラスタC[a]の代表特徴ベクトルP[a]を更新し、S512へ処理を移行する。一方、距離D(P[a],Pc)が第2距離閾値以下でない場合(S506でNO)、CPU101はS508へ処理を移行する。S508は、定義済みのクラスタC[1]〜C[num_cluster]の中から、処理対象の画素の特徴ベクトルPcと最も距離の近い代表特徴ベクトルを持つクラスタC[n]を探索し、該最短距離"min_distance"を求める処理である。S508は、図2に例示した実施形態1の処理を表すフローチャートのS104〜S110と同一の処理であるため、説明を省略する。S509では、CPU101は上記最短距離"min_distance"が第1距離閾値Td2以下であるか否かを判定する。上記最短距離"min_distance"が第1距離閾値Td2以下である場合(S509でYES)、CPU101はS510へ処理を移行する。最短距離"min_distance"が第1距離閾値Td2以下でない場合(S509でNO)、CPU101はS511へ処理を移行する。S510では、CPU101は、処理対象の画素をクラスタC[n]に帰属させ、クラスタC[n]の代表特徴ベクトルP[n]を更新する。さらに、CPU101は、クラスタC[n]に帰属する画素の総数を表すN[n]に"1"を加算した後、S512へ処理を移行する。S511では、CPU101は、新しいクラスタを定義し、該新規クラスタに処理対象の画素を帰属させる。具体的には、先ずクラスタ数"num_cluster"に"1"を加算する。該新規クラスタC[num_cluster]の代表特徴ベクトルP[num_cluster]を処理対象画素の特徴ベクトルPcとする。さらに、該新規クラスタC[num_cluster]に帰属する画素数N[num_cluster]を"1"とする。S512〜S515は、Lライン毎に小クラスタを統合するための処理であり、実施形態1のS114〜S117(図2及び図3)と同一であるため、説明を省略する。画像データ内の全ての画素を処理した場合は(S516でYES)、CPU101はクラスタリング処理部302の処理を終了する。画像データ内の全ての画素を処理してない場合は(S516でNO)、CPU101はS502へ処理を移行し、後続する画素を処理対象とする。
以上に説明したように、本実施形態の画像処理方法では、Lライン処理する毎に、帰属する画素数の少ない小クラスタを統合する(S512〜S515)ことにより、クラスタの数を減らす。また、処理対象画素の近傍(例えば左隣)に位置する画素が帰属するクラスタの特徴ベクトルとの距離を先ず計算する(S504〜S505)。距離が近ければ該クラスタへ処理対象画素を帰属させ、他のクラスタの代表特徴ベクトルとの比較を行なわない(S506〜S507)。従って、従来のNearest Neighborクラスタリング法よりも距離計算回数を減らすことができる。
<実施形態3のクラスタリング処理部302の処理の具体例> 以下、図9に例示する画像を用いて、実施形態3のクラスタリング処理部302による複数のクラスタ生成の処理の具体例を説明する。図9の(a)に示す縦12画素、横11画素から成る画像をクラスタリングにより領域分割する。なお、図9の(a)の画像は実施形態1の説明において用いた図4の(a)の画像と同一である。図9の(b)は、従来のNearest Neighborクラスタリング法における距離計算回数を画素毎に例示したものである。図9の(c)は、左隣の画素が帰属するクラスタの代表特徴ベクトルとの比較(S504〜S507)を行い、小クラスタを統合する処理を行なわない場合の距離計算回数を例示したものである。図8の(d)は、本実施形態3において、左隣の画素が帰属するクラスタの代表特徴ベクトルと比較し、且つ4ライン毎に小クラスタを統合した場合の距離計算回数を画素毎に例示したものである。
従来のNearest Neighborクラスタリング法では、画素600までは画素毎の距離計算回数は1回だが、定義済みのクラスタの特徴ベクトルとの距離が遠い画素が出現する毎に距離計算回数が増える。よって、従来のNearest Neighborクラスタリング法では、画像データ全体での距離計算回数の累計は"440"回となる。左隣の画素が帰属するクラスタの代表特徴ベクトルとの比較(S504〜S507)を行う場合、左隣の画素が帰属するクラスタの代表特徴ベクトルとの距離が近い場合には距離計算回数は1回となる。例えば、図9の(c)において、画素806は、左隣の画素が帰属するクラスタ(領域#1に対応)と特徴ベクトルとの距離が近いため、距離計算回数は1回となる。画像データ全体での距離計算回数の累計は"255"回となる。さらに、小クラスタを統合した場合には、処理対象画素と左隣の画素が帰属するクラスタの代表特徴ベクトルとの距離が近くないときや、画像左端の画素であっても、距離計算回数を削減できる。図9の(d)において、画素806は画像左端に位置するため、左隣の画素のクラスタとの比較ができない。しかしながら、画素804を処理し終えた時点で小クラスタに対応する領域#3及び領域#4が各々領域#1及び領域#2に統合されているため、距離計算の対象となるクラスタの数は2である。従って、画素804の距離計算は2回で済む。また、画素807は左隣の画素が帰属するクラスタの代表特徴ベクトルとの距離が近くないため、全てのクラスタとの距離計算を行う。しかし、上述の通り小クラスタを統合したことによりクラスタ数が2に減っているため、距離計算は2回で済む。画像データ全体での距離計算回数の累計は"200"回となる。
以上に説明したように、本実施形態の画像処理方法は、従来のNearest Neighborクラスタリング法よりも高速な領域分割が可能となる。
<その他の実施形態> なお、上記実施形態1乃至3を組合せることによる実施形態も可能であり、これらも本発明に含まれる。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (16)

  1. 画像データを複数のクラスタに分割する画像処理方法であって、
    クラスタ生成手段が、前記画像データに含まれる画素を順に処理対象とし、処理対象の画素の特徴ベクトルと既に定義されているクラスタの代表特徴ベクトルとの距離のうちで最も近い距離が第1距離閾値以下である場合は、当該最も近い距離の代表特徴ベクトルのクラスタに当該処理対象の画素を帰属させ、前記最も近い距離が前記第1距離閾値以下でない場合は、新たにクラスタを定義して当該定義したクラスタに当該処理対象の画素を帰属させるクラスタ生成工程と、
    クラスタ統合手段が、予め決められた数の画素に対して前記クラスタ生成工程の処理を終える毎に、定義されているクラスタのうちで帰属する画素数が画素数閾値以下であるクラスタを小クラスタとし、該小クラスタの代表特徴ベクトルと距離が近い代表特徴ベクトルを持つクラスタに該小クラスタを統合するクラスタ統合工程とを有することを特徴とする画像処理方法。
  2. 前記クラスタ生成工程は、定義されたクラスタの数がクラスタ数閾値を越える場合は、代表特徴ベクトルの近いクラスタ同士を統合するクラスタ数制限工程を含むことを特徴とする請求項1に記載の画像処理方法。
  3. 前記クラスタ生成工程は、前記処理対象の画素の特徴ベクトルと当該処理対象の画素の近傍に位置する画素が帰属するクラスタの代表特徴ベクトルとの距離が第2距離閾値以下である場合は、前記近傍のクラスタに処理対象の画素を帰属させることを特徴とする請求項1または2に記載の画像処理方法。
  4. 前記予め決められた数の画素は、ライン方向の画素数の整数倍であることを特徴とする請求項1に記載の画像処理方法。
  5. 前記クラスタ統合工程では、クラスタに帰属する画素数が前記画素数閾値以下であっても、該クラスタに帰属する画素が処理済のラインのうちの下端のライン内に位置する画素を含む場合は、小クラスタとして取り扱わないことを特徴とする請求項4に記載の画像処理方法。
  6. 前記クラスタ統合工程では、小クラスタに帰属する画素の近傍に位置する画素が帰属するクラスタに前記小クラスタを統合することを特徴とする請求項1に記載の画像処理方法。
  7. 小クラスタの数が小クラスタ数閾値を超えた場合に、当該画像処理方法における画像データを複数のクラスタに分割する処理を打ち切ることを特徴とする請求項1に記載の画像処理方法。
  8. コンピュータを、
    画像データに含まれる画素を順に処理対象とし、処理対象の画素の特徴ベクトルと既に定義されているクラスタの代表特徴ベクトルとの距離のうちで最も近い距離が第1距離閾値以下である場合は、当該最も近い距離の代表特徴ベクトルのクラスタに当該処理対象の画素を帰属させ、前記最も近い距離が前記第1距離閾値以下でない場合は、新たにクラスタを定義して当該定義したクラスタに当該処理対象の画素を帰属させるクラスタ生成手段と、
    予め決められた数の画素に対して前記クラスタ生成工程の処理を終える毎に、定義されているクラスタのうちで帰属する画素数が画素数閾値以下であるクラスタを小クラスタとし、該小クラスタの代表特徴ベクトルと距離が近い代表特徴ベクトルを持つクラスタに該小クラスタを統合するクラスタ統合手段と、
    して機能させるためのプログラム。
  9. 請求項8に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
  10. 画像データを複数のクラスタに分割する画像処理装置であって、
    前記画像データに含まれる画素を順に処理対象とし、処理対象の画素の特徴ベクトルと既に定義されているクラスタの代表特徴ベクトルとの距離のうちで最も近い距離が第1距離閾値以下である場合は、当該最も近い距離の代表特徴ベクトルのクラスタに当該処理対象の画素を帰属させ、前記最も近い距離が前記第1距離閾値以下でない場合は、新たにクラスタを定義して当該定義したクラスタに当該処理対象の画素を帰属させるクラスタ生成手段と、
    予め決められた数の画素に対して前記クラスタ生成工程の処理を終える毎に、定義されているクラスタのうちで帰属する画素数が画素数閾値以下であるクラスタを小クラスタとし、該小クラスタの代表特徴ベクトルと距離が近い代表特徴ベクトルを持つクラスタに該小クラスタを統合するクラスタ統合手段とを有することを特徴とする画像処理装置。
  11. 前記クラスタ生成手段は、定義されたクラスタの数がクラスタ数閾値を越える場合は、代表特徴ベクトルの近いクラスタ同士を統合するクラスタ数制限手段を含むことを特徴とする請求項10に記載の画像処理装置。
  12. 前記クラスタ生成手段は、前記処理対象の画素の特徴ベクトルと当該処理対象の画素の近傍に位置する画素が帰属するクラスタの代表特徴ベクトルとの距離が第2距離閾値以下である場合は、前記近傍のクラスタに処理対象の画素を帰属させることを特徴とする請求項10または11に記載の画像処理装置。
  13. 前記予め決められた数の画素は、ライン方向の画素数の整数倍であることを特徴とする請求項10に記載の画像処理装置。
  14. 前記クラスタ統合手段は、クラスタに帰属する画素数が前記画素数閾値以下であっても、該クラスタに帰属する画素が処理済のラインのうちの下端のライン内に位置する画素を含む場合は、小クラスタとして取り扱わないことを特徴とする請求項13に記載の画像処理装置。
  15. 前記クラスタ統合手段は、小クラスタに帰属する画素の近傍に位置する画素が帰属するクラスタに前記小クラスタを統合することを特徴とする請求項10に記載の画像処理装置。
  16. 小クラスタの数が小クラスタ数閾値を超えた場合に、当該画像処理装置が画像データを複数のクラスタに分割する処理を打ち切ることを特徴とする請求項10に記載の画像処理装置。
JP2009174736A 2009-07-27 2009-07-27 画像処理方法及び画像処理装置及びプログラム Expired - Fee Related JP5276541B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009174736A JP5276541B2 (ja) 2009-07-27 2009-07-27 画像処理方法及び画像処理装置及びプログラム
US12/836,011 US8300939B2 (en) 2009-07-27 2010-07-14 Image processing method, image processing apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009174736A JP5276541B2 (ja) 2009-07-27 2009-07-27 画像処理方法及び画像処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2011028586A true JP2011028586A (ja) 2011-02-10
JP5276541B2 JP5276541B2 (ja) 2013-08-28

Family

ID=43497378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009174736A Expired - Fee Related JP5276541B2 (ja) 2009-07-27 2009-07-27 画像処理方法及び画像処理装置及びプログラム

Country Status (2)

Country Link
US (1) US8300939B2 (ja)
JP (1) JP5276541B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017057135A1 (ja) * 2015-09-30 2017-04-06 日本電気株式会社 情報処理装置、判定装置、通知システム、情報送信方法及びプログラム
JP2017134634A (ja) * 2016-01-28 2017-08-03 大日本印刷株式会社 データ統合装置、データ統合方法、及びプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5843474B2 (ja) * 2011-05-09 2016-01-13 キヤノン株式会社 画像処理装置、画像処理方法、及び、プログラム
JP5801598B2 (ja) * 2011-05-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法、及び、プログラム
JP5884966B2 (ja) * 2011-09-09 2016-03-15 富士ゼロックス株式会社 画像処理装置および画像処理プログラム
KR101929560B1 (ko) * 2013-01-29 2019-03-14 삼성전자주식회사 이미지 에지 검출 방법 및 장치
CN103473785B (zh) * 2013-09-29 2016-04-20 哈尔滨工业大学 一种基于三值化图像聚类的快速多目标分割方法
CN109697452B (zh) * 2017-10-23 2021-09-14 北京京东尚科信息技术有限公司 数据对象的处理方法、处理装置及处理系统
CN111046895B (zh) * 2018-10-15 2023-11-07 北京京东振世信息技术有限公司 一种确定目标区域的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008147712A (ja) * 2006-12-05 2008-06-26 Canon Inc 画像処理装置および画像処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0461817A3 (en) * 1990-06-15 1993-11-18 American Telephone & Telegraph Image segmenting apparatus and methods
US5680479A (en) * 1992-04-24 1997-10-21 Canon Kabushiki Kaisha Method and apparatus for character recognition
US5999647A (en) * 1995-04-21 1999-12-07 Matsushita Electric Industrial Co., Ltd. Character extraction apparatus for extracting character data from a text image
US5767978A (en) * 1997-01-21 1998-06-16 Xerox Corporation Image segmentation system
JP3748164B2 (ja) 1998-02-06 2006-02-22 富士通株式会社 パターン抽出装置
US7630544B1 (en) * 2005-04-06 2009-12-08 Seiko Epson Corporation System and method for locating a character set in a digital image
US7623712B2 (en) 2005-06-09 2009-11-24 Canon Kabushiki Kaisha Image processing method and apparatus
JP4766661B2 (ja) 2005-06-09 2011-09-07 キヤノン株式会社 画像処理方法及び画像処理装置
JP4632443B2 (ja) 2005-12-05 2011-02-16 キヤノン株式会社 画像処理装置及び画像処理方法並びにプログラム
US7831107B2 (en) * 2005-10-17 2010-11-09 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and program
JP2008206073A (ja) 2007-02-22 2008-09-04 Canon Inc 画像処理装置、制御方法、プログラム、及び記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008147712A (ja) * 2006-12-05 2008-06-26 Canon Inc 画像処理装置および画像処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017057135A1 (ja) * 2015-09-30 2017-04-06 日本電気株式会社 情報処理装置、判定装置、通知システム、情報送信方法及びプログラム
JPWO2017057135A1 (ja) * 2015-09-30 2018-08-30 日本電気株式会社 情報処理装置、判定装置、通知システム、情報送信方法及びプログラム
US10846537B2 (en) 2015-09-30 2020-11-24 Nec Corporation Information processing device, determination device, notification system, information transmission method, and program
JP2017134634A (ja) * 2016-01-28 2017-08-03 大日本印刷株式会社 データ統合装置、データ統合方法、及びプログラム

Also Published As

Publication number Publication date
US8300939B2 (en) 2012-10-30
US20110019928A1 (en) 2011-01-27
JP5276541B2 (ja) 2013-08-28

Similar Documents

Publication Publication Date Title
JP5276541B2 (ja) 画像処理方法及び画像処理装置及びプログラム
US8472720B2 (en) Image processing method, apparatus and program
US8384964B2 (en) Image processing apparatus and image processing method
JP5511450B2 (ja) 画像処理装置、画像処理方法及びプログラム
US8290255B2 (en) Image processing method, image processing apparatus, and program
JP5173898B2 (ja) 画像処理方法、画像処理装置、及びプログラム
JP4821869B2 (ja) 文字認識装置、画像読取装置、およびプログラム
US8175407B2 (en) Image processing method, image processing apparatus, and program for clustering data
JP5974589B2 (ja) 画像処理装置およびプログラム
US8553991B2 (en) Clustering processing apparatus and clustering processing method
JP2010146376A (ja) 画像処理装置及びプログラム
US8218881B2 (en) Clustering processing method, clustering processing apparatus, and non-transitory computer-readable medium
JP5645612B2 (ja) 画像処理装置、画像処理方法、プログラム、及び記憶媒体
US8971647B2 (en) Image compression apparatus, image compression method, and storage medium
CN111506750B (zh) 图片检索方法、装置及电子设备
JP5127738B2 (ja) 画像処理方法および画像処理装置およびプログラム
JP5127739B2 (ja) 画像処理方法および画像処理装置およびプログラム
US8805062B2 (en) Image processing apparatus, computer readable medium for processing image and method for processing image
JP4967045B2 (ja) 背景判別装置、方法及びプログラム
JP2012205133A (ja) 画像処理装置およびその制御方法
JP7195135B2 (ja) 画像処理装置、画像処理装置が行う制御方法およびプログラム
JP2020087320A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2004312693A (ja) 画像符号化装置及び画像符号化方法
CN110888611A (zh) 图像处理装置和图像处理方法以及存储介质
JP2004258749A (ja) 画像の特徴ベクトルのクラスタリング方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130517

R151 Written notification of patent or utility model registration

Ref document number: 5276541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees