JP6197478B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP6197478B2
JP6197478B2 JP2013173281A JP2013173281A JP6197478B2 JP 6197478 B2 JP6197478 B2 JP 6197478B2 JP 2013173281 A JP2013173281 A JP 2013173281A JP 2013173281 A JP2013173281 A JP 2013173281A JP 6197478 B2 JP6197478 B2 JP 6197478B2
Authority
JP
Japan
Prior art keywords
pixel
target
data
color
conversion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013173281A
Other languages
English (en)
Other versions
JP2015041956A (ja
Inventor
長谷川 智彦
智彦 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2013173281A priority Critical patent/JP6197478B2/ja
Priority to US14/466,229 priority patent/US9411543B2/en
Publication of JP2015041956A publication Critical patent/JP2015041956A/ja
Application granted granted Critical
Publication of JP6197478B2 publication Critical patent/JP6197478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3871Composing, repositioning or otherwise geometrically modifying originals the composed originals being of different kinds, e.g. low- and high-resolution originals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)

Description

本明細書では、対象データに対して画像処理を実行する画像処理装置を開示する。
特許文献1には、副情報を主画像情報に重畳させる画像処理装置が開示されている。画像処理装置は、第1の副情報によって第1の色差格子パターンを変調して、第1の色差格子パターンを主画像情報に重畳させる。次いで、画像処理装置は、第2の副情報によって第2の色差格子パターンを変調して、第2の色差格子パターンを主画像情報にさらに重畳させる。
特開2008−252786号公報
本明細書では、対象データに対して新規な画像処理を実行して、面白味のある画像をユーザに提供し得る技術を開示する。
本明細書によって開示される画像処理装置は、対象データ取得部と、判断部と、第1の選択部と、第1の変換部と、出力部と、を備える。対象データ取得部は、変換対象の対象画像を表わす対象データを取得する。判断部は、対象データを構成する複数個の対象画素のそれぞれについて、当該対象画素が、所定の濃度以上を有する注目画素であるのか否かを判断する。第1の選択部は、2個以上の注目画素のそれぞれについて、当該注目画素のための変換色として1個の色を選択する。第1の変換部は、2個以上の注目画素のそれぞれについて、当該注目画素の画素値を、当該注目画素のための変換色を示す値に変換して、第1の変換済みデータを生成する。出力部は、第1の変換済みデータを出力する。第1の選択部は、第1の注目画素のための変換色として第1の色を選択し、第1の注目画素とは異なる第2の注目画素のための変換色として第1の色とは異なる第2の色を選択する。第1の変換部は、第1の注目画素の画素値を、第1の色を示す第1の値に変換し、第2の注目画素の画素値を、第2の色を示す第2の値に変換する。
上記の構成によると、画像処理装置は、対象データを構成する複数個の対象画素のうち、比較的に濃度が高い2個以上の注目画素のそれぞれについて、当該注目画素のための変換色として1個の色を選択して、当該注目画素の画素値を当該変換色が示す値に変換する。これにより、画像処理装置は、様々な選択済みの色を示す変換済み画像を表わす第1の変換済みデータを生成して出力することができる。この結果、面白味のある画像をユーザに提供し得る。
上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納する記録媒体も、新規で有用である。
前記画像処理装置は、さらに、
前記2個以上の注目画素をN個(前記Nは2以上の整数)の画素グループに分類する分類部を備え、
前記第1の選択部は、前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素のための変換色として、M個(前記Mは2以上の整数)の色の中から1個の色を選択し、
前記第1の変換部は、前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素の画素値を、当該画素グループのための前記変換色を示す値に変換して、前記第1の変換済みデータを生成してもよい。
前記第1の選択部は、
前記N個の画素グループのうち、前記第1の注目画素を含む第1の画素グループに属する全注目画素のための変換色として、前記M個の色の中から前記第1の色を選択し、
前記N個の画素グループのうち、前記第2の注目画素を含む第2の画素グループに属する全注目画素のための前記変換色として、前記M個の色の中から前記第2の色を選択し、
前記第1の変換部は、
前記第1の画素グループに属する全注目画素の画素値を、前記第1の色を示す前記第1の値に変換し、
前記第2の画素グループに属する全注目画素の画素値を、前記第2の色を示す前記第2の値に変換してもよい。
前記第1の選択部は、前記第1の変換済みデータによって表わされる変換済み画像に含まれる前記M個の色を示すM個の領域のサイズのばらつきが大きくなるのを抑制するための所定の手法を利用して、前記N個の画素グループのための前記N個の変換色のそれぞれを前記M個の色の中から選択してもよい。
前記第1の選択部は、前記Nが前記Mより大きい場合に、前記M個の色の全てが前記変換色として選択されるように、前記N個の画素グループのための前記N個の変換色のそれぞれを選択し、
前記第1の選択部は、前記M個の色のそれぞれについて、当該色が前記変換色として選択された画素数をカウントし、
前記第1の選択部は、前記N個の画素グループのうち、未だに前記変換色が選択されていない注目画素グループのための前記変換色を選択すべき際に、前記M個の色のうち、画素数のカウント値が最大である色を選択せずに、画素数のカウント値が最大でない色を選択してもよい。
前記第1の選択部は、前記注目画素グループのための前記変換色を選択すべき際に、前記M個の色のうち、画素数のカウント値が最小である色を選択してもよい。
前記画像処理装置は、さらに、
複数個の色を含む特定画像を表わす特定データを取得する特定データ取得部を備え、
前記第1の選択部は、前記2個以上の注目画素のそれぞれについて、前記対象データ内の当該注目画素の位置に対応する前記特定データ内の位置に存在する対応画素を抽出して、当該注目画素のための前記変換色として、当該対応画素の画素値によって示される色を選択し、
前記第1の変換部は、前記2個以上の注目画素のそれぞれについて、当該注目画素の画素値を、当該注目画素について抽出された前記対応画素の画素値に一致する値に変換して、前記第1の変換済みデータを生成し、
前記第1の選択部は、
前記対象データ内の前記第1の注目画素の位置に対応する前記特定データ内の位置に存在する第1の対応画素を抽出して、前記第1の注目画素のための前記変換色として、前記第1の対応画素の画素値によって示される前記第1の色を選択し、
前記対象データ内の前記第2の注目画素の位置に対応する前記特定データ内の位置に存在する第2の対応画素を抽出して、前記第2の注目画素のための前記変換色として、前記第2の対応画素の画素値によって示される前記第2の色を選択してもよい。
前記画像処理装置は、さらに、
前記N個の画素グループのそれぞれについて、当該画素グループの特徴を示す特徴データを算出する算出部と、
前記N個の画素グループのN個の前記特徴データを利用して、第1種の変換処理と第2種の変換処理とのどちらを実行すべきかを決定する決定部と、を備え、
前記第1の選択部は、前記第1種の変換処理を実行すべきと決定される場合に、前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素のための変換色として、前記M個の色の中から1個の色を選択し、
前記第1の変換部は、前記第1種の変換処理を実行すべきと決定される場合に、前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素の画素値を、当該画素グループのための前記変換色を示す値に変換して、前記第1の変換済みデータを生成し、
前記画像処理装置は、さらに、
前記第2種の変換処理を実行すべきと決定される場合に、複数個の色を含む特定画像を表わす特定データを取得する特定データ取得部と、
前記第2種の変換処理を実行すべきと決定される場合に、前記2個以上の注目画素のそれぞれについて、前記対象データ内の当該注目画素の位置に対応する前記特定データ内の位置に存在する対応画素を抽出して、当該注目画素のための前記変換色として、当該対応画素の画素値によって示される色を選択する第2の選択部と、
前記第2種の変換処理を実行すべきと決定される場合に、前記2個以上の注目画素のそれぞれについて、当該注目画素の画素値を、当該注目画素について抽出された前記対応画素の画素値に一致する値に注目して、第2の変換済みデータを生成する第2の変換部と、を備え、
前記出力部は、
前記第1種の変換処理を実行すべきと決定される場合に、前記第1の変換済みデータを出力し、
前記第2種の変換処理を実行すべきと決定される場合に、前記第2の変換済みデータを出力してもよい。
前記対象データ取得部は、第1の媒体サイズに対応する元データを縮小化して、前記第1の媒体サイズよりも小さい第2の媒体サイズに対応する前記対象データを取得し、
前記画像処理装置は、さらに、
第1の指示が与えられる場合に、前記第1の媒体サイズに対応するテンプレートデータ内に前記第1の変換済みデータを書き込んで、出力データを生成する生成部を備え、
前記出力部は、
前記第1の指示が与えられる場合に、前記出力データを出力して、前記第1の媒体サイズを有する印刷媒体への印刷を印刷実行部に実行させ、
前記第1の指示とは異なる第2の指示が与えられる場合に、前記第1の変換済みデータを前記印刷実行部に出力して、前記第2の媒体サイズを有する印刷媒体への印刷を前記印刷実行部に実行させてもよい。
通信システムの構成を示す。 第1実施例のシーケンス図を示す。 二値化処理のフローチャートを示す。 対象データ、二値データ、参照データ、及び、変換済みデータを示す。 合成変換処理のフローチャートを示す。 対象画像が変換される様子を示す。 第2実施例のシーケンス図を示す。 ラべリング処理のフローチャートを示す。 対象データ及び二値データを示す。 中間ラベルデータ及びラベルデータを示す。 配色処理のフローチャートを示す。 各カウンタのカウント値が変化する様子を示す。 配色変換処理のフローチャートを示す。 対象画像が変換される様子を示す。 第3実施例の配色処理のフローチャートを示す。 第4実施例のシーケンス図を示す。 決定処理のフローチャートを示す。 第5実施例のシーケンス図を示す。
(第1実施例)
図1に示されるように、通信システム2は、多機能機10と、画像処理サーバ50と、を備える。多機能機10及び画像処理サーバ50は、インターネットを介して、相互に通信可能である。以下では、多機能機10のことを、「MFP(Multi-Function Peripheralの略)10」と呼ぶ。
(MFP10の構成)
MFP10は、印刷機能及びスキャン機能を含む多機能を実行可能な周辺機器(即ちPC等の周辺機器)である。MFP10は、操作部12と、表示部14と、ネットワークインターフェース16と、印刷実行部20と、スキャン実行部22と、制御部30と、を備える。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に与えることができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークインターフェース16は、インターネットに接続されている。印刷実行部20は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部22は、CCD方式、CIS方式等のスキャン機構である。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ34は、RAM、ROM等によって構成される。
(画像処理サーバ50の構成)
画像処理サーバ50は、画像処理を実行するためのサーバであり、MFP10のベンダによってインターネット上に設置される。画像処理サーバ50は、ネットワークインターフェース56と、制御部60と、を備える。
ネットワークインターフェース56は、インターネットに接続されている。制御部60は、CPU62と、メモリ64と、を備える。CPU62は、メモリ64に記憶されているプログラムに従って、様々な処理を実行するプロセッサである。メモリ64は、RAM、ROM等によって構成される。
メモリ64は、複数個の合成用データ70を予め記憶している。複数個の合成用データ70のそれぞれは、参照番号と、参照データと、サムネイルデータと、が対応付けられたデータである。参照番号は、参照データを識別するための番号である。参照データは、対象データを変換するために利用されるRGBビットマップデータである。参照データは、はがきサイズに対応する画素数を有する。参照データは、全ての画素の画素値が同じであるデータ(即ち単色を表わすデータ)ではなく、複数色を示す複数個の領域を表わすデータである。サムネイルデータは、参照データが縮小化されたデータである。
(MFP10及び画像処理サーバ50が実行する処理;図2)
続いて、図2を参照して、MFP10及び画像処理サーバ50が実行する処理について説明する。MFP10のユーザは、まず、A4サイズの用紙P1に手書きで文字、図形等のオブジェクトを描画する。図2の例では、アルファベットの「A」を示す黒色の文字が、白色の用紙P1に描画されている。次いで、ユーザは、MFP10の操作部12を操作して、合成指示をMFP10に入力する。
MFP10のCPU32は、ユーザによって合成指示が入力されると、サムネイルデータの送信を要求するためのサムネイル要求100を画像処理サーバ50に送信する。
画像処理サーバ50のCPU62は、MFP10からサムネイル要求100を受信すると、複数個の合成用データ70のそれぞれについて、当該合成用データに含まれる参照番号とサムネイルデータとが対応付けられている組合せデータを生成する。この結果、CPU62は、複数個の合成用データ70から複数個の組合せデータ110を生成する。そして、CPU62は、複数個の組合せデータ110をMFP10に送信する。
MFP10のCPU32は、画像処理サーバ50から複数個の組合せデータ110を受信すると、複数個の組合せデータ110に含まれる複数個のサムネイルデータによって表わされる複数個のサムネイル画像を表示部14に表示させる。
図1には、本実施例で表示されるサムネイル画像SI1,SI2の一例が示されている。サムネイル画像SI1は、青色の領域と黄色の領域とを含む。また、サムネイル画像SI2は、サムネイル画像SI1とは異なる画像であり、赤色の領域と青色の領域と黄色の領域とを含む。ユーザは、表示部14に表示される各サムネイル画像SI1,SI2を見ながら、操作部12を操作して、1個のサムネイル画像を選択する。
図2に示されるように、MFP10のCPU32は、ユーザによって1個のサムネイル画像が選択されると、用紙P1のスキャンの指示をスキャン実行部22に供給する。これにより、スキャン実行部22は、A4サイズの用紙P1のカラースキャンを実行して、スキャンデータSD1を生成する。スキャンデータSD1は、A4サイズに対応する画素数を有するRGBビットマップデータである。
次いで、MFP10のCPU32は、複数個の組合せデータ110の中から、選択済みのサムネイル画像を表わすサムネイルデータに対応付けられている参照番号を取得する。そして、CPU32は、スキャンデータSD1と、取得済みの参照番号と、を含む変換指示120を、画像処理サーバ50に送信する。
画像処理サーバ50のCPU62は、MFP10から変換指示120を受信すると、S10において、変換指示120に含まれるスキャンデータSD1に対する縮小化処理を実行する。具体的に言うと、CPU62は、A4サイズに対応する画素数を有するスキャンデータSD1を縮小化して、はがきサイズに対応する画素数を有する対象データTDを生成する。例えば、A4サイズに対応する画素数、はがきサイズに対応する画素数が、それぞれ、「K1」、「K2」である場合には、CPU62は、K1個の画素を含むスキャンデータSD1から(K1−K2)個の画素を間引いて、K2個の画素を含む対象データTDを生成する。
次いで、S100では、画像処理サーバ50のCPU62は、対象データTDに対する二値化処理を実行する。これにより、CPU62は、対象データTDから、「1」又は「0」を示すK2個の画素を含む二値データBDを生成する。
次いで、T10において、画像処理サーバ50のCPU62は、複数個の合成用データ70に含まれる複数個の参照データの中から、変換指示120に含まれる参照番号に対応付けられている1個の参照データRDを取得する。ここで取得される参照データRDは、はがきサイズに対応する画素数を有する(即ち、K2個の画素を含む)。
次いで、S200において、画像処理サーバ50のCPU62は、二値データBDと、参照データRDと、を利用して、対象データTDに対する合成変換処理を実行する。これにより、CPU62は、K2個の画素を含む変換済みデータCD1を生成する。そして、CPU62は、変換済みデータCD1をMFP10に送信する。
MFP10のCPU32は、MFP10から変換済みデータCD1を受信すると、変換済みデータCD1を印刷実行部20に供給する。この結果、印刷実行部20は、変換済みデータCD1によって表わされる画像を、はがきサイズの用紙に印刷する。これにより、印刷済みの用紙をユーザに提供することができる。
(二値化処理;図3)
続いて、図3を参照して、図2のS100の二値化処理の内容を説明する。S102では、画像処理サーバ50のCPU62は、画素の位置を示すポインタm及びnのそれぞれの値を「0」に設定する。
図4は、対象データTD、二値データBD、参照データRD、及び、変換済みデータCD1のそれぞれの一部を模式的に示す。ポインタmの値は、各データTD等内の各画素の第1方向(本実施例では図4の左右方向)の位置を示す。ポインタmの値は、第1方向の第1側から第2側(本実施例では図4の左側から右側)に向かって大きくなる。ポインタnの値は、各データTD等内の各画素の第2方向(本実施例では図4の上下方向)の位置を示す。ポインタnの値は、第2方向の第1側から第2側(本実施例では図4の上側から下側)に向かって大きくなる。
図3のS104では、CPU62は、対象データTD内の1個の画素TP(m,n)を選択する。次いで、S106では、CPU62は、画素TP(m,n)の画素値RGBtp(m,n)に対してYCC変換を実行する。具体的に言うと、CPU62は、S106内の数式に従って、輝度値Y(m,n)と、第1の色差値Cb(m,n)と、第2の色差値Cr(m,n)と、を算出する。S106内の数式において、R(m,n)、G(m,n)、B(m,n)は、それぞれ、RGBtp(m,n)のR値、G値、B値である。
S108では、CPU62は、輝度値Y(m,n)が予め決められた所定値以下であるのか否かを判断する。輝度値Y(m,n)が上記の所定値以下である(S108でYES)ということは、画素TP(m,n)の濃度が比較的に高い(即ち所定の濃度以上である)ことを意味する。輝度値Y(m,n)が上記の所定値より大きい(S108でNO)ということは、画素TP(m,n)の濃度が比較的に低い(即ち上記の所定の濃度未満である)ことを意味する。即ち、S108では、CPU62は、画素TP(m,n)の濃度が所定の濃度以上であるのか否かを判断する。なお、以下では、所定の濃度以上であると判断される対象データTD内の画素(即ちS108でYESと判断される画素)のことを「注目画素」と呼ぶ。
CPU62は、輝度値Y(m,n)が所定値以下であると判断する場合(即ちS108でYES)には、S110において、二値データBD内の画素BP(m,n)の画素値として「1」を記憶する。また、CPU62は、輝度値Y(m,n)が所定値よりも大きいと判断する場合(S108でNO)には、S112において、二値データBD内の画素BP(m,n)の画素値として「0」を記憶する。
S110又はS112が終了すると、S120において、CPU62は、ポインタmの現在の値に「1」を加算して、ポインタmの新たな値を設定する。次いで、S122では、CPU62は、ポインタmの値がmmaxよりも大きいのか否かを判断する。mmaxは、対象データTDの第1方向の画素数(即ち図4の左右方向に並ぶ画素数)に一致する値である。
CPU62は、ポインタmの値がmmaxよりも大きいと判断する場合(S122でYES)には、S124において、ポインタmの値を「0」に設定し、さらに、ポインタnの現在の値に「1」を加算して、ポインタnの新たな値を設定する。次いで、S126では、CPU62は、ポインタnの値がnmaxよりも大きいのか否かを判断する。nmaxは、対象データTDの第2方向の画素数(即ち図4の上下方向に並ぶ画素数)に一致する値である。
CPU62は、ポインタmの値がmmax以下であると判断する場合(S122でNO)、又は、ポインタnの値がnmax以下であると判断する場合(S126でNO)には、S104に戻る。これにより、CPU62は、対象データTD内の新たな画素TP(m,n)を選択して、S106〜S112の処理を再び実行する。
また、CPU62は、ポインタnの値がnmaxよりも大きいと判断する場合(S126でYES)には、対象データTD内の全ての画素について、S106〜S112の処理が実行されたと判断し、二値化処理を終了する。これにより、二値データBD(図4参照)が完成する。
(合成変換処理;図5)
続いて、図5を参照して、図2のS200の合成変換処理の内容を説明する。S202では、画像処理サーバ50のCPU62は、画素の位置を示すポインタm及びnのそれぞれの値を「0」に設定する。S204では、CPU62は、二値データBD内の1個の画素BP(m,n)を選択する。そして、S206では、CPU62は、画素BP(m,n)の画素値が「1」であるのか否かを判断する。即ち、CPU62は、対象データTD内の画素TP(m,n)が、所定の濃度以上を有する注目画素であるのか否かを判断する。
CPU62は、画素BP(m,n)の画素値が「1」であると判断する場合(S206でYES)には、S208において、図2のT10で取得された参照データRDから、画素RP(m,n)の画素値RGBrp(m,n)を抽出する。これにより、CPU62は、対象データTD内の注目画素TP(m,n)の画素値RGBtp(m,n)を変換するための変換色(即ち画素値RGBrp(m,n)が示す色)を選択する。
S210では、CPU62は、対象データTD内の画素TP(m,n)の画素値RGBtp(m,n)を、抽出済みの画素値RGBrp(m,n)に変換する。これにより、変換済みデータCD1内の画素CP(m,n)の画素値RGBcp(m,n)は、参照データRD内の画素RP(m,n)の画素値RGBrp(m,n)に一致する。S210を終えると、S220に進む。
また、CPU62は、画素BP(m,n)の画素値が「0」であると判断する場合(S206でNO)には、S208及びS210をスキップして、S220に進む。即ち、CPU62は、対象データTD内の画素TP(m,n)の画素値RGBtp(m,n)を変換しない。これにより、変換済みデータCD1内の画素CP(m,n)の画素値RGBcp(m,n)は、対象データTD内の画素TP(m,n)の画素値RGBtp(m,n)に一致する。
S220〜S226は、図3のS120〜S126と同様である。S226でYESと判断されると、合成変換処理が終了する。これにより、対象データTDに参照データRDが合成された変換済みデータCD1(図4参照)が完成する。
(画素値の変換の例)
図4の二値データBDでは、例えば、9個の画素のうちの中央に位置する画素BP(1,1)の画素値が「1」である。従って、CPU62は、S208において、参照データRDから画素RP(1,1)の画素値RGBrp(1,1)を抽出し、S210において、注目画素TP(1,1)の画素値RGBtp(1,1)を画素値RGBrp(1,1)に変換する。
また、図4の二値データBDでは、例えば、9個の画素のうちの右下に位置する画素BP(2,2)の画素値も「1」である。従って、CPU62は、S208において、参照データRDから画素RP(2,2)の画素値RGBrp(2,2)を抽出し、S210において、注目画素TP(2,2)の画素値RGBtp(2,2)を画素値RGBrp(2,2)に変換する。
画素値RGBrp(1,1)と画素値RGBrp(2,2)とが異なる状況を想定する。この場合、CPU62は、注目画素TP(1,1)の画素値RGBtp(1,1)を変換すべき際に、注目画素TP(1,1)のための変換色として、画素値RGBrp(1,1)が示す第1の色を選択する(図5のS208)。また、CPU62は、注目画素TP(2,2)の画素値RGBtp(2,2)を変換すべき際に、注目画素TP(2,2)のための変換色として、画素値RGBrp(2,2)が示す第2の色(即ち第1の色とは異なる色)を選択する(S208)。従って、CPU62は、注目画素TP(1,1)の画素値RGBtp(1,1)を、第1の色を示す画素値RGBrp(1,1)に変換し(S210)、注目画素TP(2,2)の画素値RGBtp(2,2)を、第2の色を示す画素値RGBrp(2,2)に変換する(S210)。このように、CPU62は、参照データRDに基づいて、対象データTD内の各注目画素の各画素値を、異なる色を示す各画素値に変換することができる。
また、図4の二値データBDでは、9個の画素のうちの左上に位置する画素BP(0,0)の画素値が「0」である。従って、CPU62は、対象データTD内の画素TP(0,0)の画素値RGBtp(0,0)を変換しない(図5のS206でNO)。従って、変換済みデータCD1内の画素CP(0,0)の画素値RGBcp(0,0)は、画素値RGBtp(0,0)に一致する。
(画像の変換の例;図6)
図6(A)は、対象データTDによって表わされる対象画像TI1の一例を示す。対象画像TI1は、白色の背景画像と、黒色の文字「A」を示すオブジェクト画像(即ち、ユーザによって手書きで描画されたオブジェクトに対応する画像)と、を含む。
図6(B)は、参照データRDによって表わされる参照画像RIの一例を示す。上述したように、ユーザは、複数個のサムネイル画像SI1,SI2(図1参照)の中から1個のサムネイル画像を選択する。そして、画像処理サーバ50は、選択済みのサムネイル画像に対応する参照データRDを取得する(図2のT10参照)。図6(B)の参照画像RIは、ユーザによってサムネイル画像SI1が選択された場合に、画像処理サーバ50によって取得される参照データRDによって表わされる画像である。参照画像RIは、黄色の連続する線を示す領域(図6(B)ではグレーの領域)と、当該領域によって区分されている複数個の青色のブロックを示す領域(図6(B)では黒色の領域)と、を含む。
図2のS100の二値化処理では、画像処理サーバ50は、対象データTD内の複数個の画素のうち、文字「A」を示すオブジェクト画像を表わす各画素について、濃度が比較的に高い注目画素であると判断する(図3のS108でYES)。従って、図2のS200の合成変換処理では、画像処理サーバ50は、対象データTD内の複数個の画素のうち、文字「A」を示すオブジェクト画像を表わす各注目画素の画素値を、参照データRDを利用して変換する(図5のS206でYES、S208、S210)。
また、図2のS100の二値化処理では、画像処理サーバ50は、対象データTD内の複数個の画素のうち、白色の背景画像を表わす各画素について、濃度が比較的に低い画素であると判断する(図3のS108でNO)。従って、図2のS200の合成変換処理では、画像処理サーバ50は、対象データTD内の複数個の画素のうち、背景画像を表わす各画素の画素値を変換しない(図5のS206でNO)。
二値化処理及び合成変換処理が実行されると、図6(C)に示される変換済み画像CI1を表わす変換済みデータCD1が生成される。変換済み画像CI1は、白色の背景画像と、参照画像RIと同じパターン(即ち、黄色の連続する線、及び、複数個の青色のブロック)を有する文字「A」を示すオブジェクト画像と、を含む。換言すると、変換済み画像CI1は、ユーザによって描画されたオブジェクトに対応する形状を有するオブジェクト画像であって、複数色を含む参照画像RIと同じパターンを有するオブジェクト画像を含む。
本実施例によると、ユーザは、例えば、ニューイヤーカード、クリスマスカード等に利用されるべき面白味のあるカードを容易に取得することができる。即ち、ユーザは、A4サイズの用紙P1にオブジェクトを手書きで描画する。そして、ユーザは、複数個のサムネイルSI1,SI2の中から所望のサムネイル画像SI1を選択して、用紙P1のスキャンをMFP10に実行させる。これにより、ユーザは、変換済み画像CI1が印刷されたはがきサイズの用紙を容易に取得することができる。
特に、変換済み画像CI1は、ユーザによって描画されたオブジェクトに対応する形状を有するオブジェクト画像であって、複数色を含む参照画像RIと同じパターンを有するオブジェクト画像を含む。従って、本実施例によると、面白味のある変換済み画像CI1が印刷された用紙をユーザに提供し得る。
(対応関係)
画像処理サーバ50が、「画像処理装置」の一例である。図6(B)の参照画像RIを表わす参照データRDが、「特定データ」の一例である。この場合、黄色と青色の2個の色が、「複数個の色」の一例である。例えば、図4の対象データTD内の画素TP(1,1)、画素TP(2,2)が、それぞれ、「第1の注目画素」、「第2の注目画素」の一例である。図4の参照データRDに含まれる画素RP(1,1)、画素RP(2,2)が、それぞれ、「第1の対応画素」、「第2の対応画素」の一例である。この場合、画素値RGBrp(1,1)、画素値RGBrp(2,2)が、それぞれ、「第1の値」、「第2の値」の一例である。
図2のS10の処理、T10の処理、S100の処理が、それぞれ、「対象データ取得部」、「特定データ取得部」、「判断部」によって実行される処理の一例である。図5のS208の処理、S210の処理が、それぞれ、「第1の選択部」、「第1の変換部」によって実行される処理の一例である。また、図2において、変換済みデータCD1をMFP10に送信する処理が、「出力部」によって実行される処理の一例である。
(第2実施例)
第1実施例では、画像処理サーバ50は、ユーザによって選択されるサムネイル画像に対応する参照データRDを利用して、合成変換処理を実行する(図2のS200参照)。これに対し、本実施例では、画像処理サーバ50は、ユーザによって選択されるサムネイル画像に対応する配色パターンを利用して、配色変換処理を実行する。
図1に示されるように、画像処理サーバ50のメモリ64は、複数個の配色用データ80を予め記憶している。複数個の配色用データ80のそれぞれは、配色番号と、配色パターンと、サムネイルデータと、が対応付けられたデータである。配色番号は、配色パターンを識別するための番号である。配色パターンは、複数個の色のそれぞれについて、当該色を識別するための色番号(CL1、CL2等)と、当該色を示すRGB値(RGBcol1、RGBcol2等)と、が対応付けられた情報である。サムネイルデータは、当該サムネイルデータに対応する配色パターンが示す複数個の色を含む画像を表わすRGBビットマップデータである。
(MFP10及び画像処理サーバ50が実行する処理;図7)
第1実施例と同様に、MFP10のユーザは、まず、A4サイズの用紙P2に手書きで文字、図形等のオブジェクトを描画する。図7の例では、アルファベットの「ijk」を示す黒色の文字が、白色の用紙P2に描画されている。次いで、ユーザは、MFP10の操作部12を操作して、配色指示をMFP10に入力する。
MFP10のCPU32は、配色指示が入力されると、サムネイルデータの送信を要求するためのサムネイル要求200を画像処理サーバ50に送信する。
画像処理サーバ50のCPU62は、MFP10からサムネイル要求200を受信すると、複数個の配色用データ80のそれぞれについて、当該配色用データ80に含まれる配色番号とサムネイルデータとが対応付けられている組合せデータを生成する。この結果、CPU62は、複数個の配色用データ80から複数個の組合せデータ210を生成する。そして、CPU62は、複数個の組合せデータ210をMFP10に送信する。
MFP10のCPU32は、画像処理サーバ50から複数個の組合せデータ210を受信すると、複数個の組合せデータ210に含まれる複数個のサムネイルデータによって表わされる複数個のサムネイル画像を表示部14に表示させる。
図1には、本実施例で表示されるサムネイル画像SI3,SI4の一例が示されている。サムネイル画像SI3,SI4は、それぞれ、3色を示す3個の領域を含む。ユーザは、表示部14に表示される各サムネイル画像SI3,SI4を見ながら、操作部12を操作して、1個のサムネイル画像を選択する。
図7に示されるように、MFP10のCPU32は、ユーザによって1個のサムネイル画像が選択されると、用紙P2のスキャンの指示をスキャン実行部22に供給する。これにより、スキャン実行部22は、A4サイズの用紙P2のカラースキャンを実行して、A4サイズに対応する画素数(即ちK1個の画素)を有するスキャンデータSD2を生成する。
次いで、MFP10のCPU32は、複数個の組合せデータ210の中から、選択済みのサムネイル画像を表わすサムネイルデータに対応付けられている配色番号を取得する。そして、CPU32は、スキャンデータSD2と、取得済みの配色番号と、を含む変換指示220を、画像処理サーバ50に送信する。
画像処理サーバ50のCPU62は、MFP10から変換指示220を受信すると、第1実施例と同様に、S10の縮小化処理及びS100の二値化処理を順次実行して、対象データTD及び二値データBDを順次生成する。第1実施例と同様に、対象データTD及び二値データBDは、それぞれ、はがきサイズに対応する画素数(即ちK2の画素)を有する。
次いで、S300では、画像処理サーバ50のCPU62は、二値データBDを利用して、ラべリング処理を実行する。これにより、CPU62は、K2個の画素を含むラベルデータLDを生成する。
次いで、T20では、画像処理サーバ50のCPU62は、複数個の配色用データ80に含まれる複数個の配色パターンの中から、変換指示220に含まれる配色番号に対応付けられている1個の配色パターンCOPを取得する。
次いで、S400では、画像処理サーバ50のCPU62は、ラベルデータLDと、配色パターンCOPと、を利用して、配色処理を実行する。これにより、CPU62は、配色テーブルを生成する。
次いで、S500では、画像処理サーバ50のCPU62は、ラベルデータLDと、配色テーブルと、を利用して、対象データTDに対する配色変換処理を実行する。これにより、CPU62は、K2個の画素を含む変換済みデータCD2を生成する。そして、CPU62は、変換済みデータCD2をMFP10に送信する。
MFP10のCPU32は、MFP10から変換済みデータCD2を受信すると、変換済みデータCD2を印刷実行部20に供給する。この結果、印刷実行部20は、変換済みデータCD2によって表わされる画像を、はがきサイズの用紙に印刷する。これにより、印刷済みの用紙をユーザに提供することができる。
(ラべリング処理;図8)
続いて、図8を参照して、図7のS300のラべリング処理の内容を説明する。ラべリング処理は、対象データTD内の各注目画素を複数個の画素グループに分類するために実行される。ラべリング処理では、まず、二値データBDから中間ラベルデータMLDが生成され、その後、中間ラベルデータMLDからラベルデータLDが生成される。
以下では、図9に示される対象データTD及び二値データBDが生成される場合を例として、ラべリング処理の内容を説明する。図9の各データTD,BD内の1個のボックスは、1個の画素を示す。対象データTDにおいて、グレーの塗りつぶしを有するボックスは、所定の濃度以上を有する画素(即ち注目画素)を示し、白色のボックスは、所定の濃度よりも小さい濃度を有する画素を示す。二値データBDでは、対象データTD内の各画素の濃度に応じた画素値(即ち「1」又は「0」)が記述されている。
図8のS302では、画像処理サーバ50のCPU62は、画素の位置を示すポインタm及びnのそれぞれの値を「0」に設定し、さらに、ポインタLの値を「0」に設定する。S304では、CPU62は、二値データBDに含まれる1個の画素BP(m,n)を選択する。そして、S306では、CPU62は、画素BP(m,n)の画素値が「1」であるのか否かを判断する。
CPU62は、画素BP(m,n)の画素値が「0」であると判断する場合(即ちS306でNO)には、S308において、中間ラベルデータMLD内の画素MLP(m,n)の画素値として「0」を記憶する。S308が終了すると、S340に進む。
図10は、中間ラベルデータMLDの一例を示す。例えば、図9の二値データBDでは、画素BP(0,0)の画素値は「0」である。従って、CPU62は、図8のS304で画素BP(0,0)を選択する場合には、S306でNOと判断し、S308で中間ラベルデータMLD内の画素MLP(0,0)の画素値として「0」を記憶する。
図8のS306において、CPU62は、画素BP(m,n)の画素値が「1」であると判断する場合(S306でYES)には、S310において、4個の特定隣接画素のいずれかの画素値が「0」より大きいのか否かを判断する。
図10を参照して、4個の特定隣接画素について説明する。中間ラベルデータMLD内の画素MLP(m,n)の画素値を決定すべき段階では、画素MLP(m,n)に隣接する8個の画素のうちの4個の画素(即ちハッチングが付されている4個の画素)の各画素値が、既に決定されている。画素値が既に決定されているこれらの4個の画素が、4個の特定隣接画素である。
図8のS310において、CPU62は、4個の特定隣接画素の全ての画素値が「0」であると判断する場合(S310でNO)には、S320において、ポインタLの現在の値に「1」を加算して、ポインタLの新たな値を設定する。そして、S322では、CPU62は、中間ラベルデータMLD内の画素MLP(m,n)の画素値として、ポインタLの値を記憶する。S322が終了すると、S340に進む。
例えば、図10の中間ラベルデータMLD内の画素MLP(3,1)の画素値を決定すべき段階では、4個の特定隣接画素の全ての画素値が「0」であり、ポインタLの値が「0」である。従って、CPU62は、図8のS304で画素BP(3,1)を選択する場合には、S310でNOと判断し、S320でポインタLの値として「1」を設定し、S322で画素MLP(3,1)の画素値として「1」を記憶する。
また、例えば、図10の中間ラベルデータMLD内の画素MLP(2,9)の画素値を決定すべき段階では、4個の特定隣接画素の全ての画素値が「0」であり、ポインタLの値が「3」である。従って、CPU62は、図8のS304で画素BP(2,9)を選択する場合には、S310でNOと判断し、S320でポインタLの値として「4」を設定し、S322で画素MLP(2,9)の画素値として「4」を記憶する。
図8のS310において、CPU62は、4個の特定隣接画素のいずれかの画素値が「0」より大きいと判断する場合(S310でYES)には、S330において、4個の特定隣接画素が、「0」より大きい複数の異なる画素値を示すのか否かを判断する。
CPU62は、4個の特定隣接画素が、「0」より大きい複数の異なる画素値を示すと判断する場合(S330でYES)には、S332において、変更データを記憶する。変更データは、4個の特定隣接画素の4個の画素値のうち、「0」より大きい最大の画素値Lmaxを、「0」より大きい最小の画素値Lminに変更すべきことを示すデータである。
次いで、S334では、CPU62は、中間ラベルデータMLD内の画素MLP(m,n)の画素値として、4個の特定隣接画素の4個の画素値のうち、「0」より大きい最小の画素値Lminを記憶する。S334を終えると、S340に進む。
例えば、図10の中間ラベルデータMLD内の画素MLP(3,9)の画素値を決定すべき段階では、特定隣接画素MLP(4,8)の画素値が「3」であり、特定隣接画素MLP(2,9)の画素値が「4」であり、他の2個の特定隣接画素の各画素値が「0」である。従って、CPU62は、図8のS304で画素BP(3,9)を選択する場合には、S310でYESと判断し、S330でYESと判断する。そして、S332において、CPU62は、4個の特定隣接画素の4個の画素値のうち、「0」より大きい最大の画素値「4(即ちLmax)」を、「0」より大きい最小の画素値「3(即ちLmin)」に変更すべきことを示す変更データを記憶する。次いで、S334において、CPU62は、画素MLP(3,9)の画素値として、4個の特定隣接画素の4個の画素値のうち、「0」より大きい最小の画素値「3」を記憶する。
図8のS330において、CPU62は、4個の特定隣接画素が、「0」より大きい複数の異なる画素値を示さないと判断する場合(S330でNO)には、S332をスキップして、S334において、中間ラベルデータMLD内の画素MLP(m,n)の画素値として、画素値Lminを記憶する。
例えば、図10の中間ラベルデータMLD内の画素MLP(4,1)の画素値を決定すべき段階では、特定隣接画素MLP(3,1)の画素値が「1」であり、他の3個の特定隣接画素MFPの各画素値が「0」である。従って、CPU62は、図8のS304で画素BP(4,1)を選択する場合には、S330でNOと判断し、S334において、画素MLP(4,1)の画素値として、4個の特定隣接画素の4個の画素値のうち、「0」より大きい最小の画素値「1」を記憶する。
S340〜S346は、図3のS120〜S126と同様である。S346でYESと判断されると、中間ラベルデータMLDが完成する。この場合、S350において、CPU62は、S332で変更データが記憶されたのか否かを判断する。
CPU62は、S332で変更データが記憶されたと判断する場合(S350でYES)には、S352において、変更データに従って、中間ラベルデータMLDを変更して、ラベルデータLDを生成するための変更処理を実行する。例えば、画素値「4」を画素値「3」に変更すべきことを示す変更データが記憶されている場合には、CPU62は、図10の中間ラベルデータMLD内の画素MLP(2,9)の画素値「4」を画素値「3」に変更する。これにより、変更後の画素値「3」を有する画素LP(2,9)を含むラベルデータLDが生成される(図10のラベルデータLD参照)。S352が終了すると、ラべリング処理が終了する。
また、CPU62は、S332で変更データが記憶されなかったと判断する場合(S350でNO)には、S352をスキップして、ラべリング処理を終了する。この場合、中間ラベルデータMLDに一致するラベルデータLDが完成する。
ラべリング処理が終了すると、対象データTD内の各注目画素が複数個の画素グループに分類されることになる。1個の画素グループは、同じ画素値を有するラベルデータLD内の各画素に対応する各位置に存在する各注目画素によって構成される。以下では、各画素グループのことを、ラベルデータLD内の画素値L(例えば画素値「1」)を利用して、「画素値L(例えば画素値「1」)に対応する画素グループ」と呼ぶことがある。
(配色処理;図11)
続いて、図11を参照して、図7のS400の配色処理の内容を説明する。S402では、画像処理サーバ50のCPU62は、図7のT20で取得される配色パターンCOPに含まれる色番号(即ちCL1、CL2・・・CLk)の数kを特定する。次いで、S404では、CPU62は、k個のカウンタ(即ちCN1、CN2・・・CNk)を生成する。具体的に言うと、CPU62は、配色パターンCOPに含まれる各色番号CL1〜CLkに対応する各カウンタCN1〜CNkを生成する。CPU62は、各カウンタCN1〜CNkの初期値として「0」を設定する。
次いで、S406では、CPU62は、ポインタjの値として「1」を設定する。次いで、S408では、CPU62は、ポインタLtarの値として「1」を設定する。そして、S410では、CPU62は、カウンタCNjのカウント値が、k個のカウンタの中で最大であるのか否かを判断する。
CPU62は、カウンタCNjのカウント値が最大であると判断する場合(S410でYES)には、S420において、CPU62は、ポインタjの現在の値に「1」を加算して、ポインタjの新たな値を設定する。
次いで、S422では、CPU62は、ポインタjの値がkよりも大きいのか否かを判断する。CPU62は、ポインタjの値がkよりも大きいと判断する場合(S442でYES)には、S424において、ポインタjの値を「1」に設定する。S424が終了すると、S410に戻る。また、CPU62は、ポインタjの値がk以下であると判断する場合(S442でNO)には、S424をスキップして、S410に戻る。
また、CPU62は、カウンタCNjのカウント値が最大でないと判断する場合(S410でNO)には、S430に進む。なお、k個のカウンタの全てのカウント値が「0」である場合には、CPU62は、カウンタCNjのカウント値が最大でないと判断して(S410でNO)、S430に進む。
S430では、CPU62は、ポインタLtarの値と色番号CLjとが対応付けられている情報(例えば「Ltar=1」と「CL1」とが対応付けられている情報)を、配色テーブルに記述する。これにより、CPU62は、ポインタLtarの値に一致する画素値に対応する画素グループのための変換色(即ち色番号CLjに対応する色)を選択する。
S432では、CPU62は、ラベルデータLDを参照して、ポインタLtarの値に一致する画素値を有する画素数を算出する。S434では、CPU62は、カウンタCNjの現在の値に、S432で算出される画素数を加算する。S436では、CPU62は、ポインタLtarの現在の値に「1」を加算して、ポインタLtarの新たな値を設定する。
S438では、CPU62は、ポインタLtarの値が、ラベルデータLDに含まれる最大の画素値よりも大きいのか否かを判断する。CPU62は、ポインタLtarの値が最大の画素値以下であると判断する場合(S438でNO)には、S440において、ラベルデータLDの中に、ポインタLtarの値に一致する画素値を有する画素が存在するのか否かを判断する。CPU62は、ラベルデータLDの中に、ポインタLtarの値に一致する画素値を有する画素が存在すると判断する場合(S440でYES)には、S420に進む。
S440において、CPU62は、ラベルデータLDの中に、ポインタLtarの値に一致する画素値を有する画素が存在しないと判断する場合(S440でNO)には、S436に戻る。例えば、図8のS332において、画素値「4」が画素値「3」に変更されるべきことを示す変更データが記憶される場合には、S352において、画素値「4」が画素値「3」に変更されたラベルデータLDが生成されるので、ラベルデータLD内に画素値「4」を有する画素が存在しない。この場合、図11のS440では、CPU62は、ラベルデータLDの中に、ポインタLtarの値「4」に一致する画素値を有する画素が存在しないと判断する(S440でNO)。
また、S438において、CPU62は、ポインタLtarの値が最大の画素値よりも大きいと判断する場合(S438でYES)には、配色処理を終了する。これにより、配色テーブルが完成する。
(配色処理の例;図12)
続いて、図12を参照して、配色処理の具体例を説明する。図12のラベルデータLD内の四角で囲まれた領域は、同じ画素値を有する複数個の画素を示す。「L=1」、「L=2」等は、各画素の画素値を示し、(100)、(200)等は、画素数を示す。図12の(第2実施例)のテーブルは、ポインタLtarの値、ポインタjの値、及び、各カウンタCN1〜CN5のカウント値が変化する様子を示す。なお、図12の例では、配色パターンCOPに含まれる色番号CL1〜CL5の数kが「5」であり、5個のカウンタCN1〜CN5が存在する。
「Ltar=1」かつ「j=1」である場合(図11のS406,S408)には、S430において、「Ltar=1」と色番号CL1とが対応付けられた情報が、配色テーブルに記述される。即ち、画素値「1」に対応する画素グループのための変換色として、色番号CL1に対応する色が選択される。そして、S434において、画素数「100」がカウンタCN1に加算される。
次いで、S436で「Ltar=2」が設定され、S420で「j=2」が設定される。この結果、「Ltar=2」かつ「j=2」である状況で、S410以降の各処理が実行される。即ち、S430において、「Ltar=2」と色番号CL2とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「200」がカウンタCN2に加算される。
上記と同様に、「Ltar=3」かつ「j=3」である場合には、S430において、「Ltar=3」と色番号CL3とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「150」がカウンタCN3に加算される。
「Ltar=4」かつ「j=4」である場合には、ラベルデータLDの中に画素値「4」を有する画素が存在しないので、S440でNOと判断され、S436で「Ltar=5」が設定される(図12のテーブル中の「Ltar=4→5」参照)。この結果、「Ltar=5」かつ「j=4」である状況で、S410以降の各処理が実行される。即ち、S430において、「Ltar=5」と色番号CL4とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「50」がカウンタCN4に加算される。
「Ltar=6」かつ「j=5」である場合には、S430において、「Ltar=6」と色番号CL5とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「150」がカウンタCN5に加算される。
配色パターンCOPに含まれる色番号CL1〜CL5の数kは「5」である。従って、「j=6」に設定されると、S422でYESと判断され、S424で「j=1」が設定される。この結果、「Ltar=7」かつ「j=1」である状況で、S410以降の各処理が実行される。即ち、S430において、「Ltar=7」と色番号CL1とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「50」がカウンタCN1に加算される。
「Ltar=7」かつ「j=1」である状況、画素数「50」がカウンタCN1に加算されると、カウンタCN1〜CN5の5個の値の中で、「j=2」に対応するカウンタCN2の値が最大になる。従って、「Ltar=8」かつ「j=2」である場合には、S410でYESと判断され、S420で「j=3」が設定される(図12のテーブル中の「j=2→3」参照)。この結果、「Ltar=8」かつ「j=3」である状況で、S410以降の各処理が実行される。即ち、S430において、「Ltar=8」と色番号CL3とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「75」がカウンタCN3に加算される。
上記と同様に、「Ltar=9」かつ「j=4」である場合には、S430において、「Ltar=9」と色番号CL4とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「100」がカウンタCN4に加算される。
上述したように、本実施例の配色処理では、CPU62は、「Ltar=8」かつ「j=2」である場合には、「j=2」に対応するカウンタCN2の値が最大であるので、「j=3」を設定する。即ち、CPU62は、画素値「8」に対応する画素グループのための変換色として、最大のカウント値を有するカウンタCN2に対応する色(即ち色番号CL2に対応する色)を選択せずに(図11のS410でYES)、カウンタCN3に対応する色(即ち色番号CL3に対応する色)を選択する。CPU62は、このような処理(即ち(図11のS410の判断処理)を実行するので、各色番号CL1〜CL5に対応する各色が選択される画素数のばらつきが大きくなるのを抑制することができる。この結果、CPU62は、後述の配色変換処理で生成される変換済みデータCD2によって表わされる変換済み画像において、5個の色を有する5個の領域のサイズのばらつきが大きくなるのを抑制することができる。
(配色変換処理;図13)
続いて、図13を参照して、図7のS500の配色変換処理の内容を説明する。S502では、画像処理サーバ50のCPU62は、画素の位置を示すポインタm及びnのそれぞれの値を「0」に設定する。S504では、CPU62は、ラベルデータLD内の1個の画素LP(m,n)を選択する。S506では、CPU62は、画素LP(m,n)の画素値が「0」より大きいのか否かを判断する。即ち、CPU62は、画素TP(m,n)が注目画素であるのか否かを判断する。
CPU62は、画素LP(m,n)の画素値が「0」より大きいと判断する場合(S506でYES)には、S508において、図11の配色処理で生成された配色テーブルから色番号を取得する。具体的には、CPU62は、配色テーブルから、画素LP(m,n)の画素値に一致する値が対応付けられている色番号を取得する。次いで、CPU62は、図7のT20で取得される配色パターンCOPから、取得済みの色番号に対応付けられているRGB値を取得する。以下では、ここで取得されるRGB値のことを「RGBcoltar」と記載する。
S510では、CPU62は、対象データTD内の注目画素TP(m,n)の画素値RGBtp(m,n)を、RGBcoltarに変換する。これにより、変換済みデータCD2内の画素CP(m,n)の画素値RGBcp(m,n)は、RGBcoltarに一致する。S510を終えると、S520に進む。
また、CPU62は、画素BP(m,n)の画素値が「0」であると判断する場合(S506でYES)には、S508及びS510をスキップして、S520に進む。即ち、CPU62は、画素TP(m,n)の画素値RGBtp(m,n)を変換しない。これにより、変換済みデータCD2内の画素CP(m,n)の画素値RGBcp(m,n)は、対象データTD内の画素TP(m,n)の画素値RGBtp(m,n)に一致する。
S520〜S526は、図3のS120〜S126と同様である。S526でYESと判断されると、配色変換処理が終了する。これにより、対象データTD内の各画素グループに、配色パターンCOPが示す各色が配色された変換済みデータCD2が完成する。
(画像の変換の例;図14)
図14(A)は、対象データTDによって表わされる対象画像TI2の一例を示す。対象画像TI2は、白色の背景画像と、黒色の文字「ijk」を示す5個のオブジェクト画像と、を含む。1個のオブジェクト画像は、黒色が連続している画像を意味する。従って、文字「i」のうちの上側の部分及び下側の部分は、それぞれ、1個のオブジェクト画像に相当する。同様に、文字「j」のうちの上側の部分及び下側の部分も、それぞれ、1個のオブジェクト画像に相当する。
図7のS100の二値化処理では、画像処理サーバ50は、対象データTDに含まれる複数個の画素のうち、文字「ijk」を示す各オブジェクト画像を表わす各画素について、注目画素であると判断する(図3のS108でYES)。
図7のS300のラべリング処理では、画像処理サーバ50は、対象データTD内の各注目画素を5個の画素グループに分類する(図8参照)。即ち、画像処理サーバ50は、5個のオブジェクト画像を表わす5個の画素グループに分類する。
図7のS400の配色処理では、画像処理サーバ50は、対象データTD内の各画素グループのための各変換色として、色番号CL1〜CL5に対応する各色を選択する(図11のS430参照)。
図7のS500の配色変換処理では、画像処理サーバ50は、対象データTD内の各画素グループのそれぞれについて、当該画素グループを構成する全注目画素の各画素値を、選択済みの色を示す値に変換する(図13のS508、S510)。
上記の各処理が実行されると、図14(B)に示される変換済み画像CI2を表わす変換済みデータCD2が生成される。変換済み画像CI2は、白色の背景画像と、色番号CL1〜CL5に対応する5個の色を含む5個のオブジェクト画像と、を含む。換言すると、変換済み画像CI2は、ユーザによって描画されたオブジェクト「ijk」に対応する形状を有する5個のオブジェクト画像であって、複数個の異なる色が配色されている5個のオブジェクト画像を含む。本実施例でも、面白味のある変換済み画像CI2が印刷された用紙をユーザに提供し得る。
(対応関係)
図14(A)の対象画像TI2を表わす対象データTDでは、5個の画素グループが「N個の画素グループ」の一例である。例えば、文字「i」の上側の部分を示すオブジェクト画像を表わす画素グループ、文字「i」の下側の部分を示すオブジェクト画像を表わす画素グループが、それぞれ、「第1の画素グループ」、「第2の画素グループ」の一例である。そして、前者の画素グループに含まれる1個の注目画素、後者の画素グループに含まれる1個の注目画素が、それぞれ、「第1の注目画素」、「第2の注目画素」の一例である。また、前者の画素グループのための変換色(即ち色番号CL1に対応する色)、後者の画素グループのための変換色(即ち色番号CL4に対応する色)が、それぞれ、「第1の色」、「第2の色」の一例である。また、図11のS402で特定されるk個の色が、「M個の色」の一例である。
図7のS300の処理、S400の処理、S500の処理が、それぞれ、「分類部」、「第1の選択部」、「第1の変換部」によって実行される処理の一例である。また、図7において、変換済みデータCD2をMFP10に送信する処理が、「出力部」によって実行される処理の一例である。図11のS410の判断処理を含む手法が、「所定の手法」の一例である。
(第3実施例;図15)
本実施例では、図7のS400の配色処理の内容が第2実施例とは異なる。図15を参照して、本実施例の配色処理の内容を説明する。図15では、図11と同じ処理については、図11と同じステップ番号が付されている。以下では、図11とは異なるS409の処理の内容を説明する。
S409では、画像処理―場50のCPU62は、まず、カウンタCN1〜CNkの中から、最小のカウント値を有するカウンタCNjを特定する。なお、CPU62は、最小のカウント値を有する2個以上のカウンタが存在する場合には、当該2個以上のカウンタの中から、「j」の値が最小である1個のカウンタCNjを特定する。そして、CPU62は、カウンタCNjに対応する色番号CLjを特定する。
図11のS406、S410、S420〜S424が実行されない点を除くと、図15の他の各処理は、図11の各処理と同様である。
(配色処理の例;図12)
図12の(第2実施例)のテーブルと(第3実施例)のテーブルとを比べるとわかるように、本実施例でも、Ltarが「1」〜「6」である場合には、第2実施例と同様に、色番号CL1〜CL5が配色テーブルに順次記述され、各カウンタCN1〜CN5がカウントアップされる。
「Ltar=6」について図15のS409〜S440の処理が終了した段階では、カウンタCN4のカウント値「50」が最小である。従って、「Ltar=7」の場合には、S409において、カウンタCN4(即ち「j」=4)が特定され、S430において、「Ltar=7」と色番号CL4とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「50」がカウンタCN4に加算されて、カウンタCN4のカウント値が「100」になる。
また、「Ltar=7」について図15のS409〜S440の処理が終了した段階では、2個のカウンタCN1,CN4の各カウント値「100」が最小である。従って、「Ltar=8」の場合には、S409において、カウンタCN1(即ち「j」=1)が特定され、S430において、「Ltar=8」と色番号CL1とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「75」がカウンタCN1に加算されて、カウンタCN1のカウント値が「175」になる。
同様に、「Ltar=9」の場合には、S409において、カウンタCN4(即ち「j」=4)が特定され、S430において、「Ltar=9」と色番号CL4とが対応付けられた情報が、配色テーブルに記述される。そして、S434において、画素数「100」がカウンタCN1に加算されて、カウンタCN1のカウント値が「200」になる。
上述したように、本実施例の配色処理では、CPU62は、S409において、最小のカウント値を有するカウンタCNjに対応する色番号CLjを特定し、S430において、当該色番号CLjに対応する色を変換色として選択する。本実施例でも、CPU62は、色番号CL1〜CL5に対応する各色が選択される画素数のばらつきが大きくなるのを抑制することができる。この結果、CPU62は、変換済みデータCD2によって表わされる変換済み画像において、5個の色を有する5個の領域のサイズのばらつきが大きくなるのを抑制することができる。本実施例では、図15のS409の処理を含む手法が、「所定の手法」の一例である。
(第4実施例;図16)
本実施例では、画像処理サーバ50は、合成変換処理を実行すべきか、配色変換処理を実行すべきか、を自動的に決定する。
画像処理サーバ50のメモリ64は、上記の各実施例とは異なり、複数個の合成用データ70及び複数個の配色用データ80を記憶してない。図16に示されるように、画像処理サーバ50のメモリ64は、予め決められている1個の参照データRD及び1個の配色パターンCOPを記憶している。
上記の各実施例と同様に、MFP10のユーザは、まず、A4サイズの用紙に手書きで文字、図形等のオブジェクトを描画して、MFP10の操作部12を操作して、変換指示をMFP10に入力する。
MFP10のCPU32は、変換指示が入力されると、用紙のスキャンの指示をスキャン実行部22に供給する。これにより、スキャン実行部22は、A4サイズの用紙のカラースキャンを実行して、K1個の画素を含むスキャンデータSD3を生成する。次いで、MFP10のCPU32は、スキャンデータSD3を含む変換指示320を、画像処理サーバ50に送信する。
画像処理サーバ50のCPU62は、MFP10から変換指示320を受信すると、上記の各実施例と同様に、S10の縮小化処理、S100の二値化処理、及び、S300のラべリング処理を順次実行して、対象データTD、二値データBD、及び、ラベルデータLDを順次生成する。
次いで、S600では、画像処理サーバ50のCPU62は、ラベルデータLDを利用して、合成変換処理を実行すべきか、配色変換処理を実行すべきか、を決定するための決定処理を実行する。そして、S700では、CPU62は、決定処理の結果が合成変換処理であるのか否かを判断する。
画像処理サーバ50のCPU62は、決定処理の結果が合成変換処理であると判断する場合(S700でYES)には、T10において、メモリ64から参照データRDを取得する。そして、S200において、CPU62は、第1実施例と同様に、合成変換処理を実行して(図5参照)、変換済みデータCD1を生成する。その後の各処理は、第1実施例と同様である。
また、画像処理サーバ50のCPU62は、決定処理の結果が配色変換処理であると判断する場合(S700でNO)には、T20において、メモリ64から配色パターンCOPを取得する。そして、S400において、CPU62は、第2実施例又は第3実施例と同様に、配色処理及び配色変換処理(図11、図13、図15参照)を実行して、変換済みデータCD2を生成する。その後の各処理は、第2実施例と同様である。
(決定処理;図17)
続いて、図17を参照して、図16のS600の決定処理の内容を説明する。S602では、画像処理サーバ50のCPU62は、合計値カウンタCNtotalを生成する。CPU62は、CNtotalの初期値として「0」を設定する。そして、S604では、ポインタLtarの値として「1」を設定する。
S606では、CPU62は、ラベルデータLDを参照して、ポインタLtarの値に一致する画素値を有する画素数を算出する。S608では、CPU62は、S606で算出される画素数を記憶する。例えば、図12のラベルデータLDを例にすると、「Ltar=1」である場合には、図17のS608で画素数「100」が記憶される。
次いで、S610では、CPU62は、CNtotalの現在の値に、S606で算出された画素数を加算する。S612〜S616は、図11のS436〜S440と同様である。CPU62は、S616でYESと判断する場合には、S606以降の各処理を再び実行する。
また、CPU62は、S614でYESと判断する場合には、S618において、S608で記憶された各画素数のうち、最大の画素数PNmaxを特定する。例えば、図12のラベルデータLDを例にすると、「L=2」に対応する画素数「200」がPNmaxとして特定される。
次いで、S620では、CPU62は、まず、S618で特定されたPNmaxを、CNtotalの値で除算することによって、除算値を算出する。次いで、CPU62は、当該除算値が予め決められている閾値Thよりも大きいのか否かを判断する。
CPU62は、除算値が閾値Thよりも大きいと判断する場合(S620でYES)には、S622において、合成変換処理を実行すべきと決定する。また、CPU62は、除算値が閾値Th以下であると判断する場合(S620でNO)には、S624において、配色変換処理を実行すべきと決定する。S622又はS624が実行されると、決定処理が終了する。
上述したように、本実施例では、画像処理サーバ50は、図17の決定処理を実行して、合成変換処理を実行すべきか、配色変換処理を実行すべきか、を自動的に決定する。CNtotalの最終的なカウント値は、対象データTD内の全注目画素の画素数に等しい。また、PNmaxは、対象データTD内の最大の画素グループの画素数に等しい。このために、S620で算出される除算値は、対象データTD内の全注目画素の中での最大の画素グループの割合を示す。
従って、画像処理サーバ50は、対象データTD内の全注目画素の中での最大の画素グループの割合が比較的に大きい場合(S620でYES)には、合成変換処理を実行すべきと決定する(S622)。仮に、最大の画素グループの割合が比較的に大きい場合に、配色変換処理が実行されると、例えば、図6(A)のような比較的に大きなオブジェクト画像(即ち文字「A」)が、単色を示すオブジェクト画像に変換されることになるので、ユーザが変換済み画像を単調な画像であると感じ得る。これに対し、本実施例では、最大の画素グループの割合が比較的に大きい場合に、合成変換処理が実行されるので、例えば、図6(A)のようなオブジェクト画像(即ち文字「A」)が、図6(C)のような複数色を示すオブジェクト画像に変換される。このために、面白味がある変換済み画像をユーザに提供し得る。
また、画像処理サーバ50は、対象データTD内の全注目画素の中での最大の画素グループの割合が比較的に小さい場合(S620でNO)には、配色変換処理を実行すべきと決定する(S624)。仮に、最大の画素グループの割合が比較的に小さい場合に、合成変換処理が実行されると、個々のオブジェクト画像が小さいので、ユーザは、変換済み画像において、参照画像のパターンを認識しにくい。これに対し、本実施例では、最大の画素グループの割合が比較的に小さい場合に、配色変換処理が実行されるので、個々のオブジェクト画像が小さくても、面白味がある変換済み画像をユーザに提供し得る。
(対応関係)
図17のS606で算出される画素数が、「特徴データ」の一例である。配色変換処理、合成変換処理が、それぞれ、「第1種の変換処理」、「第2種の変換処理」の一例である。変換済みデータCD2、変換済みデータCD1が、それぞれ、「第1の変換済みデータ」、「第2の変換済みデータ」の一例である。
図17のS606の処理、S618〜S624の処理が、それぞれ、「算出部」、「決定部」によって実行される処理の一例である。図16のS400の処理、S500の処理が、それぞれ、「第1の選択部」、「第1の変換部」によって実行される処理の一例である。また、図16のS200のうちのS208の処理、S210の処理(図5参照)が、それぞれ、「第2の選択部」、「第2の変換部」によって実行される処理の一例である。
(第5実施例;図18)
本実施例では、画像処理サーバ50は、MFP10から受信する指示に応じて、変換済みデータCD1をMFP10に送信するのか、確認データCD1’をMFP10に送信するのか、を変える。
複数個のサムネイル画像SI1,SI2がMFP10の表示部14に表示されるまでの各処理は、第1実施例と同様である(図2参照)。ユーザは、複数個のサムネイル画像SI1,SI2の中から1個のサムネイル画像を選択した後に、さらに、MFP10の操作部12を操作して、変換済み画像がはがきサイズの用紙に印刷されるべきか、変換済み画像の内容を確認するために、変換済み画像がA4サイズの用紙に印刷されるべきか、を選択することができる。
はがきサイズの用紙が選択される場合には、第1実施例の図2と同様に、MFP10のCPU32は、変換指示120を画像処理サーバ50に送信する。そして、画像処理サーバ50のCPU62は、MFP10から変換指示120を受信すると、はがきサイズに対応する画素数を有する変換済みデータCD1をMFP10に送信する。これにより、MFP10は、変換済み画像をはがきサイズの用紙に印刷する。
一方、A4サイズの用紙が選択される場合(即ち確認のための印刷が選択される場合)には、図18に示されるように、MFP10のCPU32は、スキャンデータSD1と、選択済みのサムネイル画像に対応する参照番号と、を含む確認指示122を、画像処理サーバ50に送信する。
画像処理サーバ50のCPU62は、MFP10から確認指示122を受信すると、第1実施例と同様に、S10の縮小化処理、S100の二値化処理、及び、S200の合成変換処理を順次実行して、変換済みデータCD1を生成する。
次いで、S800において、画像処理サーバ50のCPU62は、メモリ64に予め記憶されているテンプレートデータ内の所定の位置に変換済みデータCD1を書き込んで、確認データCD1’を生成する。テンプレートデータは、A4サイズに対応する画素数を有しており、さらに、印刷確認であることを示すメッセージを表わすデータを含む。そして、CPU62は、確認データCD1’をMFP10に送信する。
MFP10のCPU32は、画像処理サーバ50から確認データCD1’を受信すると、確認データCD1’を印刷実行部20に供給する。この結果、印刷実行部20は、確認データCD1’によって表わされる画像を、A4サイズの用紙に印刷する。これにより、ユーザは、印刷済みの用紙を見ることによって、変換済み画像の内容を確認することができる。
図18は、確認データCD1’によって表わされる画像が印刷されたA4サイズの用紙P3の一例を示す。A4サイズの用紙の中央の部分に変換済み画像が印刷され、当該部分の下方に印刷確認であることを示すメッセージが印刷される。このように、本実施例では、A4サイズの用紙の全域に亘って変換済み画像が印刷されるのではなく、A4サイズの用紙の一部分に変換済み画像が印刷される。
なお、第1実施例のみならず、第2実施例〜第4実施例においても、本実施例の技術を適用可能である。例えば、第2実施例において、ユーザは、サムネイル画像を選択する際(即ち図7の「選択」の際)に、確認のための印刷を選択してもよい。この場合、画像処理サーバ50のCPU62は、MFP10からスキャンデータSD2と配色番号とを含む確認指示を受信する。CPU62は、変換済みデータCD2を生成し、次いで、第5実施例と同様のテンプレートデータ内の所定の位置に変換済みデータCD2を書き込んで、確認データを生成する。そして、CPU62は、当該確認データをMFP10に送信する。これにより、MFP10では、確認データによって表わされる画像がA4サイズの用紙に印刷される。
(対応関係)
A4サイズ、はがきサイズが、それぞれ、「第1の媒体サイズ」、「第2の媒体サイズ」の一例である。確認指示122、変換指示120が、それぞれ、「第1の指示」、「第2の指示」の一例である。スキャンデータSD1、確認データCD1’が、それぞれ、「元データ」、「出力データ」の一例である。S800の処理が、「生成部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)例えば、MFP10は、複数個の合成用データ70又は複数個の配色用データ80を予め記憶していてもよい。そして、MFP10は、画像処理サーバ50に代えて、上記の各実施例の各処理(例えば、図2のS10、S100、T10、S200等)を実行してもよい。この場合、MFP10は、MFP10自身によって生成される変換済みデータCD1,CD2を利用して、印刷を実行することができる。本変形例では、MFP10が、「画像処理装置」の一例である。
(変形例2)例えば、MFP10のためのドライバプログラムは、複数個の合成用データ70又は複数個の配色用データ80を含んでいてもよい。この場合、ドライバプログラムがインストールされるPCは、画像処理サーバ50に代えて、上記の各実施例の各処理を実行してもよい。本変形例では、PCが、「画像処理装置」の一例である。
(変形例3)上記の実施例では、「A4サイズ」の用紙P1(図2参照)のスキャンが実行され、「はがきサイズ」の用紙に印刷が実行される。これに代えて、他のサイズ(例えば、はがきサイズ、B4、B5、リーガル等)の用紙のスキャンが実行されてもよい。また、他のサイズ(例えば、A4、B4等)の用紙に印刷が実行されてもよい。
(変形例4)画像処理サーバ50は、図2のS10の縮小化処理を実行せずに、例えば、A4サイズに対応する第1の画素数を有するスキャンデータSD1に対して二値化処理を実行し、次いで、上記の第1の画素数を有する参照データRDを利用して、合成変換処理を実行してもよい。この場合、上記の第1の画素数を有する変換済みデータCD1が生成される。そして、画像処理サーバ50は、変換済みデータCD1に対する縮小化処理を実行して、例えば、はがきサイズに対応する第2の画素数を有する縮小データを生成し、当該縮小データをMFP10に送信してもよい。この場合でも、MFP10は、変換済み画像をはがきサイズの用紙に印刷することができる。本変形例では、スキャンデータSD1、縮小データが、それぞれ、「対象データ」、「第1(又は第2)の変換済みデータ」の一例である。
(変形例5)上記の実施例では、画像処理サーバ50は、変換済み画像CI1をMFP10に印刷させるために、変換済みデータCD1をMFP10に送信する。これに代えて、例えば、画像処理サーバ50は、変換済み画像CI1をディスプレイに表示させるために、変換済みデータCD1をディスプレイに送信してもよい。即ち、「第1(又は第2)の変換済みデータ」は、印刷のためのデータでなくてもよく、表示のためのデータであってもよい。即ち、「出力部」は、第1(又は第2)の変換済みデータを出力すればよい。
(変形例6)「対象データ」は、スキャンデータから得られるデータでなくてもよく、例えば、デジタルカメラで撮影された画像を表わすデータであってもよいし、描画ソフトウェアによって描画された画像を表わすデータであってもよい。即ち、「対象データ」は、変換対象の対象画像を表わすデータであればよい。
(変形例7)上記の各実施例では、画像処理サーバ50は、対象データTD内の注目画素以外の各画素(以下では「非注目画素」と呼ぶ)の画素値を変換しない(例えば、図5のS206でNO、図13のS506でNO)。これに代えて、画像処理サーバ50は、各非注目画素の画素値を変換してもよい。例えば、画像処理サーバ50は、各非注目画素の画素値を、白色を示すRGB値(255,255,255)に変換してもよい。この場合、画像処理サーバ50は、スキャン対象の用紙が白色でない場合に、白色を示す背景画像を表わす変換済み画像の印刷をMFP10に実行させることができる。一般的に言うと、「第1の変換部」は、注目画素のための変換色を選択して、当該注目画素の画素値を、当該変換色を示す値に変換すればよく、非注目画素の画素値については、変換してもよいし、変換しなくてもよい。
(変形例8)第4実施例では、画像処理サーバ50は、各画素グループの画素数を算出し(図17のS608)、PNmaxがCNtotalで除算された除算値が閾値Thよりも大きいのか否かを判断する。これに代えて、画像処理サーバ50は、CNtotalを利用せずに、PNmaxが所定値よりも大きい場合に、合成変換処理を実行すべきと決定し、PNmaxが所定値以下である場合に、配色変換処理を実行すべきと決定してもよい。また、別の変形例では、画像処理サーバ50は、PNmaxを利用せずに、CNtotalが所定値よりも大きい場合に、合成変換処理を実行すべきと決定し、CNtotalが所定値以下である場合に、配色変換処理を実行すべきと決定してもよい。これらの変形例でも、画像処理サーバ50は、対象データTDに応じて適切な処理を実行することができ、この結果、面白味のある画像をユーザに提供し得る。一般的に言うと、画像処置装置は、N個の画素グループのN個の特徴データを利用して、第1種の変換処理と第2種の変換処理とのどちらを実行すべきかを決定すればよい。
(変形例9)上記の各実施例では、画像処理サーバ50のCPU62がメモリ64内のプログラムを実行することによって、図2、図3、図5、図7、図8、図11、図13等の各処理が実現される。これに代えて、これらの各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、10:多機能機、12:操作部、14:表示部、16:ネットワークインターフェース、20:印刷実行部、22:スキャン実行部、30:制御部、32:CPU、34:メモリ、50:画像処理サーバ、56:ネットワークインターフェース、60:制御部、62:CPU、64:メモリ、70:複数個の合成用データ、80:複数個の配色用データ、SD1,SD2,SD3:スキャンデータ、TD:対象データ、BD:二値データ、RD:参照データ、MLD:中間ラベルデータ、LD:ラベルデータ、CD1,CD2:変換済みデータ、SI1〜SI4:サムネイル画像、TI1,TI2:対象画像、RI:参照画像、CI1,CI2:変換済み画像

Claims (7)

  1. 画像処理装置であって、
    変換対象の対象画像を表わす対象データを取得する対象データ取得部と、
    前記対象データを構成する複数個の対象画素のそれぞれについて、当該対象画素が、所定の濃度以上を有する注目画素であるのか否かを判断する判断部と、
    2個以上の前記注目画素をN個(前記Nは2以上の整数)の画素グループに分類する分類部と、
    前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素のための変換色として、M個(前記Mは2以上の整数)の色の中から1個の色を選択する第1の選択部と、
    前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素の画素値を、当該画素グループのための前記変換色を示す値に変換して、第1の変換済みデータを生成する第1の変換部と、
    前記第1の変換済みデータを出力する出力部と、を備え、
    前記第1の選択部は、
    前記Nが前記Mより大きい場合に、前記M個の色の全てが前記変換色として選択されるように、前記N個の画素グループのための前記N個の変換色のそれぞれを選択し、
    前記M個の色のそれぞれについて、当該色が前記変換色として選択された画素数をカウントし、
    前記第1の変換済みデータによって表わされる変換済み画像に含まれる前記M個の色を示すM個の領域のサイズのばらつきが大きくなるのを抑制するために、前記N個の画素グループのうち、未だに前記変換色が選択されていない注目画素グループのための前記変換色を選択すべき際に、前記M個の色のうち、画素数のカウント値が最大である色を選択せずに、画素数のカウント値が最大でない色を選択する、
    画像処理装置。
  2. 前記第1の選択部は、
    前記N個の画素グループのうち、第1の注目画素を含む第1の画素グループに属する全注目画素のための変換色として、前記M個の色の中から第1の色を選択し、
    前記N個の画素グループのうち、前記第1の注目画素とは異なる第2の注目画素を含む第2の画素グループに属する全注目画素のための前記変換色として、前記M個の色の中から前記第1の色とは異なる第2の色を選択し、
    前記第1の変換部は、
    前記第1の画素グループに属する全注目画素の画素値を、前記第1の色を示す第1の値に変換し、
    前記第2の画素グループに属する全注目画素の画素値を、前記第2の色を示す第2の値に変換する、請求項1に記載の画像処理装置。
  3. 前記第1の選択部は、前記注目画素グループのための前記変換色を選択すべき際に、前記M個の色のうち、画素数のカウント値が最小である色を選択する、請求項1又は2に記載の画像処理装置。
  4. 画像処理装置であって、
    変換対象の対象画像を表わす対象データを取得する対象データ取得部と、
    複数個の色を含む特定画像を表わす特定データを取得する特定データ取得部と、
    前記対象データを構成する複数個の対象画素のそれぞれについて、当該対象画素が、所定の濃度以上を有する注目画素であるのか否かを判断する判断部と、
    2個以上の前記注目画素のそれぞれについて、前記対象データ内の当該注目画素の位置に対応する前記特定データ内の位置に存在する対応画素を抽出して、当該注目画素のための変換色として、当該対応画素の画素値によって示される色を選択する第1の選択部と、
    前記2個以上の注目画素のそれぞれについて、当該注目画素の画素値を、当該注目画素について抽出された前記対応画素の画素値に一致する値に変換して、第1の変換済みデータを生成する第1の変換部と、
    前記第1の変換済みデータを出力する出力部と、を備え、
    前記第1の選択部は、
    前記対象データ内の第1の注目画素の位置に対応する前記特定データ内の位置に存在する第1の対応画素を抽出して、前記第1の注目画素のための前記変換色として、前記第1の対応画素の画素値によって示される第1の色を選択し、
    前記対象データ内の前記第1の注目画素とは異なる第2の注目画素の位置に対応する前記特定データ内の位置に存在する第2の対応画素を抽出して、前記第2の注目画素のための前記変換色として、前記第2の対応画素の画素値によって示される前記第1の色とは異なる第2の色を選択し、
    前記第1の変換部は、
    前記第1の注目画素の画素値を、前記第1の色を示す第1の値に変換し、
    前記第2の注目画素の画素値を、前記第2の色を示す第2の値に変換する、
    画像処理装置。
  5. 画像処理装置であって、
    変換対象の対象画像を表わす対象データを取得する対象データ取得部と、
    前記対象データを構成する複数個の対象画素のそれぞれについて、当該対象画素が、所定の濃度以上を有する注目画素であるのか否かを判断する判断部と、
    2個以上の前記注目画素をN個(前記Nは2以上の整数)の画素グループに分類する分類部と、
    前記N個の画素グループのそれぞれについて、当該画素グループの特徴を示す特徴データを算出する算出部と、
    前記N個の画素グループのN個の前記特徴データを利用して、第1種の変換処理と第2種の変換処理とのどちらを実行すべきかを決定する決定部と、
    前記第1種の変換処理を実行すべきと決定される場合に、前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素のための変換色として、M個(前記Mは2以上の整数)の色の中から1個の色を選択する第1の選択部と、
    前記第1種の変換処理を実行すべきと決定される場合に、前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素の画素値を、当該画素グループのための前記変換色を示す値に変換して、第1の変換済みデータを生成する第1の変換部と、
    前記第2種の変換処理を実行すべきと決定される場合に、複数個の色を含む特定画像を表わす特定データを取得する特定データ取得部と、
    前記第2種の変換処理を実行すべきと決定される場合に、前記2個以上の注目画素のそれぞれについて、前記対象データ内の当該注目画素の位置に対応する前記特定データ内の位置に存在する対応画素を抽出して、当該注目画素のための前記変換色として、当該対応画素の画素値によって示される色を選択する第2の選択部と、
    前記第2種の変換処理を実行すべきと決定される場合に、前記2個以上の注目画素のそれぞれについて、当該注目画素の画素値を、当該注目画素について抽出された前記対応画素の画素値に一致する値に注目して、第2の変換済みデータを生成する第2の変換部と、
    前記第1種の変換処理を実行すべきと決定される場合に、前記第1の変換済みデータを出力し、前記第2種の変換処理を実行すべきと決定される場合に、前記第2の変換済みデータを出力する出力部と、を備える、
    画像処理装置。
  6. 画像処理装置であって、
    変換対象の対象画像を表わす対象データを取得する対象データ取得部であって、第1の媒体サイズに対応する元データを縮小化して、前記第1の媒体サイズよりも小さい第2の媒体サイズに対応する前記対象データを取得する前記対象データ取得部と、
    前記対象データを構成する複数個の対象画素のそれぞれについて、当該対象画素が、所定の濃度以上を有する注目画素であるのか否かを判断する判断部と、
    2個以上の前記注目画素のそれぞれについて、当該注目画素のための変換色として1個の色を選択する第1の選択部と、
    前記2個以上の注目画素のそれぞれについて、当該注目画素の画素値を、当該注目画素のための前記変換色を示す値に変換して、第1の変換済みデータを生成する第1の変換部と、
    第1の指示が与えられる場合に、前記第1の媒体サイズに対応するテンプレートデータ内に前記第1の変換済みデータを書き込んで、出力データを生成する生成部と、
    前記第1の変換済みデータを出力する出力部と、を備え、
    前記第1の選択部は、
    第1の注目画素のための変換色として第1の色を選択し、
    前記第1の注目画素とは異なる第2の注目画素のための変換色として前記第1の色とは異なる第2の色を選択し、
    前記第1の変換部は、
    前記第1の注目画素の画素値を、前記第1の色を示す第1の値に変換し、
    前記第2の注目画素の画素値を、前記第2の色を示す第2の値に変換し、
    前記出力部は、
    前記第1の指示が与えられる場合に、前記出力データを出力して、前記第1の媒体サイズを有する印刷媒体への印刷を印刷実行部に実行させ、
    前記第1の指示とは異なる第2の指示が与えられる場合に、前記第1の変換済みデータを前記印刷実行部に出力して、前記第2の媒体サイズを有する印刷媒体への印刷を前記印刷実行部に実行させる、
    画像処理装置。
  7. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各処理、即ち、
    変換対象の対象画像を表わす対象データを取得する対象データ取得処理と、
    前記対象データを構成する複数個の対象画素のそれぞれについて、当該対象画素が、所定の濃度以上を有する注目画素であるのか否かを判断する判断処理と、
    2個以上の前記注目画素をN個(前記Nは2以上の整数)の画素グループに分類する分類処理と、
    前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素のための変換色として、M個(前記Mは2以上の整数)の色の中から1個の色を選択する第1の選択処理と、
    前記N個の画素グループのそれぞれについて、当該画素グループに属する全注目画素の画素値を、当該画素グループのための前記変換色を示す値に変換して、第1の変換済みデータを生成する第1の変換処理と、
    前記第1の変換済みデータを出力する出力処理と、を実行させ、
    前記第1の選択処理では、
    前記Nが前記Mより大きい場合に、前記M個の色の全てが前記変換色として選択されるように、前記N個の画素グループのための前記N個の変換色のそれぞれを選択し、
    前記M個の色のそれぞれについて、当該色が前記変換色として選択された画素数をカウントし、
    前記第1の変換済みデータによって表わされる変換済み画像に含まれる前記M個の色を示すM個の領域のサイズのばらつきが大きくなるのを抑制するために、前記N個の画素グループのうち、未だに前記変換色が選択されていない注目画素グループのための前記変換色を選択すべき際に、前記M個の色のうち、画素数のカウント値が最大である色を選択せずに、画素数のカウント値が最大でない色を選択する、
    コンピュータプログラム。
JP2013173281A 2013-08-23 2013-08-23 画像処理装置 Active JP6197478B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013173281A JP6197478B2 (ja) 2013-08-23 2013-08-23 画像処理装置
US14/466,229 US9411543B2 (en) 2013-08-23 2014-08-22 Image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013173281A JP6197478B2 (ja) 2013-08-23 2013-08-23 画像処理装置

Publications (2)

Publication Number Publication Date
JP2015041956A JP2015041956A (ja) 2015-03-02
JP6197478B2 true JP6197478B2 (ja) 2017-09-20

Family

ID=52480102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013173281A Active JP6197478B2 (ja) 2013-08-23 2013-08-23 画像処理装置

Country Status (2)

Country Link
US (1) US9411543B2 (ja)
JP (1) JP6197478B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4002341A4 (en) 2019-12-19 2022-08-10 BOE Technology Group Co., Ltd. IMAGE PROCESSING METHOD, AND CORRESPONDING STORAGE MEDIA AND DEVICE

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62151986A (ja) * 1985-12-25 1987-07-06 Sharp Corp 画像処理装置
JP2760672B2 (ja) * 1991-06-03 1998-06-04 シャープ株式会社 画像処理装置
JP2005020227A (ja) * 2003-06-25 2005-01-20 Pfu Ltd 画像圧縮装置
JP4829164B2 (ja) 2007-03-30 2011-12-07 株式会社東芝 画像処理装置および画像処理方法
JP5153857B2 (ja) * 2010-11-25 2013-02-27 シャープ株式会社 画像処理装置、画像形成装置、画像処理方法、コンピュータプログラム及び記録媒体

Also Published As

Publication number Publication date
US20150055152A1 (en) 2015-02-26
US9411543B2 (en) 2016-08-09
JP2015041956A (ja) 2015-03-02

Similar Documents

Publication Publication Date Title
CN101123669B (zh) 图像转换方法和设备及具有该转换方法和设备的成像设备
JP5304827B2 (ja) 制御装置
US7616216B2 (en) Digital content creation system, program product, and storage medium
JP2006261882A (ja) 画像形成装置および画像形成方法
JP5477320B2 (ja) 画像処理装置
JP5360112B2 (ja) 制御装置
JP5924207B2 (ja) 画像処理装置及びプログラム
JP5206782B2 (ja) 画像処理装置、画像処理方法およびプログラム
JPH11196285A (ja) 画像処理方法、装置および記録媒体
JP6197478B2 (ja) 画像処理装置
JP2011059445A (ja) 画像形成装置、プレビュー画像の生成方法及びプログラム
JP6163964B2 (ja) 画像処理装置
JP2009060388A (ja) 画像処理装置及び画像処理プログラム
JP2007088912A (ja) 画像処理装置およびプログラム
JP2007188219A (ja) 印刷制御装置、印刷制御方法および印刷制御プログラム
JP2005091787A (ja) 網点階調画像およびその形成装置
US9473676B2 (en) Image processing apparatus
JP5672340B2 (ja) 制御装置
JP5428086B2 (ja) 特殊網点印刷物、並びに特殊網点印刷物を構成する特殊網点の作製方法、作製装置及び作製プログラム
JP2006260533A (ja) 画像処理装置及び画像処理方法
WO2012091180A1 (ja) 文字検出装置、文字検出方法、および記録媒体
JP6260144B2 (ja) 画像処理装置およびコンピュータプログラム
JP5732864B2 (ja) 情報処理装置、プログラム、および、印刷方法
JP2007150876A (ja) 画像形成方法
JP2011025478A (ja) 画像形成装置、画像形成方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170807

R150 Certificate of patent or registration of utility model

Ref document number: 6197478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150