(57)【要約】【課題】手書き合成印刷ができないというエラーの発生頻度を減らすことができ、また、ユーザの意図に近い合成印刷をすることができる画像処理システム、画像処理装置及び画像処理方法を提供することを目的とする。【解決手段】ユーザが描画可能なエリアを示す手書きエリア枠と、ユーザが描画する手書き画像と合成する合成対象画像データを示す下地画像と、上記手書き画像のエリアを検出するエリア検出マークとを具備する手書き原稿シートから、上記エリア検出マークの位置を検出する画像処理システムであって、エリア検出マークを含む領域をスキャナで読取って得た輝度情報と、色差情報とが所定量になるか否かに基づいて、エリア検出マークの色の画素を特定し、エリア検出マークの位置を検出する。【選択図】図１１
2010041673.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが描画可能なエリアを示す手書きエリア枠と、ユーザが描画する手書き画像と合成する合成対象画像データを示す下地画像と、上記手書き画像のエリアを検出するエリア検出マークとを具備する手書き原稿シートから、上記エリア検出マークの位置を検出する画像処理システムであって、
上記手書き原稿シートを印刷する印刷手段と；
上記印刷手段が印刷した手書き原稿シートを読み取り、デジタルＲＧＢ画像データに変換する読取手段と；
上記読取手段が得た読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との最大値と最小値との色差を取得する色差取得手段と；
上記読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との平均値の輝度を取得する平均輝度取得手段と；
上記色差取得手段が得た色差情報と色差閾値との比較結果と、上記平均輝度取得手段が得た平均輝度情報と輝度閾値との比較結果とに基づいて、上記読取画像データを、エリア検出マークの画素とそれ以外の画素とを区別する二値画像データに変換する二値画像変換手段と；
上記二値画像変換手段が変換した二値画像データから、エリア検出マークの位置を検出するエリア検出マーク位置検出手段と；
を有することを特徴とする画像処理システム。
【請求項２】
請求項１において、
上記エリア検出マークは、単一色で構成されているマークであることを特徴とする画像処理システム。
【請求項３】
請求項２において、
上記エリア検出マークは、黒色で構成されているマークであることを特徴とする画像処理システム。
【請求項４】
請求項１において、
上記読取画像データは、エリア検出マークを含む所定のサイズの画像データであることを特徴とする画像処理システム。
【請求項５】
請求項１において、
上記色差閾値は、予め定められた値であることを特徴とする画像処理システム。
【請求項６】
請求項１において、
上記輝度閾値は、予め定められた値であることを特徴とする画像処理システム。
【請求項７】
請求項１において、
上記色差閾値は、エリア検出マークの色差値よりも低くならないように定められている値であることを特徴とする画像処理システム。
【請求項８】
請求項１において、
上記輝度閾値は、エリア検出マークの輝度値よりも低くならないように定められている値であることを特徴とする画像処理システム。
【請求項９】
請求項１において、
上記下地画像は、合成対象画像を薄く印刷した画像であることを特徴とする画像処理システム。
【請求項１０】
請求項１において、
上記色差閾値は、上記下地画像の色差値よりも高くならないように定められている値であることを特徴とする画像処理システム。
【請求項１１】
請求項１において、
上記輝度閾値は、下地画像データの輝度値よりも高くならないように定められている値であることを特徴とする画像処理システム。
【請求項１２】
請求項１において、
上記色差閾値は、手書き画像に含まれている発生頻度の高い色差値であることを特徴とする画像処理システム。
【請求項１３】
請求項１において、
上記輝度閾値は、手書き画像に含まれている発生頻度の高い輝度値であることを特徴とする画像処理システム。
【請求項１４】
請求項１において、
上記色差閾値は、手書きエリア域枠の色差値よりも高くならないように定められている値であることを特徴とする画像処理システム。
【請求項１５】
請求項１において、
上記輝度閾値は、手書きエリア域枠の輝度値よりも高くならないように定められている値であることを特徴とする画像処理システム。
【請求項１６】
請求項１において、
上記色差閾値は、少なくとも１つの値であることを特徴とする画像処理システム。
【請求項１７】
請求項１において、
上記輝度閾値は、少なくとも１つの値であることを特徴とする画像処理システム。
【請求項１８】
ユーザが描画可能なエリアを示す手書きエリア枠と、ユーザが描画する手書き画像と合成する合成対象画像データを示す下地画像と、上記手書き画像のエリアを検出するエリア検出マークとを具備する手書き原稿シートから、上記エリア検出マークの位置を検出する画像処理装置であって、
上記手書き原稿シートを印刷する印刷手段と；
上記印刷手段が印刷した手書き原稿シートを読み取り、デジタルＲＧＢ画像データに変換する読取手段と；
上記読取手段が得た読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との最大値と最小値との色差を取得する色差取得手段と；
上記読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との平均値の輝度を取得する平均輝度取得手段と；
上記色差取得手段が得た色差情報と色差閾値との比較結果と、上記平均輝度取得手段が得た平均輝度情報と輝度閾値との比較結果とに基づいて、上記読取画像データを、エリア検出マークの画素とそれ以外の画素とを区別する二値画像データに変換する二値画像変換手段と；
上記二値画像変換手段が変換した二値画像データから、エリア検出マークの位置を検出するエリア検出マーク位置検出手段と；
を有することを特徴とする画像処理装置。
【請求項１９】
ユーザが描画可能なエリアを示す手書きエリア枠と、ユーザが描画する手書き画像と合成する合成対象画像データを示す下地画像と、上記手書き画像のエリアを検出するエリア検出マークとを具備する手書き原稿シートから、上記エリア検出マークの位置を検出する画像処理方法であって、
上記手書き原稿シートを印刷する印刷工程と；
上記印刷工程で印刷された手書き原稿シートを読み取り、デジタルＲＧＢ画像データに変換する読取工程と；
上記読取工程で得られた読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との最大値と最小値との色差を取得する色差取得工程と；
上記読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との平均値の輝度を取得する平均輝度取得工程と；
上記色差取得工程で得られた色差情報と色差閾値との比較結果と、上記平均輝度取得工程で得られた平均輝度情報と輝度閾値との比較結果とに基づいて、上記読取画像データを、エリア検出マークの画素とそれ以外の画素とを区別する二値画像データに変換する二値画像変換工程と；
上記二値画像変換工程で変換された二値画像データから、エリア検出マークの位置を検出するエリア検出マーク位置検出工程と；
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御指示と描画合成指示とが記入されている原稿を読取って解析することによって、原稿に指示されている内容に従って、任意の画像データを画像処理する画像処理装置に関する。
【背景技術】
【０００２】
最近、スキャナ部とプリンタ部とを備えた複合機（以下、ＭＦＰという）が家庭に普及し、これに伴って、ＭＦＰの多機能化が進んでいる。
【０００３】
たとえば、コピーやＰＣプリント、ＰＣスキャン等のＭＦＰの基本機能に加えて、フィルムスキャン、フィルムコピー、デジタルカメラダイレクトプリント等のいわゆる写真プリントを目的とした機能が多く提案されている。
【０００４】
この結果、デジタルスチルカメラや銀塩カメラで撮影した写真画像を、家庭で容易に印刷する手軽なホームＤＰＥが実現しつつある。この流れで、手軽なホームＤＰＥの機能拡張として、写真をそのままプリントするだけに留まらず、トリミングやフレーム合成等の加工を行う、より高度な写真プリント機能も提案されている。写真の加工機能は、写真印刷結果をよりユーザの好みに合った仕上がりに画像処理して提供することや、フレームやイラスト等の様々な素材を写真に合成処理することによって、より作品性の高い仕上がりを提供する。しかし、上記写真の加工機能を実行する場合、一般的に、複雑な画像処理や操作を伴う。
【０００５】
ＰＣを使わないＭＦＰのホームＤＰＥでは、簡単かつわかりやすい操作で、ユーザが所望する印刷結果を提供できることが特に重要であるが、ＰＣと比較してリソースの限られたＭＦＰで、上記複雑な操作を実行させることは難しいという問題がある。
【０００６】
この問題を解決する１つの試みとして、ＭＦＰのスキャン機能を利用し、ユーザが鉛筆やペン等で記入したマークシートを読み取り、解析した印刷制御命令に従って、印刷するシートスキャン方式が提案されている。シートスキャン方式の特徴は、複雑な画像処理の操作を、紙に可視化することである。シートスキャン方式は、その特徴を生かし、わかりやすさを目指し、ＭＦＰの写真印刷方法を実現するユーザインタフェースの一手段として提供されている。
【０００７】
シートスキャン方式を用いた具体的なＭＦＰの写真印刷機能の１つに、手書き合成印刷がある。この手書き合成印刷機能は、専用の手書き原稿シートに、ユーザが手書きした文字や絵等の手書き画像と、ＭＦＰに挿入されたメモリカード等に記録されている画像ファイルとを、任意のレイアウトで合成し、印刷する機能である。
【０００８】
この際、画像処理部は、手書き画像がスキャンされた手書き原稿シートデータ上のどこに存在するのか、より詳細な位置を検出する必要がある。このために、手書き原稿シートには、手書き画像のエリアを示す十字等、エリア検出マークが存在する。このエリア検出マークの位置検出には、エリア検出マークの画素とそれ以外の画素とを、精度よく判別することが求められる。
【０００９】
この場合、入力画像の各画素ＲＧＢ値を、Ｈ（色相）、Ｓ（彩度）、Ｉ（明度）に変換し、予め設定されているＨＩＳ閾値の範囲内であるときに、抽出対象の色と同一画素であると判断することが知られている（たとえば、特許文献１参照）。
【００１０】
また、パッチ画像から、背景画像の色域（ＲＧＢ）を作成し、手書き＋背景の合成画像の各画素が、上記色域の内であるか否かに応じて、手書画像と背景画像とを分割することが知られている（たとえば、特許文献２参照）。
【特許文献１】特開２００７−０４９６２７号公報
【特許文献２】特開平４−０１００７５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
手書き合成印刷において、ユーザが文字や絵をシートに描くときに、エリア検出マークの周辺を、誤って、ペン等で汚す場合がある。また、ＣＩＳスキャナで手書き原稿シートを読み取り、デジタルデータに変換する際に、色ずれが発生し、エリア検出マークが肥大する場合がある。
【００１２】
この場合、画像処理部は、エリア検出マークを検出できず、手書き合成印刷できず、エラーが発生するという問題がある。また、エリア検出マークの位置を誤って検出し、ユーザの意図とは異なる合成印刷がされるという問題もある。
【００１３】
本発明は、手書き合成印刷ができないというエラーの発生頻度を減らすことができ、また、ユーザの意図に近い合成印刷をすることができる画像処理システム、画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明は、ユーザが描画可能なエリアを示す手書きエリア枠と、ユーザが描画する手書き画像と合成する合成対象画像データを示す下地画像と、上記手書き画像のエリアを検出するエリア検出マークとを具備する手書き原稿シートから、上記エリア検出マークの位置を検出する画像処理システムであって、エリア検出マークを含む領域をスキャナで読取って得た輝度情報と、色差情報とが所定量になるか否かに基づいて、エリア検出マークの色の画素を特定し、エリア検出マークの位置を検出する。
【発明の効果】
【００１５】
本発明によれば、スキャナで読取った手書き原稿シートのデジタルデータから、エリア検出マークの位置を求める際に阻害原因を軽減することができ、検出精度が上がるという効果を奏する。
【００１６】
上記阻害原因には、たとえばＣＩＳスキャナで手書き原稿シートを読取ったときに発生する色ずれの影響、エリア検出マークの周辺に存在することが予測できる影響、下地画像、手書きエリア枠やユーザによるペン等の汚れがある。その結果、手書き合成印刷ができないエラーの発生頻度を減らすことができる。また、ユーザの意図によって近い合成印刷を行うことができる。
【発明を実施するための最良の形態】
【００１７】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００１８】
図１は、本発明の実施例１であるＭＦＰ１００の概観を示す装置斜視図である。
【００１９】
ＭＦＰ１００は、画像処理システムの例であり、画像処理装置の例であり、表示部１と、操作部２と、カードインタフェース３と、読取部４と、記録部５とを有する。
【００２０】
なお、ＭＦＰ１００は、手書き原稿シートから、上記エリア検出マークの位置を検出する画像処理システムの例である。上記手書き原稿シートは、ユーザが描画可能なエリアを示す手書きエリア枠と、ユーザが描画する手書き画像と合成する合成対象画像データを示す下地画像と、上記手書き画像のエリアを検出するエリア検出マークとを具備する。
【００２１】
図２は、ＭＦＰ１００の構成例を示すブロック図である。
【００２２】
また、ＭＦＰ１００は、ＣＰＵ１０と、ＲＯＭ１１と、ＲＡＭ１２と、不揮発性ＲＡＭ１３と、画像処理部１４と、駆動部１５と、センサ部１６とを有する。
【００２３】
ＣＰＵ１０は、ＭＦＰ１００が有する様々な機能を制御し、操作部２における所定の操作に従い、ＲＯＭ１１に記憶されている画像処理のプログラムを実行する。ＲＯＭ１１は、ＭＦＰ１００の制御命令プログラム等を格納している。
【００２４】
読取部４は、ＣＣＤを備え、原稿画像を読み取り、赤（Ｒ）、緑（Ｇ）及び青（Ｂ）色のアナログ輝度データを出力する。なお、読取部４として、ＣＣＤの代わりに、密着型イメージセンサ（ＣＩＳ）を使用するようにしてもよい。また、読取部４は、後述する手書き原稿シートの読み取りにも使用される。
【００２５】
カードインタフェース３は、たとえばデジタルスチルカメラで撮影され、メモリカード等に記録された画像ファイルを、操作部２の所定の操作に従って、読み込む。なお、カードインタフェース３を介して読み込まれた画像データの色空間は、必要ならば、画像処理部１４によって、デジタルスチルカメラの色空間（たとえばＹＣｂＣｒ）から、標準的なＲＧＢ色空間（たとえばｓＲＧＢ）に変換される。また、そのヘッダ情報に基づいて、読み込まれた画像データは、有効な画素数への解像度変換等、アプリケーションに必要な様々な処理が、必要に応じて施される。
【００２６】
画像処理部１４が、画像解析、サムネイル作成、サムネイル補正、出力画像補正等の画像処理を実行し、これらの画像処理によって得られた印刷データは、ＲＡＭ１２に格納される。ＲＡＭ１２に格納された印刷データが、記録部５で記録する場合に必要な所定量に達すると、記録部５による記録動作が実行される。
【００２７】
なお、上記画像処理では、記録用紙サイズ、記録用紙タイプ、日付を付与する／しない、フチなし印刷する／しない等、様々な印刷設定によって、異なる印刷データが作成される。
【００２８】
不揮発性ＲＡＭ１３は、バッテリバックアップされたＳＲＡＭ等であり、ＭＦＰ１００に固有のデータ等を記憶する。操作部２は、記憶媒体に記憶された画像データを選択し、記録をスタートするためのキー等によって構成されている。操作部２は、たとえば、フォトダイレクト印刷スタートキー、モノクロコピー時やカラーコピー時におけるモノクロコピースタートキー、カラーコピースタートキー、コピー解像度や画質等のモードを指定するモードキーを有する。また、操作部２は、コピー動作等を停止するためのストップキー、コピー数を入力するテンキーや登録キー、印刷する画像ファイル選択手段を指定するカーソルキーを有する。ＣＰＵ１０は、これらのキーの押下状態を検出し、この押下状態に応じて、各部を制御する。
【００２９】
表示部１は、ドットマトリクスタイプの液晶表示部（ＬＣＤ）と、ＬＣＤドライバとを備え、ＣＰＵ１０の制御に基づいて、各種の表示を行う。記録部５は、インクジェット方式のインクジェットヘッド、汎用ＩＣ等によって構成され、ＣＰＵ１０の制御によって、ＲＡＭ１２に格納されている記録データを読み出し、ハードコピーとして印刷出力する。
【００３０】
駆動部１５は、読取部４、記録部５の各動作において、給排紙ローラを駆動するためのステッピングモータ、ステッピングモータの駆動力を伝達するギヤと、ステッピングモータとを制御するドライバ回路とによって構成されている。
【００３１】
センサ部１６は、記録紙幅センサ、記録紙有無センサ、原稿幅センサ、原稿有無センサ、記録媒体検知センサ等によって構成されている。ＣＰＵ１０は、これらセンサから得られた情報に基づいて、原稿と記録紙との状態を検知する。
【００３２】
実施例１において、画像処理装置の構成については、特に規定はしない。たとえば、画像処理装置として、表示部１を備えないＭＦＰ１００を想定するようにしてもよい。
【００３３】
図３は、実施例１で使用する手書き原稿シートＳＨ１を示す図である。
【００３４】
手書き原稿シートＳＨ１において、シート判別マーク２１と、用紙選択エリア２２と、エリア検出マーク２３ａ〜２３ｄと、手書きエリア２４と、手書きエリア枠２５とが記載されている。
【００３５】
シート判別マーク２１は、シートをスキャンした時にスキャンした原稿が「手書き原稿シートＳＨ１」であることを判別するために使用するためのマークである。合成したい画像が、記憶媒体に格納されている画像中のどの画像であるか等の情報が入っているシートによって、シート判別マーク２１の形状が変化する。
【００３６】
用紙選択エリア２２は、画像を合成した後に、印刷を行うときの用紙サイズをユーザが選択できるように設けられている欄である。
【００３７】
エリア検出マーク２３ａ〜２３ｄは、手書き原稿シートＳＨ１をスキャンした際に、手書き部分を正しく抽出するために用いるマークである。実施例１では、エリア検出マーク２３ａ〜２３ｄを、原稿台に対して手書き原稿シートＳＨ１が傾いていた場合の傾き検出マークとして用いる。同時に、傾き補正のためのパラメータを求めるためのマークとしても、エリア検出マーク２３ａ〜２３ｄを用いる。
【００３８】
手書きエリア２４は、ユーザが手書き画像を書き込む領域である。手書きエリア２４には、手書き画像と合成対象画像との位置関係が、合成の結果どのようになるかをユーザが分かり易いように、合成対象画像を薄く印刷してある。
【００３９】
手書きエリア枠２５は、上記手書きエリア２４を囲む枠である。
【００４０】
図４は、手書き合成印刷の処理開始から処理終了までの全体的な処理の概要を示すフローチャートである。
【００４１】
手書き合成印刷処理は、３つの手順に大別される。
【００４２】
すなわち、手書き合成印刷処理は、手書き原稿シートＳＨ１の作成手順Ｓ１０と、手書き原稿シートＳＨ１の記入手順Ｓ２０と、手書き原稿シートＳＨ１の解析印刷手順Ｓ３０とに大別される。
【００４３】
＜手書き原稿シートＳＨ１の作成手順（Ｓ１０）＞
図５は、手書き原稿シートＳＨ１の作成手順（Ｓ１０）を示すフローチャートである。
【００４４】
まず、Ｓ１１で、合成対象の写真画像データを、ユーザが選択する。カードインタフェース３に接続されているメモリカードに記憶されている画像データのうちで、任意の画像データを、対象とされる写真画像データとして、操作部２と表示部１とを介して、指定し、決定する。
【００４５】
Ｓ１１で、写真画像データを指定し、この指定された写真画像データの格納先を、手書き原稿シートＳＨ１において、バーコード等のシート判別マーク２１に、印刷することができる。
【００４６】
写真画像データの格納先が、手書き原稿シートＳＨ１に盛り込まれることによって、後で上記シートを解析するときに、写真画像データを自動的に選択することができる。
【００４７】
なお、実施例１では、写真画像データ選択のタイミングについては、特に規定していない。ここでは下地画像を手書きエリアに印刷するため、Ｓ１１のタイミングで、写真画像データを選択する。しかし下地画像を印刷しない場合は、これに限定されず、たとえば、Ｓ１１の手順を省略し、手書き原稿シートＳＨ１を読み取るときに、後から写真画像データを選択するようにしてもよい。
【００４８】
なお、実施例１では、写真画像データのフォーマットを、特には規定していない。実施例１では、カードインタフェース３に接続されているメモリカード内の画像ファイルを、写真画像データの候補として選択する。たとえば、原稿を読取部４から読取ることによって作成された画像データを、写真画像データとするようにしてもよい。
【００４９】
次に、Ｓ１２では、Ｓ１１で選択された写真画像データから下地印刷用のグレイスケール画像を生成する。ここで、階調変換を行い、かつ、一定画素ごとに間引きを行うことによって、グレイスケール画像を生成する。
【００５０】
たとえば、マスクデータを生成するためにこの領域に、２値化処理を行うが、その閾値がｔ（０＜ｔ＜２５５）であったとする。この場合、ここで生成される下地印刷用のグレイスケール画像は、ｔ＋１〜２５５の輝度値に階調変換を行い、また、ｐ（＞１）ピクセル毎にデータを間引くことによって、マスクデータを生成する。
【００５１】
次に、Ｓ１３で、定型レイアウトを作成する。定型レイアウトは、図３に示す手書き原稿シートＳＨ１のレイアウトである。
【００５２】
上記定型レイアウトはたとえば任意のフォーマットでＲＯＭ１１に記録されたものがＲＡＭ１２に画像データとしてＣＰＵ１０によって展開される。Ｓ１３で、Ｓ１１で選択された写真画像データを、Ｓ１２で作成した定型レイアウトにおける手書きエリア枠２５にレイアウトする。たとえば、Ｓ１３でＲＡＭ１２に展開された定型レイアウトの指定のデータ領域に、Ｓ１１で指定された写真画像データを上書きする。
【００５３】
なお、実施例１では、上記のように下地画像を印刷しない場合、写真画像データ選択のタイミングについては、特に規定しない。したがってこの場合、たとえば、Ｓ１１の処理を省略した仕様であれば、Ｓ１４の写真画像データをレイアウトに含める処理も省略するようにしてもよい。
【００５４】
次に、Ｓ１５で、手書き原稿シートＳＨ１を印刷する。
【００５５】
実施例１では、手書き原稿シートＳＨ１を印刷する処理については、特に規定しない。たとえば、実施例１においては、Ｓ１３、Ｓ１４において記録装置内のＲＡＭ１２に作成されたレイアウトに従って形成されたＲＡＷ画像を、ＭＦＰ１００の記録部５が印刷可能な印刷ファイルに変換して手書き原稿シートを印刷する。
【００５６】
また、下地印刷するための下地画像生成時に、間引き処理と階調変換処理との両方の処理を行っているが、どちらか一方の処理を利用するようにしてもよい。
【００５７】
上記Ｓ１１〜Ｓ１５の処理に従って、ユーザが文字／イラストの合成を指示するための手書き原稿シートＳＨ１が、ＭＦＰ１００から印刷される。
【００５８】
＜手書き原稿シートＳＨ１記入（Ｓ２０）＞
図６は、実施例１において、ユーザが記入したと仮定した場合における記入例を示す図である。
【００５９】
Ｓ１０で作成された手書き原稿シートＳＨ１に対して、Ｓ２０で、ユーザの記入作業が行われる。実施例１では、手書き原稿シートＳＨ１に対するユーザの記入手段については、特に規定しない。
【００６０】
記入例３１は、ユーザが手書き画像合成印刷を行うときの用紙サイズとして、「はがき」、用紙タイプとして「フォト用紙」を選択したことを示す記入例である。
【００６１】
記入例３２は、ユーザが手書きエリア２４に、「２００８年夏、オランダに行ってきました！！  お土産期待していてね！！  さおり」の手書き画像を記入した例である。
【００６２】
＜手書き原稿シートＳＨ１を解析印刷（Ｓ３０）＞
図７は、手書き原稿シートＳＨ１の解析と印刷との手順を示すフローチャートである。
【００６３】
Ｓ３１で、ＣＰＵ１０は、表示部１に手書き原稿シートＳＨ１の読み込みが可能であることを表示する。次に、ＣＰＵ１０は、ユーザによる書き込みが終了した手書き原稿シートＳＨ１（図６）を、読取部４が読み取り、デジタル画像データに変換し、ＲＡＭ１２に保存する。
【００６４】
Ｓ３２で、ＣＰＵ１０は、ＲＯＭ１１に保存されているシート判別マーク２１、用紙選択エリア２２、エリア検出マーク２３ａ〜２３ｄの位置情報を得る。
【００６５】
Ｓ３３で、ＣＰＵ１０が、シート判別マーク２１の位置情報に基づいて、手書き原稿シートＳＨ１の画像データから、シート判別マーク２１があると予想される領域を解析する。
【００６６】
Ｓ１１で選択された合成対象写真画像ファイルへのパス等の情報が、シート判別マーク２１に存在する。上記画像ファイルの情報に基づいて、ＣＰＵ１０は、カードインタフェース３を介して、記憶媒体から上記合成対象写真画像ファイルのデータを取得し、ＲＡＭ１２に保存する。
【００６７】
このときに、手書きエリア２４の縦横比と同じになるように、上記画像データの上下または左右を切り出す。そして、この切り出した画像を、手書き原稿シートＳＨ１のデジタル画像フォーマット中の手書きエリア２４と同じサイズになるように、ＣＰＵ１０が画像処理部１４にリサイズさせる。読み取りを実行したときの解像度と、ＲＯＭ１１に保存されている手書きエリア２４の物理的な大きさとに基づいて、手書きエリア２４の画像サイズを決定する。
【００６８】
さらに、ＣＰＵ１０は、用紙選択エリア２２の位置情報に基づいて、手書き原稿シートＳＨ１の画像データから、用紙選択エリア２２があると予想される領域を解析する。
【００６９】
用紙選択エリア２２には、用紙サイズと用紙タイプとを指定する情報がある。ＣＰＵ１０は、解析の結果得られた用紙サイズと用紙タイプとの情報をＲＡＭ１２に保存する。
【００７０】
Ｓ３４で、ＣＰＵ１０は、後に図１１で説明する方法によって、エリア検出マーク２３ａ〜２３ｄのより詳細な位置を特定する。
【００７１】
Ｓ３５で、ＣＰＵ１０は、エリア検出マークの位置関係を算出する。この算出の結果、手書き原稿シートＳＨ１が、スキャナの読取台に対して傾いていると判断されると、ＣＰＵ１０は、エリア検知マークを含む領域を回転補正する。アフィン変換等の技術を用いることによって、上記回転補正を実行することができる。
【００７２】
Ｓ３６で、ＣＰＵ１０は、エリア検出マークを含む領域から、手書きエリア２４内の画像データを切り出す。このときに、エリア検出マーク２３ａ〜２３ｄと手書きエリア２４との相対的な位置関係に基づいて、手書きエリア２４が存在する位置座標を算出する。
【００７３】
Ｓ３７で、ＣＰＵ１０は、手書きエリア２４内のどの画素が手書き画像であるのかを示す二値画像データを作成する。上記二値画像データは、読取画像データを、エリア検出マークの画素とそれ以外の画素とを区別するデータである。以降、上記二値画像データを、「マスクデータ」とも呼称する。上記マスクデータは、手書きエリア２４の画像データの数と同じ縦横の画素数で構成されている。
【００７４】
次に、マスクデータの作成方法について説明する。
【００７５】
手書きエリア２４の画像のデータの１画素が、手書き画像の一部であると判定すれば、マスクデータ中の同じ位置にある画素を１とする。逆に、手書きエリア２４の画像のデータの１画素が、下地画像の一部であると判定すれば、マスクデータ中の同じ位置にある画素を０とする。このようにして、二値画像データを作成し、つまりマスクデータを作成する。
【００７６】
Ｓ３８では、ＣＰＵ１０は、Ｓ３７で作成した上記マスクデータと、Ｓ３６で切り出した手書きエリア２４内の画像データと、Ｓ３３でＲＡＭ１２に保存した合成対象写真画像データとを合成し、合成データを作成する。
【００７７】
Ｓ３９で、ＣＰＵ１０は、Ｓ３８で作成した合成データを、Ｓ３３で、ＲＡＭ１２に保存した用紙サイズに変倍し、印刷用データを作成する。ＣＰＵ１０は、上記印刷用データを、記録部５に印刷させる。
【００７８】
以上、Ｓ３１〜Ｓ３９の処理に従って、ユーザの文字／イラストが記入された手書き原稿シートＳＨ１を解析し、この解析結果に従った手書き合成印刷が行われる。
【００７９】
図８は、エリア検出マークのヒストグラムの例を示す図であり、手書き原稿シートＳＨ１に顔料ブラックで印刷されているエリア検出マークをスキャナして読み取り、Ｒ、ＧとＢの輝度値をヒストグラムにした図である。
【００８０】
上記ヒストグラムより、エリア検出マークの一部である画素は、一定値以上の輝度値にならないことが分かる。また、エリア検出マークの一部である画素は、一定値以上の色差値にならないことが分かる。なお、本発明において色差とは、Ｒ−Ｇ、Ｇ−Ｂ、Ｂ−Ｒの差分として定義する。
【００８１】
ＲＯＭ１１には、Ｒ値、Ｇ値、Ｂ値の平均値が最大となる画素の平均輝度値を、エリア検出マークの輝度閾値４１として、予め保存する。なお、Ｒ値、Ｇ値、Ｂ値の平均値は（Ｒ＋Ｇ＋Ｂ）／３で求めることができ、これがその画素の平均輝度値となる。つまりエリア検出マークの輝度閾値４１には、エリア検出マークに含まれる各画素がもつ平均輝度値のうち、最大の平均輝度値が設定される。
【００８２】
ＲＯＭ１１には、予めＲ、Ｇ、Ｂの値の最大値と最小値との差分（最大の色差）をエリア検出マークの色差閾値４２として保存する（Ｒ、Ｇ、Ｂのうちの最大値と最小値との差分が閾値である）。たとえば図８に示す例では、Ｂのヒストグラムの最大値が、Ｒ値、Ｇ値、Ｂ値の中で最大値である。また、Ｒのヒストグラムの最小値が、Ｒ値、Ｇ値、Ｂ値の中で最小値である。したがって、この場合、エリア検出マークの色差閾値４２には、Ｂの最大値とＲの最小値との差分が設定される。
【００８３】
図９は、下地画像のヒストグラムの例を示す図であり、手書き画像と合成するデジタル画像データの階調数を減らし、低濃度領域で表現した下地画像を、スキャナで読み取り、Ｒ、ＧとＢのヒストグラムにした図である。
【００８４】
上記ヒストグラムより、下地画像の一部である画素は、一定値以下の輝度値にならないことが分かる。また、エリア検出マークの一部である画素は、一定値以上の色差値にならないことが分かる。
【００８５】
ＲＯＭ１１には、予めＲ、ＧとＢの平均値の最低値を下地画像の輝度値５１として保存する。
【００８６】
ＲＯＭ１１には、予めＲ、ＧとＢの最大値と最小値との差分が最大となる色差値を下地画像の色差値５２として保存する。
【００８７】
図１０は、手書きエリア枠２５のヒストグラムの例を示す図であり、手書き原稿シートＳＨ１に印刷された手書きエリア枠２５をスキャナで読み取り、Ｒ、ＧとＢのヒストグラムを示す図である。
【００８８】
上記ヒストグラムより、手書きエリア枠２５の一部である画素は、輝度値にばらつきがあることが分かる。また、手書きエリア枠２５の一部である画素は、一定値以上の色差値を有することが分かる。
【００８９】
ＲＯＭ１１には、手書きエリア枠２５の輝度値６１として、予め、保存する。
【００９０】
ＲＯＭ１１には、Ｒ、ＧとＢの最大値と最小値との差分が最大となる色差値を手書きエリア枠２５の色差値６２として、予め保存する。
【００９１】
図１１は、エリア検出マーク２３ａのより詳細な位置を特定する手順を示すフローチャートである。
【００９２】
本発明は、図８〜図１０に示す輝度値及び色差値の違いを利用し、図１１に示すように、エリア検出マーク２３ａの詳細な位置を特定する。
【００９３】
ここでは、説明を省略するが、エリア検出マーク２３ｂ〜２３ｄについても、同様に位置を特定することができる。
【００９４】
図１２は、エリア検出マークを含む領域７１を示す図である。
【００９５】
Ｓ４１では、ＣＰＵ１０は、Ｓ３１でＲＡＭ１２に保存の手書き原稿シートＳＨ１（図６）のデジタル画像データから、ＲＯＭ１１のエリア検出マーク２３ａの位置情報に基づいて、図１２に示すエリア検出マークを含む領域７１を切り出す。この切り出されたエリア検出マークを含む領域７１を、ＲＡＭ１２に保存する。
【００９６】
Ｓ４２で、ＣＰＵ１０は、エリア検出マークを含む領域７１の１画素毎に、Ｓ４３〜Ｓ４６の処理を実行し、二値画像データを作成する。二値画像データは、エリア検出マークを含む領域７１と同じ縦横の画素数で構成される。上記処理を行う１画素を指定し、Ｓ４３へ進む。全ての画素について、上記処理を終了すると、Ｓ４７へ進む。
【００９７】
Ｓ４３では、ＣＰＵ１０は、Ｓ４２で指定された１画素のＲ値、Ｇ値、Ｂ値の平均値を求める。上記平均値がＲＯＭ１１に保存されている手書きエリア枠２５の輝度値６１または、ＲＯＭ１１に保存されている下地画像の輝度値５１に合致すれば、Ｓ４４へ進む。次に、上記平均値と、ＲＯＭ１１に保存されたエリア検出マークの輝度閾値４１とを比較する。上記平均値が閾値よりも小さければ、Ｓ４４へ進む。平均値が閾値以上であれば、Ｓ４６へ進む。
【００９８】
Ｓ４４では、ＣＰＵ１０は、Ｓ４２で指定された１画素のＲ値、Ｇ値、Ｂ値の中から最大値と最小値とを求める。上記最大値と最小値との差分値を求める。上記差分値がＲＯＭ１１に保存されている手書きエリア枠２５の色差値６２、または、ＲＯＭ１１に保存されている下地画像の色差値５２に合致する場合、Ｓ４５へ進む。上記差分値とＲＯＭ１１に保存されたエリア検出マークの色差閾値４２とを比較する。差分値が閾値よりも小さければ、Ｓ４５へ進む。差分値が閾値以上であれば、Ｓ４６へ進む。
【００９９】
Ｓ４５では、ＣＰＵ１０は、Ｓ４２で指定された１画素をエリア検出マークの一部とし、エリア検出マークを含む領域７１の同じ位置に存在する画素を０ｘＦＦとし、Ｓ４２へ戻る。
【０１００】
Ｓ４６では、ＣＰＵ１０は、Ｓ４２で指定された１画素をエリア検出マークの一部ではないと判断し、エリア検出マークを含む領域７１の同じ位置に存在する画素を０ｘ００とし、Ｓ４２へ戻る。
【０１０１】
図１３は、Ｓ４２〜Ｓ４６の処理で得られた二値画像データ７２の例を示す図である。
【０１０２】
Ｓ４８では、ＣＰＵ１０は、Ｓ４７で指定された１画素がエリア検出マークの中心か否かを判定する。Ｓ４８の判定処理は、既存の画像相関処理を利用することによって実現可能である。本画素がエリア検出マークの中心であると判定すると、Ｓ４９では、ＣＰＵ１０は、Ｓ４７で指定された１画素のＸ座標とＹ座標とをＲＡＭ１２に保存し、処理を正常終了する。本画素がエリア検出マークの中心ではないと判定すると、Ｓ４７へ戻る。
【０１０３】
全ての画素について、Ｓ４８の判断を終了すれば（Ｓ４７）、Ｓ５０へ進む。Ｓ５０で、ＣＰＵ１０は、エリア検出マークを検出できなかったと判断し、処理をエラー終了する。
【０１０４】
以上、Ｓ４１〜Ｓ５０の処理に従って、エリア検出マーク２３ａの位置を特定する。
【０１０５】
なお、Ｓ４３に記載のエリア検出マークの輝度閾値４１、手書きエリア枠２５の輝度値６１、下地画像の輝度値５１は、シート判別マーク２１に情報が埋め込まれ、その情報を解析することによって得るようにしてもよい。また、上記全ての輝度値を包含する輝度値を閾値として１つ設けるようにしてもよい。
【０１０６】
同様に、Ｓ４４に記載のエリア検出マークの色差閾値４２、手書きエリア枠２５の色差値６２、下地画像の色差値５２は、シート判別マーク２１に情報が埋め込まれ、その情報を解析することによって得るようにしてもよい。また、上記全ての色差値を包含するような色差値を閾値として１つ設けるようにしてもよい。
【０１０７】
上記処理を実行することによって、エリア検出マークの位置を検出する際に、阻害原因を軽減することができる。この阻害原因として、たとえばＣＩＳスキャナで手書き原稿シートＳＨ１を読み取ったときに発生する色ずれの影響、エリア検出マークの周辺に存在することが予測できるデータ、下地画像や手書きエリア枠２５というデータの影響がある。これらの阻害原因を軽減することによって、エリア検出マークの位置検出精度を向上することができ、手書き合成印刷ができないエラーの発生頻度を減らすことができる。また、ユーザの意図によって近い合成印刷を行うことができる。
【実施例２】
【０１０８】
実施例１は、下地画像と手書きエリア枠２５とについて、それぞれの輝度値と色差値情報とによって、エリア検出マークを含む領域７１の二値画像データ７２を作成し、上記マークの位置を検出する実施例である。
【０１０９】
一方、ユーザが文字や絵を手書き原稿シートＳＨ１に描くときに、エリア検出マークの周辺を誤って、ペン等で汚すことがある。このときに、上記汚れによって、エリア検出マークの位置を誤って検出する可能性があるので、上記汚れの画素を予め取り除くことが望ましい。
【０１１０】
実施例２は、ユーザが描いた手書き画像データである記入例３２の輝度値と色差値とに応じて、エリア検出マークを含む領域７１について、二値画像データ７２を作成し、上記マークの位置を検出する実施例である。
【０１１１】
図１〜図７は、実施例１と同様であるので説明を省略する。
【０１１２】
図１４は、エリア検出マーク２３ａの位置を特定する手順を示すフローチャートである。
【０１１３】
ここでは、説明を省略するが、エリア検出マーク２３ｂ〜２３ｄについても、同様に位置を特定することができる。Ｓ６１で、ユーザが文字や絵を描くときに使用した色差値と、輝度値とを抽出する。ＣＰＵ１０は、ＲＯＭ１１に保存されている手書きエリア２４の位置情報から、おおよその手書き画像範囲を推定する。
【０１１４】
図１５は、実施例２における手書き画像のヒストグラムを示す図である。
【０１１５】
上記範囲の１画素毎に、ＲＧＢの平均輝度値とＲＧＢとの最大値と最小値との差の色差値とを求め、手書き画像のヒストグラムを作成する。
【０１１６】
Ｓ６２で、上記ヒストグラムから発生頻度の高い色差値を、手書き画像の色差閾値８１とし、発生頻度の高い輝度値を、手書き画像の輝度閾値８２とする。なお、上記閾値の数は限定されるものではない。ＣＰＵ１０は、上記ヒストグラムの色差値＝０の画素数と、ある定量値とを、順次、比較する。色差値の画素数が上記定量値を越えたときの色差値を、発生頻度の高い色差値とし、手書き画像の色差閾値とする。上記色差閾値を、ＲＡＭ１２に保存する。上記輝度閾値についても、色差閾値と同様に求め、ＲＡＭ１２に保存する。
【０１１７】
Ｓ６３では、ＣＰＵ１０は、Ｓ３１でＲＡＭ１２に保存した手書き原稿シートＳＨ１（図６）のデジタルデータから、ＲＯＭ１１のエリア検出マーク２３ａの位置情報に基づいて、図１２に示すエリア検出マークを含む領域７１を切り出す。そして、ＲＡＭ１２に保存する。
【０１１８】
Ｓ６４で、エリア検出マークを含む領域７１の１画素毎に、Ｓ６５〜Ｓ６８の処理を行い、二値画像データ７２を作成する。二値画像データ７２は、エリア検出マークを含む領域７１と同じ縦横の画素数で構成される。ＣＰＵ１０は、上記処理を行う１画素を指定し、Ｓ６５へ進む。全ての画素について上記処理を終了すると、Ｓ６９へ進む。
【０１１９】
Ｓ６５では、ＣＰＵ１０は、Ｓ６４で指定された１画素のＲ値、Ｇ値、Ｂ値の平均値を求める。上記平均値と、Ｓ６２で求めた手書き画像の輝度閾値とを比較する。上記平均値が手書き画像の閾値に合致すれば、Ｓ６６へ進む。上記平均値と、ＲＯＭ１１に保存されているエリア検出マークの輝度閾値４１とを比較する。上記平均値が閾値よりも小さければ、Ｓ６６へ進む。平均値が閾値以上であれば、Ｓ６８へ進む。
【０１２０】
Ｓ６６では、ＣＰＵ１０は、Ｓ６４で指定された１画素のＲ値、Ｇ値、Ｂ値の中から、最大値と最小値とを求め、上記最大値と最小値との差分値を求める。上記差分値とＳ６２で求めた手書き画像の色差閾値とを比較する。上記差分値が手書き画像の閾値に合致すれば、Ｓ６７へ進む。次に、上記色差分値と、ＲＯＭ１１に保存されているエリア検出マークの色差閾値４２とを比較し、上記色差分値が閾値よりも小さければ、Ｓ６７へ進む。上記色差分値が閾値以上であれば、Ｓ６８へ進む。
【０１２１】
Ｓ６７では、ＣＰＵ１０は、Ｓ６４で指定された１画素を、エリア検出マークの一部とし、エリア検出マークを含む領域７１の同じ位置に存在する画素を、０ｘＦＦとし、Ｓ６４に戻る。
【０１２２】
Ｓ６８では、ＣＰＵ１０は、Ｓ６４で指定された１画素が、エリア検出マークの一部ではないとし、エリア検出マークを含む領域７１の同じ位置に存在する画素を、０ｘ００とし、Ｓ６４へ戻る。
【０１２３】
Ｓ６９では、ＣＰＵ１０は、図１３に示すＳ６４〜Ｓ６８の処理で得られた二値画像データ７２の１画素ずつについて、Ｓ７０の処理を実行する。Ｓ７０の処理を行う１画素を指定し、次へ進む。全ての画素について上記処理を終了すれば、Ｓ７２で、ＣＰＵ１０は、エリア検出マークを検出できなかったと判断し、処理をエラー終了する。
【０１２４】
Ｓ７０では、ＣＰＵ１０は、Ｓ６９で指定された１画素が、エリア検出マークの中心であるか否かを判定する。上記判定処理は、既存の画像相関処理を利用することによって実現可能である。本画素がエリア検出マークの中心であると判定すると、Ｓ７１で、ＣＰＵ１０は、Ｓ６９で指定された１画素のＸ座標とＹ座標とをＲＡＭ１２に保存し、処理を正常終了する。本画素がエリア検出マークの中心ではないと判定すると、Ｓ６９に戻る。
【０１２５】
以上、Ｓ６１〜Ｓ７２のフローに従って、エリア検出マーク２３ａの位置を特定する。
【０１２６】
なお、エリア検出マーク２３ａの位置を特定する場合、図１１と図１４とに示すフローチャートの双方を実行するようにしてもよい。
【０１２７】
上記のように処理することによって、ユーザが文字や絵をシートに描くときに、エリア検出マークの周辺に誤ってペン等をつけて汚れても、その影響を軽減することができる。これによって、エリア検出マークの位置検出精度を向上させることができ、手書き合成印刷ができないエラーの発生頻度を減らすことができる。また、ユーザの意図によって近い合成印刷を行うことができる。
【０１２８】
上記実施例において、記録部５は、上記手書き原稿シートを印刷する印刷手段の例である。読取部４は、上記印刷手段が印刷した手書き原稿シートを読み取り、デジタルＲＧＢ画像データに変換する読取手段の例である。
【０１２９】
ＣＰＵ１０は、上記読取手段が得た読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との最大値と最小値との色差を取得する色差取得手段の例である。また、ＣＰＵ１０は、上記読取画像データの各画素について、Ｒ値と、Ｇ値と、Ｂ値との平均値の輝度を取得する平均輝度取得手段の例である。
【０１３０】
ＣＰＵ１０は、二値画像変換手段の例である。二値化変換手段は、色差取得手段が得た色差情報と色差閾値との比較結果と、平均輝度取得手段が得た平均輝度情報と輝度閾値との比較結果とに基づいて、読取画像データを、エリア検出マークの画素とそれ以外の画素とを区別する二値画像データに変換する。
【０１３１】
読取部４とＣＰＵ１０とは、上記二値画像変換手段が変換した二値画像データから、エリア検出マークの位置を検出するエリア検出マーク位置検出手段の例である。
【０１３２】
この場合、上記エリア検出マークは、単一色で構成されているマークである。また、上記エリア検出マークは、黒色で構成されているマークである。上記読取画像データは、エリア検出マークを含む所定のサイズの画像データである。さらに、上記色差閾値は、予め定められた値である。しかも、上記輝度閾値は、予め定められた値である。そして、上記色差閾値は、エリア検出マークの色差値よりも低くならないように定められている値である。
【０１３３】
また、上記輝度閾値は、エリア検出マークの輝度値よりも低くならないように定められている値である。さらに、上記下地画像は、合成対象画像を薄く印刷した画像である。しかも、上記色差閾値は、上記下地画像の色差値よりも高くならないように定められている値である。そして、上記輝度閾値は、上記下地画像データの輝度値よりも高くならないように定められている値である。加えて、上記輝度閾値は、手書き画像に含まれている発生頻度の高い輝度値である。
【０１３４】
また、上記色差閾値は、手書きエリア域枠の色差値よりも高くならないように定められている値である。さらに、上記輝度閾値は、手書きエリア域枠の輝度値よりも高くならないように定められている値である。しかも、上記色差閾値は、少なくとも１つの値である。そして、上記輝度閾値は、少なくとも１つの値である。
【図面の簡単な説明】
【０１３５】
【図１】本発明の実施例１であるＭＦＰ１００の概観を示す装置斜視図である。
【図２】ＭＦＰ１００の構成例を示すブロック図である。
【図３】実施例１で使用する手書き原稿シートＳＨ１を示す図である。
【図４】手書き合成印刷の処理開始から処理終了までの全体的な処理の概要を示すフローチャートである。
【図５】手書き原稿シートＳＨ１の作成手順（Ｓ１０）を示すフローチャートである。
【図６】実施例１において、ユーザが記入したと仮定した場合における記入例を示す図である。
【図７】手書き原稿シートＳＨ１の解析と印刷との手順を示すフローチャートである。
【図８】エリア検出マークのヒストグラムの例を示す図である。
【図９】下地画像のヒストグラムの例を示す図である。
【図１０】手書きエリア枠２５のヒストグラムの例を示す図であり、手書き原稿シートＳＨ１に印刷された手書きエリア枠２５をスキャナで読み取り、Ｒ、ＧとＢのヒストグラムを示す図である。
【図１１】エリア検出マーク２３ａのより詳細な位置を特定する手順を示すフローチャートである。
【図１２】エリア検出マークを含む領域７１を示す図である。
【図１３】Ｓ４２〜Ｓ４６の処理で得られた二値画像データ７２の例を示す図である。
【図１４】エリア検出マーク２３ａの位置を特定する手順を示すフローチャートである。
【図１５】実施例２における手書き画像のヒストグラムを示す図である。
【符号の説明】
【０１３６】
１…表示部、
２…操作部、
３…カードインタフェース、
４…読取部、
５…記録部、
１０…ＣＰＵ、
１１…ＲＯＭ、
１２…ＲＡＭ、
１３…不揮発性ＲＡＭ、
１４…画像処理部、
１５…駆動部、
１６…センサ部、
ＳＨ１…手書き原稿シート、
２１…シート判別マーク、
２２…用紙選択エリア、
２３ａ、２３ｂ、２３ｃ、２３ｄ…エリア検出マーク、
２４…手書きエリア、
２５…手書きエリア枠、
３１、３２…記入例、
７１…エリア検出マークを含む領域、
７２…二値画像データ。
【図１】
2010041673.tif 000003
【図２】
2010041673.tif 000004
【図３】
2010041673.tif 000005
【図４】
2010041673.tif 000006
【図５】
2010041673.tif 000007
【図６】
2010041673.tif 000008
【図７】
2010041673.tif 000009
【図８】
2010041673.tif 000010
【図９】
2010041673.tif 000011
【図１０】
2010041673.tif 000012
【図１１】
2010041673.tif 000013
【図１２】
2010041673.tif 000014
【図１３】
2010041673.tif 000015
【図１４】
2010041673.tif 000016
【図１５】
2010041673.tif 000017