(57)【特許請求の範囲】
【請求項１】
白黒多値画像を記憶する画像記憶手段と、
前記画像記憶手段に記憶された白黒多値画像のヒストグラムを作成するヒストグラム作成手段と、
前記画像記憶手段に記憶された白黒多値画像の明るさのピークを検出するピーク検出手段と、
前記ヒストグラム作成手段により作成されたヒストグラムと、前記ピーク検出手段により検出された明るさのピークとに基づいて、前記白黒多値画像の明るさを平均化する変換を行う平均化変換手段と、
前記平均化変換手段によって変換された画像の明るさに強弱を付ける変換を行う強弱変換手段と、
前記強弱変換手段によって変換された白黒多値画像を二値データに変換する二値化変換手段と、
前記二値化変換手段により変換された画像の画素と、該画素の近傍の画素とに、ペンによる描画を模したブラシパターンを配置するブラシパターン配置手段と、
前記ブラシパターン配置手段によるブラシパターンの配置の際に、ある画素に対して、与えられたブラシパターンの各要素を配置するか否かを判定する配置判定手段とを有し、
前記配置判定手段は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差に基づいて、前記ブラシパターン配置手段によるブラシパターンの配置を行うことを特徴とする画像処理装置。
【請求項２】
２次元カラー画像を白黒多値画像に変換するグレー変換手段を含み、前記画像記憶手段は、前記グレー変換手段により変換された白黒多値画像を記憶することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記配置判定手段は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差が予め定められた値よりも大きい場合、前記ブラシパターン配置手段によるブラシパターンの配置を行わないことを特徴とする請求項１記載の画像処理装置。
【請求項４】
さらに、前記配置判定手段は、前記白黒多値画像の各画素の明るさの値に基づいて、前記ブラシパターン配置手段によるブラシパターンの配置を行うことを特徴とする請求項１乃至３記載の画像処理装置。
【請求項５】
画像記憶手段に記憶された白黒多値画像のヒストグラムを作成するヒストグラム作成工程と、
前記画像記憶手段に記憶された白黒多値画像の明るさのピークを検出するピーク検出工程と、
前記ヒストグラム作成工程で作成されたヒストグラムと、前記ピーク検出工程で検出された明るさのピークとに基づいて、前記白黒多値画像の明るさを平均化する変換を行う平均化変換工程と、
前記平均化変換工程によって変換された画像の明るさに強弱を付ける変換を行う強弱変換工程と、
前記強弱変換工程によって変換された白黒多値画像を二値データに変換する二値化変換工程と、
前記二値化変換工程により変換された画像の画素と、該画素の近傍の画素とに、ペンによる描画を模したブラシパターンを配置するブラシパターン配置工程と、
前記ブラシパターン配置工程によるブラシパターンの配置の際に、ある画素に対して、与えられたブラシパターンの各要素を配置するか否かを判定する配置判定工程とを有し、
前記配置判定工程は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差に基づいて、前記ブラシパターン配置工程によるブラシパターンの配置を行うことを特徴とする画像処理方法。
【請求項６】
２次元カラー画像を白黒多値画像に変換するグレー変換工程を含み、前記画像記憶手段は、前記グレー変換工程により変換された白黒多値画像を記憶することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記配置判定工程は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差が予め定められた値よりも大きい場合、前記ブラシパターン配置工程によるブラシパターンの配置を行わないことを特徴とする請求項５記載の画像処理装置。
【請求項８】
さらに、前記配置判定工程は、前記白黒多値画像の各画素の明るさの値に基づいて、前記ブラシパターン配置工程によるブラシパターンの配置を行うことを特徴とする請求項５乃至７記載の画像処理装置。
【請求項９】
画像記憶手段に記憶された白黒多値画像のヒストグラムを作成するヒストグラム作成工程と、
前記画像記憶手段に記憶された白黒多値画像の明るさのピークを検出するピーク検出工程と、
前記ヒストグラム作成工程で作成されたヒストグラムと、前記ピーク検出工程で検出された明るさのピークとに基づいて、前記白黒多値画像の明るさを平均化する変換を行う平均化変換工程と、
前記平均化変換工程によって変換された画像の明るさに強弱を付ける変換を行う強弱変換工程と、
前記強弱変換工程によって変換された白黒多値画像を二値データに変換する二値化変換工程と、
前記二値化変換工程により変換された画像の画素と、該画素の近傍の画素とに、ペンによる描画を模したブラシパターンを配置するブラシパターン配置工程と、
前記ブラシパターン配置工程によるブラシパターンの配置の際に、ある画素に対して、与えられたブラシパターンの各要素を配置するか否かを判定する配置判定工程とを有し、
前記配置判定工程は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差に基づいて、前記ブラシパターン配置工程によるブラシパターンの配置を行うことを具備したことを特徴とする画像処理方法を実現するためのコンピュータプログラムを格納し、コンピュータにより呼び出し可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ上に展開された、２次元カラー画像または白黒多値画像に対して、加工処理を行なう画像処理方法および装置および該方法を実現するためのコンピュータプログラムを記憶した記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、２次元カラー画像または白黒多値画像に対して、ユーザの好みに合わせた加工処理を行なう場合には、いくつかの処理を重ね合わせたり、パラメータを指定したりするなどしていた。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、見映えの良い加工結果を得るためには、多くの指示を必要とするので、画像処理の知識がそれほど多くない一般ユーザが、好みに合わせた思い通りの加工画像を得ることは、非常に困難であった。つまり、一般ユーザが、見映えの良い加工画像を得たいと思った場合には、ある程度、画像処理の知識を学んだり、試行錯誤を繰り返したりしなければならなかった。
【０００４】
本発明は上記問題点を解決するためになされたもので、特に、ユーザの簡単な指示により、入力された２次元カラー画像または白黒多値画像から、その明るさなどの性質には依存せずに、より見映えの良い、効果的な白黒画像を得ることができる画像処理方法および装置および記憶媒体を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る画像処理装置は、白黒多値画像を記憶する画像記憶手段と、前記画像記憶手段に記憶された白黒多値画像のヒストグラムを作成するヒストグラム作成手段と、前記画像記憶手段に記憶された白黒多値画像の明るさのピークを検出するピーク検出手段と、前記ヒストグラム作成手段により作成されたヒストグラムと、前記ピーク検出手段により検出された明るさのピークとに基づいて、前記白黒多値画像の明るさを平均化する変換を行う平均化変換手段と、前記平均化変換手段によって変換された画像の明るさに強弱を付ける変換を行う強弱変換手段と、前記強弱変換手段によって変換された白黒多値画像を二値データに変換する二値化変換手段と、前記二値化変換手段により変換された画像の画素と、該画素の近傍の画素とに、ペンによる描画を模したブラシパターンを配置するブラシパターン配置手段と、前記ブラシパターン配置手段によるブラシパターンの配置の際に、ある画素に対して、与えられたブラシパターンの各要素を配置するか否かを判定する配置判定手段とを有し、前記配置判定手段は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差に基づいて、前記ブラシパターン配置手段によるブラシパターンの配置を行うことを設けた。
【０００６】
また好ましくは、２次元カラー画像を白黒多値画像に変換するグレー変換手段を含み、前記画像記憶手段は、前記グレー変換手段により変換された白黒多値画像を記憶する。
【０００９】
また好ましくは、前記配置判定手段は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差が予め定められた値よりも大きい場合、前記ブラシパターン配置手段によるブラシパターンの配置を行わない。
【００１３】
また好ましくは、前記配置判定手段は、前記白黒多値画像の各画素の明るさの値に基づいて、前記ブラシパターン配置手段によるブラシパターンの配置を行う。
【００１４】
また、上記目的を達成するために、本発明に係る画像処理方法は、画像記憶手段に記憶された白黒多値画像のヒストグラムを作成するヒストグラム作成工程と、前記画像記憶手段に記憶された白黒多値画像の明るさのピークを検出するピーク検出工程と、前記ヒストグラム作成工程で作成されたヒストグラムと、前記ピーク検出工程で検出された明るさのピークとに基づいて、前記白黒多値画像の明るさを平均化する変換を行う平均化変換工程と、前記平均化変換工程によって変換された画像の明るさに強弱を付ける変換を行う強弱変換工程と、前記強弱変換工程によって変換された白黒多値画像を二値データに変換する二値化変換工程と、前記二値化変換工程により変換された画像の画素と、該画素の近傍の画素とに、ペンによる描画を模したブラシパターンを配置するブラシパターン配置工程と、前記ブラシパターン配置工程によるブラシパターンの配置の際に、ある画素に対して、与えられたブラシパターンの各要素を配置するか否かを判定する配置判定工程とを有し、前記配置判定工程は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差に基づいて、前記ブラシパターン配置工程によるブラシパターンの配置を行うことを設けた。
【００１５】
また好ましくは、２次元カラー画像を白黒多値画像に変換するグレー変換工程を含み、前記画像記憶手段は、前記グレー変換工程で変換された白黒多値画像を記憶する。
【００１８】
また好ましくは、前記配置判定工程は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差が予め定められた値よりも大きい場合、前記ブラシパターン配置工程によるブラシパターンの配置を行わない。
【００２２】
また好ましくは、前記配置判定工程において、前記白黒多値画像の各画素の明るさの値に基づいて、前記ブラシパターン配置工程でのブラシパターンの配置を行う。
【００２３】
また、上記目的を達成するために、本発明に係る画像処理方法を実現するためのコンピュータプログラムを格納し、コンピュータにより呼び出し可能な記憶媒体は、画像記憶手段に記憶された白黒多値画像のヒストグラムを作成するヒストグラム作成工程と、前記画像記憶手段に記憶された白黒多値画像の明るさのピークを検出するピーク検出工程と、前記ヒストグラム作成工程で作成されたヒストグラムと、前記ピーク検出工程で検出された明るさのピークとに基づいて、前記白黒多値画像の明るさを平均化する変換を行う平均化変換工程と、前記平均化変換工程によって変換された画像の明るさに強弱を付ける変換を行う強弱変換工程と、前記強弱変換工程によって変換された白黒多値画像を二値データに変換する二値化変換工程と、前記二値化変換工程により変換された画像の画素と、該画素の近傍の画素とに、ペンによる描画を模したブラシパターンを配置するブラシパターン配置工程と、前記ブラシパターン配置工程によるブラシパターンの配置の際に、ある画素に対して、与えられたブラシパターンの各要素を配置するか否かを判定する配置判定工程とを有し、前記配置判定工程は、前記白黒多値画像の注目画素の明るさと、該注目画素に隣接する画素の明るさとの差に基づいて、前記ブラシパターン配置工程によるブラシパターンの配置を行うことを有する。
【００２４】
【発明の実施の形態】
（実施形態１）
以下、図面を参照して本発明の実施形態１を説明する。
【００２５】
図１は、本発明の実施形態１に係るデータ処理装置の概略構成を示すブロック図である。
【００２６】
本実施形態１に係るデータ処理装置は、ＣＰＵ（中央処理装置）１、ＲＯＭ（リードオンリメモリ）２、ＲＡＭ（ランダムアクセスメモリ）３、キーボード４、マウス５、表示器６、および外部記憶装置７により構成され、これら各構成要素はバスライン８により互いに接続されている。なお、システム構成によっては、後述するシステムプログラムや画像加工処理プログラムなどは、ＲＯＭ２のかわりにハードディスクなどのような外部記憶装置に格納されていてもよい。
【００２７】
ＣＰＵ１は、例えばマイクロプロセッサ形態であり、本装置各部の動作を制御する。ＲＯＭ２は、システムプログラム２ａ、並びに本発明による画像加工処理プログラム２ｂ１を含み、その他の各種処理を指示したりするための画像アプリケーションプログラム２ｂを格納する。
【００２８】
ＲＡＭ３は、加工する元になる元画像を格納するための元画像領域３ａ１、加工する前の元画像を後まで残しておく場合に、加工した結果の画像を格納するための加工用画像領域３ａ２、本発明による加工処理で必要となるヒストグラムテーブル３ｂ、明るさの平均化変換テーブル３ｃ、明るさ変換テーブル３ｄ、およびその他の管理・ワーク領域３ｆ等により構成されている。
【００２９】
元画像領域３ａ１は、加工を行なう元になる画像の領域である。外部記憶装置７から画像を読み込むと、まずここに格納される。何らかの加工処理などを行なったが加工結果が気にいらなかった場合などに元に戻す場合などにこの元画像を用いる。また何らかの加工を行なう場合には、この元画像を元に、これに対して加工を行ない、加工結果の画像は加工用画像領域３ａ２に格納する。本実施形態１ではこの流れで説明しているが、いったん加工を行なった画像に対して再び同じ、あるいは別の加工を行なう仕様やモードの場合には、元画像領域３ａ１の元画像ではなく、加工処理がすでに行なわれた加工用画像領域３ａ２の加工用画像に対して加工を行なう。その場合、最初の画像を記憶しておく必要がなく、また復元用の画像領域も必要がないなどの条件が揃えば、元画像領域３ａ１と加工用画像領域３ａ２が同じ領域を使用するようにして使用メモリの削減を図ることも可能である。
【００３０】
画像が全体的に明るい（白っぽい）場合や、逆に暗い（黒っぽい）場合には、何らかの加工処理を行なうと、ぼやけてしまったり、さらに明るい、あるいは暗い方に片寄って加工されてしまったりするなど、元の画像の印象が薄れたり壊れてしまったりする場合もある。そのような場合には、本実施形態１で行なっているように、画像全体の明るさを平均的になるように変換する処理が有効となる。その場合に、ヒストグラムテーブル３ｂを利用することになる。
【００３１】
ヒストグラムテーブル３ｂとは、明るさを白から黒までの間の何段階かに分割し、ある画像について、１画素１画素がそれぞれどの段階に収まるかを検出してそれぞれの段階の画素数の和を求めたものである。このヒストグラムテーブル３ｂによるヒストグラムの形状により、その画像が全体的に明るい、あるいは暗いなどの性質を定量的に見ることが可能となる。このヒストグラムテーブル３ｂを元に、加工する画像の明るさの性質を判定し、画像全体の明るさを平均化するために作成・参照するテーブルが明るさ平均化変換テーブル３ｃである。
【００３２】
本実施形態１では、加工後の画像の見映えをさらに良くするために、明るさの平均化に加えて、さらに明るさのメリハリを付けるために、もう一度異なる明るさの変換処理を行なう。そのために用いるのが明るさ変換テーブル３ｄである。本実施形態１で説明する明るさ変換テーブル３ｄは、少しでも明るい部分はさらに明るく、逆に少しでも暗い部分はさらに暗く変換することにより、明るさに強弱を付ける処理を行なう。
【００３３】
その他の各種情報やデータを管理したり、ワークとして使用したりするための領域がその他の管理・ワーク領域３ｆである。
【００３４】
キーボード４は、ユーザが文字・数字・記号等のデータの入力、及びＣＰＵ１に対する各種指示を行なうためのものである。マウス５は、表示器６上に表示されている各種情報を指示することにより、ＣＰＵ１に対して各種指示を行なう。マウスの代わりにトラックボール、ペン、またはタッチパネル等の方式を用いても良い。表示器６は、ＬＣＤ等により構成され、ＣＰＵ１の制御により各種データの表示を行なう。外部記憶装置７は、例えばフロッピーディスク等のメディアからなり、該外部記憶装置７からＣＰＵ１の制御により読み出された各種データは、バスライン８を介してＲＡＭ３上で展開される。
【００３５】
以上の構成の下で、本実施形態１の動作を図８〜１１のフローチャートと図２〜７の各種データ・テーブル構成および処理概要の例を参照して説明する。図８に示すフローチャートは、本実施形態１による画像加工処理の全体の流れを示している。図９に示すフローチャートは、入力画像をグレーの画像に変換し、明るさのヒストグラムを作成する手法の一例を示している。図１０に示すフローチャートは、グレーに変換した画像の明るさを平均化するための処理の流れを示している。図１１に示すフローチャートは、作成された明るさ平均化変換テーブルと３ｃと、明るさ変換テーブル３ｄを用いて画像を変換する処理の流れを示している。
【００３６】
図２は、本実施形態１で説明する画像の構造の例を示す。
【００３７】
この図２において、画像の１画素は、赤を示す「Ｒ」、緑を示す「Ｇ」、青を示す「Ｂ」それぞれ１バイト（＝８ビット）の、計３バイトから構成され、ＲとＧとＢのセットで、カラー画像の１画素を表す。ここで、Ｒ、Ｇ、Ｂはそれぞれ０〜２５５の値を持つことができ、２５５に近いほど赤、緑、青の原色に近く、０に近いほど白に近い色になる。また、Ｒ＝Ｇ＝Ｂ＝０の場合に黒になり、Ｒ＝Ｇ＝Ｂ＝２５５の場合には白になる。
【００３８】
そして、このような構成を持つ画像は、２５６の３乗である１６７０万色を表現できる。
【００３９】
ところで、本実施形態１では、画像をまずグレーに変換するが、カラーの入力画像から白黒画像を得るために、ここでは「グレー画素値＝０．３＊（Ｒの値）＋０．６＊（Ｇの値）＋０．１＊（Ｂの値）」の式で求める。すべての画素に対して、得られた「グレー画素」を変換後のＲ、Ｇ、Ｂの値とすることにより、グレーに変換された画像を得ることができる。図２６の画像４が、元画像である画像３をグレー変換した例である。グレー値が０の画素は黒、２５５の画素は白であり、０に近いほど黒っぽい色に、２５５に近いほど白っぽい色になる。本実施形態１の説明では、黒っぽい色を「暗い」、白っぽい色を「明るい」という表現も用いている。説明を簡単にするために、図３以降の説明では、グレー値を０〜２３の２４段階で説明する部分もある。
【００４０】
次に、図３、図４に、画像ごとに異なるヒストグラムの例を示す。全体的に黒っぽい（暗い）画像になるのは、図３のように黒に近い所に画素が多い場合であり、また、全体的に白っぽい（明るい）画像になるのは、図４のように白に近い所に画素が多い場合である。
【００４１】
また、図５は、得られたヒストグラムから、画像の明るさを平均化するための明るさ平均化テーブルの例を示している。
【００４２】
次に、図６に、さらに明るさのメリハリを付けるために使用する明るさ変換テーブルの例を示す。ここでは、ガンマ変換による変換を行っている。この図６を見ればわかるように、少しでも暗いところは、より暗く変換され、また、少しでも明るいところは、より明るく変換される。したがって、変換対象となる画像は、明るさと暗さの差が大きい、メリハリのある画像に変換される。
【００４３】
また、図７は、明るさ変換テーブルの他の例を示す図であり、ここでは、結果となる画像の明るさが段階的になる。ここでは、全体的な明るさにはそれほど差がでないが、ある範囲の間の明るさのところが一定の明るさに変換される。
【００４４】
以下、図８〜１１のフローチャートと、先程説明した図２〜７を用いて、処理の流れを説明する。ただし、画像アプリケーションなどを起動し、各種初期処理を行なうフローや、画像を呼び出したりするなどの処理のフローは、図８のフローチャートでは省略する。
【００４５】
まず、画像アプリケーションが起動されると、ＲＯＭ２から画像アプリケーションプログラム２ｂや本実施形態１のように画像を加工するための画像加工処理プログラム２ｂ１が読み出される。ただし、画像加工処理プログラム２ｂ１は、画像アプリケーションから画像加工処理が起動された時に読み出されるようにすれば、無駄な領域を使わないために効果的である。
【００４６】
画像の加工に必要となる各種情報や領域は、ＲＡＭ３上に確保される。画像を外部記憶装置７などから呼び出すために必要となる元画像データ領域３ａ１や、画像の加工処理で必要となる加工用画像データ領域３ａ２は、起動時に確保しても良いが、それぞれが必要となった時点で確保するようにすれば、やはり無駄な領域を使わないため、他にメモリ領域を使用する他の処理を行なう際などに効果的である。
【００４７】
ヒストグラムテーブル３ｂは、明るさの段階数だけの要素数を必要とする。本実施形態１では、０〜２５５の２５６段階であるため、２５６の要素数を持つ配列をあらかじめ確保しておくか、または、必要となった時に確保する。ヒストグラムテーブル３ｂの各要素には、それぞれの明るさにはいくつの画素があるかの画素数が格納される。明るさ平均化変換テーブル３ｃ、明るさ変換テーブル３ｄもヒストグラムテーブル３ｂと同様に、明るさの段階数だけの要素数を必要とする。これらの変換テーブルは、注目している画素の明るさを入力とし、その明るさの場合はどの明るさに変換されるかを出力としている。
【００４８】
これらの領域も、あらかじめ確保しておくか、または、必要となった時に確保しても良い。ただし、明るさ平均化テーブル３ｃは入力となる画像によってテーブルの値が異なるので、入力画像（元画像）が変わって画像加工処理が呼ばれたりする度に計算して構築しなければならないが、明るさ変換テーブル３ｄは入力となる画像には依存しないものであるため、あらかじめ作成しておき、プログラム内に値を固定したテーブルとして格納しておけば、画像アプリケーションが起動されたり、または画像加工処理が起動されたりする度にテーブル構築のための計算をせずに済むため、効率的である。その他の管理・ワーク領域３ｆも、アプリケーション起動時にあらかじめ確保するか、または、必要となった時に確保しても良い。
【００４９】
画像アプリケーションで加工したい画像を呼び出し、本実施形態１における画像加工処理を画像アプリケーションで指示すると、図８のフローチャートのステップＳ１以降の処理に入る。この時、元画像データ領域３ａ１には、呼び出された画像データが格納されている。ステップＳ１では、呼び出されている画像を元にして、これから加工処理を行なうための加工用画像を作成する。ただし、画像アプリケーションを起動し、画像を呼び出した時点で、表示器に表示したりするために呼び出した画像を加工用画像領域３ａ２に予め複写するなどにより、すでに加工する元となるデータが加工用画像領域３ａ２に作成されている場合は、このステップは行なわなくても良い。また、例えば加工結果の画像は元の画像を拡大・縮小などのように変倍したものとするような場合には、ここで加工用画像を作成する場合にあらかじめ変倍しても良い。
【００５０】
加工用画像領域３ａ２にこれから加工処理を行なう画像が作成されると、ステップＳ２で、これから加工処理を行なうために必要となる情報やテーブルなどの初期化などを行なう初期処理を行なう。本実施形態１では、ヒストグラムテーブル３ｂのクリアなどを行なう。
【００５１】
ステップＳ２までで加工処理の準備が整うと、ステップＳ４で、加工する元となるデータをグレーに変換し（ステップＳ４−１）、ヒストグラムを作成する処理を行なう（ステップＳ４−２）。ただし、入力となる画像が白黒多値画像の場合は、グレーに変換する処理は省略することができる。
【００５２】
このステップＳ４の処理を、図９のフローチャートを用いて、更に詳しく説明する。このステップＳ４では、加工用画像領域３ａ２の画像のすべての画素について処理を行なう。まず、ステップＳ４−０１、ステップＳ４−０２、ステップＳ４−０３、ステップＳ４−０４、ステップＳ４−０５、およびステップＳ４−０６は、すべての画素について処理を行なうための行および桁のループを示すものであるため、詳しい説明は省略する。また、ステップＳ４−１１、ステップＳ４−２１は、すべての画素に対して行なう、グレー変換とヒストグラム作成のための処理である。
【００５３】
ステップＳ４−１１では、注目している画素をグレーに変換する（ただし前述のように、入力となる画像が白黒多値画像の場合は、このグレー変換処理は省略することができる）。グレーの値は、本実施形態１では、「グレー画素値＝０．３＊（Ｒの値）＋０．６＊（Ｇの値）＋０．１＊（Ｂの値）」の式で求める。このグレー画素値は０から２５５までのいずれかの値を持つことになる。０が黒、２５５が白であり、０に近いほど暗く、２５５に近いほど明るい。その値をＲ、Ｇ、Ｂに代入したものが、元の画素をグレーに変換した後の色として見ることができる。その画像において、元の画像で明るく見えている画素は明るいグレーで、暗く見えている画素は暗いグレーで表現されることになる。すべての画素に対してこのグレー画素値を計算し、Ｒ、Ｇ、Ｂのそれぞれに代入すると、元の画像と同じ構造の、グレーに変換された画像を得ることができる。ただし、元の画像が白黒多値画像の場合は、その構造にしたがうものとする。
【００５４】
すべての画素についてグレー変換を行なって元の画像に対するグレー画像を得た後で、その画像のヒストグラムを求めても良いが、本実施形態１では、処理時間を短縮するために、ステップＳ４−２１でグレーに変換するのと同じループ内でヒストグラムテーブル３ｂの作成を行なう。ヒストグラムとは、本実施形態１で使用している画像の明るさのものを求める場合には、明るさを数段階（本実施形態１の場合は０〜２５５の２５６段階）に分割し、各段階にいくつの画素が含まれるかを算出するものである。したがって、あらかじめ確保し、ステップＳ２ですべての要素を０に初期化したヒストグラムテーブル３ｂの、注目している画素の明るさ（ステップＳ４−１１で求めたグレー画素値）番目の値に＋１する。このようにして、すべての画素について明るさを求め、その明るさの画素数を計上することにより、ヒストグラムテーブル３ｂが作成できる。
【００５５】
次に、先程説明した図３および図４のヒストグラムの例を示しながら説明を行う。ここでは、説明を簡単にするために、明るさを０から２３までの２４段階として説明している。また、画像の大きさは、例えば横１０画素、縦８画素というように、総画素数を８０としている。図３のヒストグラムの例では、０の明るさを持つ画素数は１、１の明るさを持つ画素数は４、２２の明るさを持つ画素数は０である。このヒストグラムでは、３の明るさを持つ画素数が最も多く、また、全体的に０の明るさに近い方が画素数が多いという分布を持っていることから、全体的に暗い画像であることが分かる。同様に、図４のヒストグラムの例では、０の明るさを持つ画素数は０、２２の明るさを持つ画素数は１、２３の明るさを持つ画素数は１であり、また画素数が最も多いのは１８の明るさを持ち、全体的に２４の明るさに近い方が画素数が多いという分布を持っていることから、全体的に明るい画像であることが分かる。
【００５６】
ステップＳ４の処理が終わると、加工用画像領域３ａ２には、元画像領域３ａ１の元画像をグレーに変換した画像が出来、またヒストグラムテーブル３ｂには、その画像の明るさのヒストグラムが出来上がる。加工用画像領域３ａ２の画像は、ステップＳ４の説明で述べたように、元画像の性質によって、全体的に暗い、または明るいなど、明るさに関して片寄った画像である場合がある。本実施形態１では、グレーに変換された画像の明るさを平均化することにより、画像の劣化を最小限にとどめ、見映えの良い加工結果を得るために、ステップＳ５以降で明るさの変換を行なう。
【００５７】
ステップＳ５では、ステップＳ４で求めたヒストグラムを元にして、明るさを平均化する際のパラメータとなる、明るさ平均化変換後に中心となる明るさを求める。その流れを、図１０のフローチャートで示す。
【００５８】
ステップＳ５−１では、明るさの中心とする画素数の割合をセットする。ここで、変換後の画像の明るさとして、明るい部分と暗い部分を同じ程度にしたい場合には１／２を、少し暗くしたい場合には１／２よりも大きく、少し明るくしたい場合には１／２よりも小さく割合をセットすれば良い（例えば、総画素数の２／５に達したところの明るさを変換後の明るさの中心とする場合は２／５）。１／２よりも大きくすると、変換後の明るさの中心よりも暗い部分に総画素数の１／２よりも多い数の画素が、逆に１／２よりも小さくすると、変換後の明るさの中心よりも明るい部分に総画素数の１／２よりも多い数の画素が割り当てられるからである。また、この画像アプリケーションでその割合を固定する場合には、ここでセットせず、あらかじめプログラムにその値を定数で記述しておけば良い。
【００５９】
ステップＳ５−２では、画素数の合計を格納するカウンタに０をセットして初期化する。またステップＳ５−３では、画素数を合計していく明るさを示す明るさポインタを０に初期化する。ステップＳ５−４以降で、求める明るさが求まるまで、各明るさの画素数をカウンタに加えていく。求める明るさは、総画素数にステップＳ５−１でセットした割合を掛けることによって得られた画素数に、カウンタ値が達した時に求めることができる（ステップＳ５−５、ステップＳ５−６、ステップＳ５−７）。
【００６０】
図３のヒストグラムを例にして説明する。まず、変換後の画像の明るさとして、明るい部分と暗い部分を同じ程度にすると仮定し、ステップＳ５−１で割合を１／２とすると、８０／２＝４０画素目の画素が含まれる明るさを求めることになる。ステップＳ５−２、ステップＳ５−３でカウンタと明るさポインタを０に初期化する。ステップＳ５−４で、最初に、０の明るさを持つ画素の数をカウンタに加える。図３の場合は１であるので、カウンタの値は１となる。ステップＳ５−５では、カウンタの値が求めるべき画素数（この場合は４０画素）を超えたかどうかを判定しているが、まだ超えないので、ステップＳ５−６に進み、明るさポインタに１加え、次に注目する明るさへポインタを移動する。再びステップＳ５−４で、カウンタに明るさポインタの指す明るさ１を持つ画素数を加える。明るさ１を持つ画素数は４であるので４をカウンタに加えると、カウンタの値は５となる。
【００６１】
このようにしてステップＳ５−４、ステップＳ５−５、ステップＳ５−６を繰り返すと、明るさポインタが５の時にカウンタが４０画素を超えることから、元の画像の明るさ５を、明るさ平均化変換後の明るさの１１（明るさの中心）とすれば良いことが分かる。その値を元に、ステップＳ６で、明るさの平均化変換テーブル３ｃを作成する。
【００６２】
明るさの平均化変換テーブル３ｃは、本実施形態１では、単純に線形関数で変換後の明るさを求めている。すなわち、上の例で、元のグレー画像の明るさ０から５までを、変換後の画像の明るさ０から１１までに変換するのであるから、元のグレー画像の０から５までの明るさにそれぞれ１１／５を掛けた値が変換後の値となる。元のグレー画像の明るさ６から２３までも、同様に変換後の１２から２３までの値に線形に変換する。その結果得られた明るさ平均化変換テーブルの例が図５である。また他の求め方として、ヒストグラムで画素数が０以外である明るさのうちの最小値（図３では明るさ０）を変換後の明るさの最小値である０に、画素数が０以外である明るさのうち最大値（図３では２０）を変換後の明るさの最大値である２３に合わせるようにしたり、明るさの平均をとって変換後の明るさのピーク値としたりするなどの方法がある。
【００６３】
さらに、本実施形態１では、少しでも暗いところはより暗く、少しでも明るいところはより明るく変換するために、明るさ変換テーブル３ｄをステップＳ７で作成する。この明るさ変換テーブル３ｄとして、本実施形態１では、ガンマ変換を用いたものを使用している。ガンマ変換とは、ｙ＝ｘａ，０≦ｘ≦１という式を満たす もので、ａ＜１の場合は図６のグラフの右上部分のような軌跡を、ａ＞１の場合は図６のグラフの左下のような軌跡を描く。本実施形態１では、明るさ０から真ん中の明るさまでをａ＞１のガンマ変換による軌跡で、真ん中の明るさから最大の明るさまでをａ＜１のガンマ変換による軌跡で変換した値を変換後の明るさとしているが、もちろんグラフの形状はこの他にも任意に定義することが可能である。この明るさ変換テーブル３ｄは入力となる画像には依存しないので、あらかじめ明るさ変換テーブル３ｄをプログラムの外で作成し、プログラムに定数として記述しておく方が、明るさ変換テーブル３ｄを作成するための計算時間の削減につながり、効率的である。
【００６４】
ここまでの処理で得られた、加工用画像領域３ａ２上のグレー画像、ヒストグラムテーブル３ｂ、明るさ平均化変換テーブル３ｃ、明るさ変換テーブル３ｄを用いて、画像の明るさを調整し、より見映えの良い画像を得る処理が、ステップＳ８の明るさ変換処理である。ステップＳ８の明るさ変換処理を、図１１のフローチャートで説明する。この処理も、図９のフローチャートのステップＳ４の処理で説明したのと同じように、加工用画像領域３ａ２の画像のすべての画素について処理を行なうため、ステップＳ８−０１、ステップＳ８−０２、ステップＳ８−０３、ステップＳ８−０４、ステップＳ８−０５、ステップＳ８−０７で示している行・桁のループの部分の詳しい説明は省略する。
【００６５】
ステップＳ８−１１、Ｓ８−１２は、明るさに対する変換を行なう処理である。ステップＳ８−１１、ステップＳ８−１２はそれぞれ、ステップＳ６、ステップＳ７で作成された明るさ平均化変換テーブル３ｃと明るさ変換テーブル３ｄによって、元のグレー画像の明るさを変換する処理である。いったんすべての画素について、まずステップＳ８−１１の明るさ平均化変換テーブル３ｃによって明るさを平均化し、その画像のすべての画素について、ステップＳ８−１２の明るさ変換テーブル３ｄによって明るさを変換しても良いが、本実施形態１では、処理時間を短縮するために、ステップＳ８−１１で明るさを平均化するのと同じループ内でステップＳ８−１２の明るさ変換処理も行なっている。
【００６６】
図２６の画像５と画像６は、処理結果を分かりやすくするためにステップＳ８−１１とステップＳ８−１２の処理を分けて行ない、それぞれの処理によって得られた結果の画像である。画像５は、元画像をグレーに変換した画像４に対してステップＳ８−１１の明るさ平均化変換処理を行なった結果の画像である。元のグレー画像は、全体的に黒っぽい画像であり、ヒストグラムをとると図３に近い形状をしているが、明るさの平均化を行なうと、少し明るい部分がさらに明るく変換され、全体的な明るさが明るくなっているのが分かる。画像６は、明るさが平均化された画像５に対して、さらに少しでも明るい部分はより明るく、逆に少しでも暗い部分はより暗く変換するという、ステップＳ８−１２の明るさ変換処理を行なった結果の画像である。画像５と比較して、明るい部分はさらに明るく、暗い部分はさらに暗くなっていることが分かる。
【００６７】
以上の一連の処理は、ユーザから受け付けるただ一つの指示によって、連鎖的に実現できるものである。ただし、例えば明るさの平均化変換テーブル３ｃの作成時（ステップＳ６）や明るさ変換テーブル３ｄの作成時（ステップＳ７）のように、パラメータを変えることにより違った結果を得ることができる箇所では、ユーザの指示を受けつけるようなユーザインタフェースにすることも可能である。
【００６８】
このように、編集しようとしている画像が白黒多値データでない場合にはその画像を白黒多値データに変換するグレー変換処理（ステップＳ４−１）と、画像のヒストグラムを作成するヒストグラム作成処理（ステップＳ４−２）と、ヒストグラム作成処理（ステップＳ４−２）によって作成されたヒストグラムテーブル３ｂと、グレー画像において明るさのピークと考えられる明るさを検出するグレー画像の明るさピーク検出処理（ステップＳ５）と、ヒストグラムテーブル３ｂとグレー画像の明るさピーク検出処理（ステップＳ５）から、グレー画像の明るさを平均化する変換テーブルを作成する明るさ平均化変換テーブル作成処理（ステップＳ６）と、明るさ平均化変換テーブル作成処理（ステップＳ６）によって得られる明るさ平均化変換テーブル３ｃと、明るい部分をより明るく、暗い部分をより暗く変換するための明るさ変換テーブルを作成するための明るさ変換テーブル作成処理（ステップＳ７）と、明るさ変換テーブル作成処理（ステップＳ７）によって得られる明るさ変換テーブル３ｄとを有する画像処理方法によって、画像６、画像７の変換例に示したように、見映えの良い白黒画像を得ることができる。
【００６９】
（実施形態２）
上記実施形態１で説明した画像加工処理を利用し、結果として得られた白黒画像に他の加工処理を加えることにより、上記実施形態１で得られた画像の性質をさらに生かし、ペンで絵を描画したかのような、よりアピール力のある画像を得ることができる。
【００７０】
本実施形態２におけるペン画処理について、図１２と図１３を用いて詳しく説明する。
【００７１】
図１２は、上記実施形態１で説明したデータ処理装置の概略構成を示すブロック図である、図１とほぼ同じものであるので、異なる部分についてのみ説明する。ＲＡＭ３には、加工する元になるもと画像を格納するための元画像領域３ａ１、加工した結果の画像を格納するための加工用画像領域３ａ２の他に、ワーク用画像領域として３ａ３をも確保している。加工処理によっては、ワークとしてさらにもう１枚またはそれ以上の画像を格納するためのワーク用画像領域３ａ３を必要とする場合もあるが、本実施形態２によるペン画処理でも、後述するように、いったんある加工を行なった画素の、加工前の元画像の情報を再び参照しなければならない処理を含むような場合がそれにあたる。本実施形態２による処理では、ワーク用画像として加工用画像１枚分のワーク用画像を使用する。
【００７２】
本実施形態２におけるペン画処理においては、ペンによって描かれたとする線を置く画素を、誤差拡散法により二値化して求めている。誤差拡散法は、種々の二値化処理の中でも階調性が良い、解像度が高い、モアレが出にくいなどの長所があるために、本実施形態２ではこの方法を用いているが、もちろん他の二値化処理によって求めても良い。この誤差拡散法ではワーク領域を必要とするが、それは図１２のシステム構成図の３ｅに確保するものとする。
【００７３】
また、本実施形態２では、ブラシパターン用の領域３ｇを確保している。ブラシパターンとは、ある画素に対して、その画素を含み、その近傍の複数の画素に対して、ある定められたパターンの画素にある値を置いていくことにより、結果として入力画像とは趣の異なる画像を得るために設定されるパターンである。その説明を図２２に示す。
【００７４】
加工処理の種類によっては、このブラシパターン３ｇを用いて何らかの計算を行なってから出力画像に対してパターンを置いていくような方法も考えられるが、本実施形態２の場合は、ブラシパターンに重なる位置に、あらかじめ設定された色の画素を置く処理を行なう。
【００７５】
図１３は、本実施形態２の処理の流れを示すフローチャートである。ステップＳ８−２の二値化処理とステップＳ８−４のブラシ配置処理は、本実施形態２、および、それ以降に示すその他の実施形態におけるペン画処理の基本となる処理である。
【００７６】
図２１は、上記実施形態２において変換した白黒画像に対して、二値化処理によって生じた画素に対してペン画のブラシを配置していく処理の流れを示すフローチャートである。
【００７７】
画像アプリケーションで加工したい画像を呼び出し、本実施形態２における画像加工処理を画像アプリケーションで指示すると、図１３のフローチャートのステップＳ１以降の処理に入る。この時、元画像データ領域３ａ１には、呼び出された画像データが格納されている。ステップＳ１では、呼び出されている画像を元にして、これから加工処理を行なうための加工用画像を作成する。ただし、画像アプリケーションを起動し、画像を呼び出した時点で、表示器に表示したりするために呼び出した画像を加工用画像領域３ａ２に複写するなどして、すでに加工する元となるデータが既に加工用画像領域３ａ２に作成されている場合には、このステップは行なわなくても良い。また、例えば加工結果の画像は元の画像を拡大・縮小などのように変倍したものとするような場合には、ここで加工用画像を作成する場合にあらかじめ変倍しても良い。
【００７８】
加工用画像領域３ａ２にこれから加工処理を行なう画像が作成されると、ステップＳ２で、これから加工処理を行なうために必要となる情報やテーブルなどの初期化などを行なう初期処理を行なう。本実施形態２では、ヒストグラムテーブル３ｂのクリアの他に、ペン画を模すためのパターンブラシデータの設定、その色の設定、ペン画の下地となる色の設定、といった初期処理を行なっている。ただし、パターンブラシデータやその色、ペン画の下地となる色の設定などがあらかじめプログラムで固定的に定められている場合は、ここでの設定は不要である。
【００７９】
ステップＳ２の初期処理が終了すると、ステップＳ３で、ワークとして使用するワーク用画像領域３ａ３を作成する。本実施形態２の画像加工処理の場合は、このワーク用画像領域３ａ３に、加工結果の画像が生成される。以降に処理の詳細を説明するが、加工用画像領域３ａ２を元に、ブラシを配置する画素を求め、ワーク用画像領域３ａ３上の対応する画素にブラシパターン３ｇを配置していくことになるため、ステップＳ３では、加工用画像領域３ａ２と同じサイズ（横画素数、縦画素数）の、同じデータ構造を持つ画像データ領域を作成する。また、このワーク用画像領域３ａ３にブラシパターン３ｇを上書きしていくため、あらかじめワーク用画像領域３ａ３を初期処理Ｓ２で設定した下地の色で塗りつぶしておく。内部的には、例えば下地の色を白とした場合、白という色を表すデータ（Ｒ＝２５５、Ｇ＝２５５、Ｂ＝２５５）をワーク用画像領域全体に書き込むことになる。
【００８０】
ステップＳ４からステップＳ７では、上記実施形態１で行なった明るさの変換処理を行なう。処理内容は上記実施形態１と同じであるので、説明は省略する。
【００８１】
ステップＳ７で明るさ変換テーブル３ｄの作成処理までの処理が終了した時点では、加工用画像領域３ａ２には元画像をグレーに変換した画像が格納されている。ステップＳ８の流れは、図２１のフローチャートを用いて説明する。ステップＳ８−０１、ステップＳ８−０２、ステップＳ８−０３、ステップＳ８−０４、ステップＳ８−０５、ステップＳ８−０８に関しては、すべての画素についてのループであり、上記実施形態１と同じであるので説明を省略する。またステップＳ８−１１、ステップＳ８−１２も上記実施形態１で説明したのと同じ内容であるので、説明を省略する。ステップＳ８−０６は、本実施形態２を含むその他の実施形態で行なっている、ブラシ判定および配置処理を示しているが、実施形態ごとにその内容は異なる。
【００８２】
ステップＳ８−２１では、注目している画素がブラシパターン３ｇを配置する画素であるか否かを判定するために、誤差拡散法により値を求めている。誤差拡散法は一般的に用いられている方法であるので、説明は省略する。誤差拡散法では、計算により求められた値がしきい値を超えたならばそこに黒（白・黒二値の場合）の値を置くことにより、画像全体を白または黒の二値の画像に変換することができるので、黒を置くべき画素であれば、ブラシパターン３ｇを配置するという方法を本実施形態２ではとっている。その判定を行なうのがステップＳ８−２２である。
【００８３】
ここで述べたように、しきい値よりも値が大きければ、ステップＳ８−０６のブラシパターン判定及び配置処理で、ワーク用画像領域３ａ３にブラシパターン３ｇを配置する。本実施形態２では、ステップＳ８−０６のブラシ判定及び配置処理では、注目画素に対して与えられたブラシパターン３ｇをそのままの形で配置するという基本的な処理であるステップＳ８−４のブラシパターン配置処理を行なっている。ステップＳ８−４のブラシパターン配置処理は、図２２で説明しているように、画像の加工結果を出力する画像（ここではワーク用画像領域３ａ３）上に、元となる画像（ここでは加工用画像領域３ａ２）において注目している画素にブラシパターンの中心を合わせて上書きする（ステップＳ２の初期処理で設定したブラシパターンの色が黒である場合、黒を示す０の値をその画素に書き込む）。この処理が終了すると、誤差拡散法の計算の一部であるステップＳ８−０７を行なう。この際、図２２の（３）と（４）を見ればわかるように、画像からはみ出す部分は無視し、誤差拡散で発生したすべての画素に対してブラシを置く。
【００８４】
すべての画素について以上の処理を行なうと、ワーク用画像領域３ａ３には、ペンで描いたような効果を持った画像が作成される。ここで、本画像加工処理を呼び出した元のプロセスに対して、ワーク用画像領域３ａ３以外の領域に加工結果を返す仕様の場合には、その領域にワーク用画像領域３ａ３の内容を複写する（ステップＳ９）。
【００８５】
このようにして、以上のような処理を画像の全画素に対して行なうことにより、画像にペンで描いたような効果を持たせることができる。
【００８６】
（実施形態３）
実施形態２で述べたブラシパターンは、複数種類準備し、画素の明るさの度合いによってどのパターンを使用するかを分類することも可能である。その処理の流れを示したものが、図１４のフローチャートである。本実施形態３では、あらかじめ図２５に示すようなブラシパターン１を準備しておく。処理の流れにおいて実施形態２と異なる部分はステップＳ８−３のブラシパターン選択処理を追加したことのみであるので、それに関する部分だけを説明する。実際にこの処理が実行されるのは、図２１のフローチャートで示されるステップＳ８の中のステップＳ８−０６の部分である。
【００８７】
実施形態２と同じように、注目している画素がブラシを配置するべき画素である場合に、ステップＳ８−３のブラシパターン選択処理を行なう。ステップＳ８−３のブラシパターン選択処理では、注目している画素の元のグレー画像（ここでは囲う用画像３ａ２）の明るさを調べ、図２５に示しているように、黒〜白を０〜２５５段階に分けた場合に、その明るさによって各画素に配置するブラシパターン３ｇを変えることにより、結果として得られる画像がより見映えが良くなる。
【００８８】
そして、その明るさが０〜５０（暗い）であればブラシＡを、５１〜２００であればブラシＢを、２０１〜２５５（明るい）であればブラシＣを採用し、実施形態２におけるステップＳ８−４のブラシパターン配置処理と同じように、出力用画像（ここではワーク用画像領域３ａ３）に描き込む。このような処理を画像の全画素に対して行なうことにより、暗い部分は太いペンで、あるいは力強く描いたように、明るい部分はペンのピッチを短く描いたように見せることができ、よりペン画を模倣したような結果を得ることができる。
【００８９】
また、ブラシのパターンの角度を変えるなど変化を持たせることにより、異なる画風を生み出すことができる。ブラシパターン３ｇとして図２６の（２）のようなブラシパターンを準備し、ある所定の計算方法によっていずれかのパターンを採用すると、いろいろな方向からペンで描いたような結果を得ることもできる。その計算方法としては、元の画像の画素の明るさや、ブラシを配置してきたカウント数、乱数などさまざまな方法が考えられる。
【００９０】
これらのブラシを、例えば（画素の明るさ）ｍｏｄ（３）＝０ならば、（２）のブラシパターン１を、１ならばブラシパターン２を、２ならばブラシパターン３を使用したり、どのパターンを使用するかを乱数を発生させることにより決定したり、二値化で発生した画素に順にブラシパターン１、２、３の順に使用したりできる。
【００９１】
（実施形態４）
実施形態２、及び３で説明した処理の場合、ブラシを置くどの画素に対しても、（ブラシパターンの横幅／２）、（ブラシパターンの縦幅／２）の近傍の画素には、ブラシパターン３ｇによる値（色）が置かれてしまう。したがって、元の画像の中に、明暗の差が激しい画素が隣り合ったり近くにあったりした場合、その境界部分にも画素が置かれてしまうために、その輪郭とも言える明暗の差がぼやけてしまう可能性がある。例えば、人物と背景部分の輪郭線が分かりにくくなってしまうようなことが考えられる。
【００９２】
本実施形態４では、そのような問題を解決するための方法について説明する。図１５のフローチャートで示しているステップＳ８−５のブラシ配置位置判定処理（１）がそれに当たる。ただし実際の処理はステップＳ８−４でブラシパターン３ｇを出力画像に描き込む時に行なっているが、処理を分かりやすくするためにステップＳ８−４、ステップＳ８−５として分けて記述している。この処理は、実際には図２１のフローチャートのステップＳ８−０６の中で行なわれている。
【００９３】
本実施形態４の処理の説明は、図２３で行なう。
【００９４】
図２１のフローチャートのステップＳ８−２１、ステップＳ８−２２によって、注目画素がブラシパターン３ｇを配置する画素であると判定された時に、グレー変換された元画像（ここでは加工用画像領域３ａ２の画像）における注目画素の明るさを取得しておく。本実施形態４の図２３の例の場合は「０」である。次に、配置するブラシパターン３ｇの、色を置く画素の位置の対応する、グレー変換された元画像の画素の明るさを取得する。図２３の例では、斜線を引いた画素がそれに当たる。注目画素とそれらの明るさの値の差をそれぞれ求め、それがあらかじめ定められた（初期処理ステップＳ２で設定するか、あるいはプログラムで固定的に指定されている、またはユーザの操作により指定される）値よりも大きい（明るさの差が激しい）場合には、その色は置かないようにする。
【００９５】
図２３に示す例では、注目している画素の元画像の色の値が「０」であり、ブラシパターン３ｇのもっとも右上と、そのすぐ左下に当たる位置の元画像の明るさの値は「２３」である。ここで「明るさの差が１２以上であれば色を置かない」という指定がしてあれば、「０」と「２３」との差は２３であり、１２よりも大きいので、それら２つの画素は出力画像上に配置しないで、注目画素に対してブラシパターン３ｇを置いた結果は図２３の（４）のようになる。また、ブラシパターンのもっとも左下に当たる位置のもと画像の明るさの値は「１０」であり、注目している画素との明るさの値の差は１０で、１２よりも小さいので、その画素は出力画像上に配置することになる。注目画素のすぐ左下に当たる位置の元画像の明るさは「０」であり、注目している画素との明るさの差は０（注目している画素の明るさと同じ）で、１２よりも小さいので、その画素も出力画像上に配置する。
【００９６】
このような処理を画像の全画素に対して行なうことにより、明るさの差が激しい輪郭線のような部分はそのまま残り、実施形態２よりも、元画像の性質を残したペン画風の処理結果を得ることができる。この処理を行なった画像の例が、図２６の画像８である。
【００９７】
（実施形態５）
実施形態２〜４で説明したペン画処理では、二値化処理によって生じた画素に対してブラシパターン３ｇを配置しているが、明るい（白に近い）部分をより明るくしたい場合には、本実施形態５で説明するような方法が有効である。本実施形態５もこれまでに説明した実施形態２〜４と同様に、ステップＳ８（図２１のフローチャート）に示すステップＳ１６の処理だけが異なるため、その処理だけを説明する。この全体の流れを示すものが図１６のフローチャートである。図１６のフローチャートのステップＳ８−６のブラシ配置位置判定処理（２）が、本実施形態５で説明する手段である。このステップＳ８−６のブラシ配置位置判定処理（２）によって、注目している画素に対してブラシを配置するか否かを判定するが、ここで「配置する」と判定された場合だけステップＳ８−４のブラシパターン配置処理へ進む。「配置しない」と判定された場合は、次の画素へ注目画素を移す。
【００９８】
ステップＳ８−６のブラシ配置位置判定処理（２）を、図２４で説明する。図２４の例では、明るさの値は０（黒）〜２３（白）としている。この処理は、注目している画素のグレー変換された元画像（ここでは加工用画像領域３ａ２の画像）の明るさの値が、あらかじめ定められた（初期処理ステップＳ２で設定するか、あるいはプログラムで固定的に指定されている、またはユーザの操作により指定される）値（図２５の例では１８）以上（明るい）の場合には、その条件を満たす、二値化によって発生した画素の２（もしくはそれ以上）画素のうち１画素にだけブラシパターン３ｇを置くというものである。２（もしくはそれ以上）画素のうち１画素にだけブラシパターン３ｇを置く方法は、上記条件を満たす画素に関して、カウンタを１つ準備しておき、２（もしくはそれ以上）を超えるまで、上記条件を満たす画素がある度に１を加えていき、超える時にブラシパターン３ｇを置いていけば良い。
【００９９】
この図２４を見ればわかるように、（１）における、この範囲でブラシを置く画素の元画像の明るさがすべて２０であり、１８以上の明るさを持つ画素の場合は、２画素のうちの１画素にしかブラシを置かないとすると、実際にブラシを置く画素は（２）のようになる。そして、これらの画素にブラシを置くと、（３）のように、この判定を行なわないよりも明るい結果が得られる。
【０１００】
このような処理を画像の全画素に対して行なうことにより、明るい部分はより明るく表現されたペン画風の処理結果を得ることができる。
【０１０１】
（実施形態６）
実施形態３〜５で説明した各処理は、組み合わせて使用することにより、さらに効果的な結果を生み出すことができる。
【０１０２】
実施形態２で説明したペン画加工処理の基本処理に加え、実施形態４で説明した、ステップＳ８−５のブラシ配置位置判定処理（１）と、実施形態５で説明した、ステップＳ８−６のブラシ配置位置判定処理（２）を組み合わせ（図１７のフローチャート）ることにより、明るさの差の激しい部分はその性質が残り、明るい部分はより明るく表現されるという効果を得ることができる。
【０１０３】
（実施形態７）
実施形態２で説明したペン画加工処理の基本処理に加え、実施形態３で説明した、ステップＳ８−３のブラシパターン選択処理と、実施形態５で説明した、ステップＳ８−６のブラシ配置位置判定処理（２）を組み合わせ（図１８のフローチャート）ることにより、強弱を持ったペン画風の効果と、明るい部分はより明るく表現されるという効果を得ることができる。
【０１０４】
（実施形態８）
実施形態２で説明したペン画加工処理の基本処理に加え、実施形態３で説明した、ステップＳ８−３のブラシパターン選択処理と、実施形態４で説明した、ステップＳ８−６のブラシ配置位置判定処理（１）を組み合わせ（図１９のフローチャート）ることにより、明るさの差の激しい部分はその性質が残り、明るい部分はより明るく表現されるという効果を得ることができる。
【０１０５】
（実施形態９）
実施形態２で説明したペン画加工処理の基本処理に加え、実施形態３で説明した、ステップＳ８−３のブラシパターン選択処理と、実施形態４で説明した、ステップＳ８−６のブラシ配置位置判定処理（１）と、実施形態５で説明した、ステップＳ８−６のブラシ配置位置判定処理（２）を組み合わせ（図２０のフローチャート）ることにより、強弱を持ったペン画風の効果と、明るさの差の激しい部分はその性質が残り、明るい部分はより明るく表現されるという効果を得ることができる。
【０１０６】
（実施形態１０）
上記の各実施形態では、明るさ変換テーブル３ｄとしてガンマ変換を用い、明るい部分はより明るく、暗い部分はより暗く変換する方法について説明した。しかし、変換テーブルは、例えば図７に示すように段階的に明るさを変換することにより、ある範囲の明るさのところは一定の明るさに変換される（ポスタリゼーション）ように作成することもできる。図７の例では、明るさを０から２３の２４段階とした場合に、元の画像の明るさ３から８までの画素は、すべて３の明るさに変換され、元の画像の明るさ１４から２０までの画素は、すべて１５の明るさに変換される。図２６の画像７が、この例である。明るさが、等高線で塗り分けられたように、数段階に分かれていることが分かる。このように、明るさ変換テーブル３ｄを数段階に設定することにより、イラスト風の効果を得ることができる。
【０１０７】
その他にも、上記各実施形態の明るさ変換テーブル３ｄは、ガンマ変換を用いる場合でも、ガンマ値の値によっては、明るさと暗さに大きく差が出たり、また、あまり差が出なかったりするなど、さまざまな結果が得られる。
【０１０８】
最後に、図２６の各画像について、まとめて説明する。
【０１０９】
まず、画像１は、画像３の元画像をグレーに変換し、ガンマ＜１のガンマ変換により全体的に明るく変換した画像に対して、ブラシ配置位置判定処理（１）を用いたペン画処理を行なった画像である。
【０１１０】
本発明で説明しているように、グレー画像のピーク明るさ検出処理、明るさの平均化変換テーブル作成処理、明るさ変換テーブル作成処理、明るさ変換処理、ヒストグラムテーブル、明るさ平均化変換テーブル、明るさ変換テーブルを用いない場合には、このように非常に劣化した画像に変換されてしまう。
【０１１１】
次に、画像２は、画像３の元画像に対して、本発明による処理を行なった画像である。この例は、実施形態４によるものである。画像１に比較しても、元画像の性質をよく残しながら、美しくペン画調に加工されていることが分かる。
【０１１２】
次に、画像３は、画像１、２、及び４〜８に対して加工処理を行なう前の、元画像である。
【０１１３】
次に、画像４は、元画像３に対し、グレーに変換した（ステップＳ４−１）画像の例である。
【０１１４】
次に画像５は、画像４に対し、明るさの平均化（ステップＳ８−１１）を行なった画像の例である。
【０１１５】
次に、画像６は、画像５に対し、ガンマ変換を用いた明るさ変換テーブルにしたがって明るさを変換した（ステップＳ８−１２）画像の例である。
【０１１６】
次に、画像７は、画像５に対し、段階的に明るさを変換する明るさ変換テーブル２にしたがって明るさを変換した（ステップＳ８−１２）画像の例である。
【０１１７】
最後に、画像８は、画像７に対し、ブラシ配置位置判定処理（１）を用いてペン画調に加工した画像の例である。
【０１１８】
【発明の効果】
以上説明したように、本発明によれば、入力画像の明るさなどに依存せずに、カラー画像や白黒多値画像の明暗を見映え良く表現したり、ペン画風の加工結果をほどこしたりするなど、画像をよりアピールしたり、表現力を増したりすることができるので、画像やその扱い方、色などの知識をあまり持ち合わせていない一般ユーザであっても、簡単に画像処理を行うことができ、また、さらには画像処理により親しみが持てるといった効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態１に係るデータ処理装置の概略構成を示すブロック図である。
【図２】本実施形態１で扱うカラー画像データの構成例を示す図である。
【図３】本実施形態１で扱うヒストグラムの例を示す図である。
【図４】本実施形態１で扱うヒストグラムの例を示す図である。
【図５】本実施形態１で扱う明るさの平均化変換テーブルの例を示す図である。
【図６】本実施形態１で扱う明るさ変換テーブルの例を示す図である。
【図７】本実施形態１で扱う明るさ変換テーブルの例を示す図である。
【図８】本実施形態１の動作を説明するためのフローチャートである。
【図９】本実施形態１の動作を説明するためのフローチャートである。
【図１０】本実施形態１の動作を説明するためのフローチャートである。
【図１１】本実施形態１の動作を説明するためのフローチャートである。
【図１２】本発明のその他の実施形態に係るデータ処理装置の概略構成を示すブロック図である。
【図１３】本発明の実施形態２の動作を説明するためのフローチャートである。
【図１４】本発明の実施形態３の動作を説明するためのフローチャートである。
【図１５】本発明の実施形態４の動作を説明するためのフローチャートである。
【図１６】本発明の実施形態５の動作を説明するためのフローチャートである。
【図１７】本発明の実施形態６の動作を説明するためのフローチャートである。
【図１８】本発明の実施形態７の動作を説明するためのフローチャートである。
【図１９】本発明の実施形態８の動作を説明するためのフローチャートである。
【図２０】本発明の実施形態９の動作を説明するためのフローチャートである。
【図２１】本発明の実施形態１０の動作を説明するためのフローチャートである。
【図２２】本発明のその他の実施形態で扱うブラシの配置を説明するための図である。
【図２３】本発明のその他の実施形態で扱うブラシの配置位置判定を説明するための図である。
【図２４】本発明のその他の実施形態で扱うブラシの配置位置判定を説明するための図である。
【図２５】本発明のその他の実施形態で扱うブラシパターンの種類を説明するための図である。
【図２６】本発明の各実施形態で処理される画像をまとめて示した図である。
【符号の説明】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  キーボード
５  マウス
６  表示器
７  外部記憶装置
８  バスライン
【図１】
0003950501.tif 000002
【図２】
0003950501.tif 000003
【図３】
0003950501.tif 000004
【図４】
0003950501.tif 000005
【図５】
0003950501.tif 000006
【図６】
0003950501.tif 000007
【図７】
0003950501.tif 000008
【図８】
0003950501.tif 000009
【図９】
0003950501.tif 000010
【図１０】
0003950501.tif 000011
【図１１】
0003950501.tif 000012
【図１２】
0003950501.tif 000013
【図１３】
0003950501.tif 000014
【図１４】
0003950501.tif 000015
【図１５】
0003950501.tif 000016
【図１６】
0003950501.tif 000017
【図１７】
0003950501.tif 000018
【図１８】
0003950501.tif 000019
【図１９】
0003950501.tif 000020
【図２０】
0003950501.tif 000021
【図２１】
0003950501.tif 000022
【図２２】
0003950501.tif 000023
【図２３】
0003950501.tif 000024
【図２４】
0003950501.tif 000025
【図２５】
0003950501.tif 000026
【図２６】
0003950501.tif 000027