(57)【特許請求の範囲】
【請求項１】
画像処理プログラムであって、画像処理装置のコンピュータを、
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させる、画像処理プログラム。
【請求項２】
前記描画対象位置選出手段は、前記輪郭に関連する位置の数が多いほど、小さい割合を設定する、請求項１記載の画像処理プログラム。
【請求項３】
画像処理プログラムであって、画像処理装置のコンピュータを、
画像から輪郭を検出する輪郭検出手段、
前記画像の所定位置から前記輪郭検出手段によって検出された輪郭に関連する各位置までの距離に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させる、画像処理プログラム。
【請求項４】
前記描画対象位置選出手段は、
前記画像の中心から前記輪郭に関連する各位置までの距離を算出し、
前記距離が大きいほど、大きい割合を設定する、請求項３記載の画像処理プログラム。
【請求項５】
画像処理プログラムであって、画像処理装置のコンピュータを、
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させ、
前記輪郭検出手段は、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
前記画像の各画素における前記合計差分値が第１閾値以上か否かを判別し、そして
第１閾値以上であると判別された画素を、輪郭を構成する画素として検出する、画像処理プログラム。
【請求項６】
画像処理プログラムであって、画像処理装置のコンピュータを、
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させ、
前記画像は２以上の画素からなる複数の区画に分割され、
前記輪郭検出手段は、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値
の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
各区画を構成する画素の前記合計差分値が第１閾値以上であるか否かを判別し、
第１閾値以上であると判別された当該画素における合計差分値を当該区画の積算差分値に積算し、
各区画の積算差分値が第２閾値以上であるか否かを判別し、そして
前記第２閾値以上であると判別された区画を輪郭に関連する区画として検出し、
前記描画対象位置選出手段は、前記輪郭に関連する区画から、描画の対象となる区画を選出する、画像処理プログラム。
【請求項７】
画像処理プログラムであって、画像処理装置のコンピュータを、
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置の数に応じた確率を設定し、当該輪郭に関連する各位置が描画の対象となるか否かを当該確率に基づいて決定することで、当該輪郭に関連する位置から、所定の割合に従って描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させる、画像処理プログラム。
【請求項８】
前記描画対象位置選出手段は、
前記画像の所定位置から前記輪郭に関連する各位置までの距離を算出し、
前記確率を前記距離に応じて補正し、そして
前記補正後の確率に基づいて前記決定を行う、請求項７記載の画像処理プログラム。
【請求項９】
前記画像処理装置は、撮像手段をさらに備え、
前記画像処理プログラムは、前記コンピュータを、前記撮像手段によって撮像された画像を読み込む画像読込手段としてさらに機能させ、
前記輪郭検出手段は、前記画像読込手段によって読み込まれた画像から輪郭を検出する、請求項１，３，５，６または７に記載の画像処理プログラム。
【請求項１０】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理装置。
【請求項１１】
画像から輪郭を検出する輪郭検出ステップ、
前記輪郭検出ステップによって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出ステップ、および
前記描画対象位置選出ステップによって選出された位置に所定の描画を行う描画ステップを備える、画像処理方法。
【請求項１２】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理システム。
【請求項１３】
画像から輪郭を検出する輪郭検出手段、
前記画像の所定位置から前記輪郭検出手段によって検出された輪郭に関連する各位置までの距離に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理装置。
【請求項１４】
画像から輪郭を検出する輪郭検出ステップ、
前記画像の所定位置から前記輪郭検出ステップによって検出された輪郭に関連する各位置までの距離に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出ステップ、および
前記描画対象位置選出ステップによって選出された位置に所定の描画を行う描画ステップを備える、画像処理方法。
【請求項１５】
画像から輪郭を検出する輪郭検出手段、
前記画像の所定位置から前記輪郭検出手段によって検出された輪郭に関連する各位置までの距離に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理システム。
【請求項１６】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備え、
前記輪郭検出手段は、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
前記画像の各画素における前記合計差分値が第１閾値以上か否かを判別し、そして
第１閾値以上であると判別された画素を、輪郭を構成する画素として検出する、画像処理装置。
【請求項１７】
画像から輪郭を検出する輪郭検出ステップ、
前記輪郭検出ステップによって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出ステップ、および
前記描画対象位置選出ステップによって選出された位置に所定の描画を行う描画ステップを備え、
前記輪郭検出ステップは、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
前記画像の各画素における前記合計差分値が第１閾値以上か否かを判別し、そして
第１閾値以上であると判別された画素を、輪郭を構成する画素として検出する、画像処理方法。
【請求項１８】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備え、
前記輪郭検出手段は、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
前記画像の各画素における前記合計差分値が第１閾値以上か否かを判別し、そして
第１閾値以上であると判別された画素を、輪郭を構成する画素として検出する、画像処理システム。
【請求項１９】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備え、
前記画像は２以上の画素からなる複数の区画に分割され、
前記輪郭検出手段は、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値
の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
各区画を構成する画素の前記合計差分値が第１閾値以上であるか否かを判別し、
第１閾値以上であると判別された当該画素における合計差分値を当該区画の積算差分値に積算し、
各区画の積算差分値が第２閾値以上であるか否かを判別し、そして
前記第２閾値以上であると判別された区画を輪郭に関連する区画として検出し、
前記描画対象位置選出手段は、前記輪郭に関連する区画から、描画の対象となる区画を選出する、画像処理装置。
【請求項２０】
画像から輪郭を検出する輪郭検出ステップ、
前記輪郭検出ステップによって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出ステップ、および
前記描画対象位置選出ステップによって選出された位置に所定の描画を行う描画ステップを備え、
前記画像は２以上の画素からなる複数の区画に分割され、
前記輪郭検出ステップは、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値
の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
各区画を構成する画素の前記合計差分値が第１閾値以上であるか否かを判別し、
第１閾値以上であると判別された当該画素における合計差分値を当該区画の積算差分値に積算し、
各区画の積算差分値が第２閾値以上であるか否かを判別し、そして
前記第２閾値以上であると判別された区画を輪郭に関連する区画として検出し、
前記描画対象位置選出ステップは、前記輪郭に関連する区画から、描画の対象となる区画を選出する、画像処理方法。
【請求項２１】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備え、
前記画像は２以上の画素からなる複数の区画に分割され、
前記輪郭検出手段は、
前記画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値
の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値を算出し、
各区画を構成する画素の前記合計差分値が第１閾値以上であるか否かを判別し、
第１閾値以上であると判別された当該画素における合計差分値を当該区画の積算差分値に積算し、
各区画の積算差分値が第２閾値以上であるか否かを判別し、そして
前記第２閾値以上であると判別された区画を輪郭に関連する区画として検出し、
前記描画対象位置選出手段は、前記輪郭に関連する区画から、描画の対象となる区画を選出する、画像処理システム。
【請求項２２】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置の数に応じた確率を設定し、当該輪郭に関連する各位置が描画の対象となるか否かを当該確率に基づいて決定することで、当該輪郭に関連する位置から、所定の割合に従って描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理装置。
【請求項２３】
画像から輪郭を検出する輪郭検出ステップ、
前記輪郭検出ステップによって検出された輪郭に関連する位置の数に応じた確率を設定し、当該輪郭に関連する各位置が描画の対象となるか否かを当該確率に基づいて決定することで、当該輪郭に関連する位置から、所定の割合に従って描画の対象となる位置を選出する描画対象位置選出ステップ、および
前記描画対象位置選出ステップによって選出された位置に所定の描画を行う描画ステップを備える、画像処理方法。
【請求項２４】
画像から輪郭を検出する輪郭検出手段、
前記輪郭検出手段によって検出された輪郭に関連する位置の数に応じた確率を設定し、当該輪郭に関連する各位置が描画の対象となるか否かを当該確率に基づいて決定することで、当該輪郭に関連する位置から、所定の割合に従って描画の対象となる位置を選出する描画対象位置選出手段、および
前記描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理プログラムおよび画像処理装置に関し、特にたとえば、画像にオブジェクトを配置したりエフェクトを加えたりする、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムに関する。
【背景技術】
【０００２】
従来、画像の編集において、画像上の任意の位置に所定のオブジェクトを配置したり、所定のエフェクト効果を加えたりするものが存在する。
【０００３】
非特許文献１では、タッチペンでタッチした箇所へスタンプを押すように飾りを配置することができるプログラムが開示されている。
【０００４】
また、非特許文献２では、輝きを演出するための光（ハイライト効果）を配置する「逆光フィルタ」について開示されている。ハイライトの位置は、ユーザの指定によって調整することができる。
【非特許文献１】任天堂株式会社、“いつでもプリクラ☆キラデコプレミアム：こんなプリが撮影できます！”、［ｏｎｌｉｎｅ］、［平成２１年１２月２５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｎｉｎｔｅｎｄｏ．ｃｏ．ｊｐ／ｄｓ／ｄｓｉｗａｒｅ／ｋｈｄｊ／ｆｉｌｍ／ｆｒａｍｅ／ｐａｇｅ３．ｈｔｍｌ＞
【非特許文献２】アドビシステムズ、“Adobe Photoshop Elements”、“「逆光」フィルタで写真を演出しよう”、［ｏｎｌｉｎｅ］、［平成２１年１２月２５日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｄｏｂｅ．ｃｏｍ／ｊｐ／ｄｉｇｉｔａｌｉｍａｇ／ｃｏｎｓｕｍｅｒ／ｐｏｒｔａｌ／ｔｉｐｓ／０４／ｓｔｅｐｕｐＴｉｐ．ｈｔｍｌ＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、プリクラなどのアプリケーションにおいて、画像に含まれる輪郭に星などのオブジェクトを配置したりシャープネスなどのエフェクトを加えたりすることで、画像の見栄えをよくしたいという要求がある。
【０００６】
しかし、非特許文献１および非特許文献２に開示されたいずれのプログラムも、ユーザが指定した位置にオブジェクトを配置したりエフェクトを加えたりするものであるため、輪郭に沿った位置を逐一指定する手間がかかってしまう。
【０００７】
それゆえに、この発明の主たる目的は、新規な、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムを提供することである。
【０００８】
この発明の他の目的は、ユーザが自ら指定する必要なく画像の輪郭位置に所定の描画を行うことを可能にする、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムを提供することである。
【課題を解決するための手段】
【０００９】
この発明は、上記の課題を解決するために、以下の構成を採用した。
【００１０】
第１の発明は、画像処理プログラムであって、画像処理装置のコンピュータを、画像から輪郭を検出する輪郭検出手段、輪郭検出手段によって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させる。
【００１１】
ここで、位置は、たとえば複数の画素からなる区画ないし画素を単位とする位置である。所定の描画は、たとえばオブジェクトの描画および／またはエフェクトの描画を含む。なお、エフェクトを描画するとは、画像にエフェクト（特殊効果：たとえば、ぼかし，シャープネス，グラデーション，色彩など）を付加することをいい、たとえばフィルタ演算などの計算によって画素値を変化させることで実現される。
ここで、割合は、たとえば位置の数量的な割合および／または間隔的な割合を含む。ある実施例では、１０個あたり１個といった数量的な割合に従って位置を選出し、他の実施例では、非選択が９個続くと１個選択といった間隔的な割合に従って位置を選出する。その他の実施例では、たとえば後述する第７の発明のように、輪郭に関連する各位置が描画の対象となるか否かを確率に基づいて決定することによって、結果として、位置の数量的な割合および間隔的な割合が、平均的に所定の割合となるようにしている。さらに、第８の発明のように、確率を位置毎に設定ないしは補正し、各位置が描画の対象となるか否かをその確率に基づいて個別に決定すれば、画像における描画の配置を調整する（たとえば画像のある部分は疎に、他の部分は密に描画する）ことができる。
【００１２】
第１の発明によれば、輪郭から描画対象位置を選出し、その位置に描画するので、輪郭に関連する位置に対する所定の描画をユーザの指示に基づくことなく容易に行うことができる。また、輪郭に関連する位置から、描画の対象となる位置を割合によって選出するため、輪郭に関連する位置にオブジェクトやエフェクトを適度に描画することができ、見栄えのよい描画を行うことができる。また、輪郭に関連する位置がいくつあるかによって、割合ひいては、選出される位置の数が変化するので、輪郭部分が多い／少ないに応じて、画像全体での描画の数を調整することができる。
【００１９】
第２の発明は、第１の発明に従属する画像処理プログラムであって、描画対象位置選出手段は、輪郭に関連する位置の数が多いほど、小さい割合を設定する。
【００２０】
第２の発明によれば、輪郭に関連する位置が多いほど割合は小さくなるので、輪郭部分が多い画像／少ない画像など、どのような画像に対して描画を行っても、画像全体での描画の数が同程度になるよう描画の数を調整することができる。
【００２１】
第３の発明は、画像処理プログラムであって、画像処理装置のコンピュータを、画像から輪郭を検出する輪郭検出手段、画像の所定位置から輪郭検出手段によって検出された輪郭に関連する各位置までの距離に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させる。
【００２２】
第３の発明では、画像の所定位置から各位置までの距離に応じた割合が、個別に設定される。
【００２３】
なお、前述のような、各位置が描画の対象となるか否かを確率（ｐ）に基づいて決定する実施例では、その確率が、画像の所定位置から各位置までの距離に応じて個別に補正される。
【００２４】
第３の発明によれば、輪郭に関連する位置に対する所定の描画をユーザの指示に基づくことなく容易に行うことができる。また、所定位置からの距離に応じて描画の割合を変化させることができる。例えば、被写体が所定位置にあり、その他の位置に背景があるような画像では、被写体と背景で異なる密度によって描画を行うことができる。
【００２５】
第４の発明は、第３の発明に従属する画像処理プログラムであって、描画対象位置選出手段は、画像の中心から輪郭に関連する各位置までの距離を算出し、距離が大きいほど、大きい割合を設定する。
【００２６】
第４の発明によれば、各位置には、画像の中心からの距離が大きいものほど大きい割合が設定されるので、中心から遠い（つまり画像の外側）ほど、描画の数を多くすることができる。例えば、被写体が中央にあり外側に背景があるような画像が多いという前提に立てば、被写体に重なる描画を少なくし、背景に重なる描画を多くできるので、被写体を際立たせることができる。
【００２９】
第５の発明は、画像処理プログラムであって、画像処理装置のコンピュータを、画像から輪郭を検出する輪郭検出手段、輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させ、輪郭検出手段は、画像を構成する各画素について、色成分ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値（Ａ＝ΔＲ＋ΔＧ＋ΔＢ）を算出し、画像の各画素における合計差分値（Ａ）が第１閾値（ＴｈＡ）以上か否かを判別し、そして第１閾値以上であると判別された画素を、輪郭を構成する画素として検出する。
【００３０】
第５の発明では、輪郭検出にあたって、当該画素を含む複数の画素と当該画素を含まない周辺の複数の画素との間で色成分ごとに差分を算出し、各色成分の当該差分値を合計し、その合計差分値が第１閾値以上であれば、当該画素を輪郭と判別する。なお、第１合計値と第２合計値との差分値を算出する代わりに、当該画素とその周辺の１つの画素との差分値を算出してもよい。
【００３１】
第５の発明によれば、輪郭に関連する位置に対する所定の描画をユーザの指示に基づくことなく容易に行うことができる。また、第１閾値にて判別するため、ノイズを排除し輪郭を適切に検出できる。また、色成分ごとに差分値を算出して、色成分ごとの差分値を合計するので、色味の変化を反映できる。例えば、物体と背景とが写っている画像において、物体と背景との間で色（たとえばＲＧＢ）の差はあっても、輝度（たとえばＹ）では差がないようなことがあるが、このような場合にも正しく輪郭を検出することができる。
【００３２】
第６の発明は、画像処理プログラムであって、画像処理装置のコンピュータを、画像から輪郭を検出する輪郭検出手段、輪郭検出手段によって検出された輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させ、画像は２以上の画素からなる複数の区画に分割され、輪郭検出手段は、画像を構成する各画素について、色成分（Ｒ，Ｇ，Ｂ）ごとに、当該画素または、当該画素とその周辺に存在する１以上の画素の色成分値の合計である第１合計値と、当該画素を含まない当該画素の周辺に存在する、第１合計値の算出に用いた画素数と同数の画素の色成分値の合計である第２合計値との差分値を算出し、各色成分について算出された当該差分値を合算することで当該画素における合計差分値（Ａ＝ΔＲ＋ΔＧ＋ΔＢ）を算出し、各区画を構成する画素の前記合計差分値が第１閾値以上であるか否かを判別し、第１閾値以上であると判別された当該画素における合計差分値（Ａ）を当該区画の積算差分値（Ｂ）に積算し、各区画の積算差分値（Ｂ）が第２閾値（ＴｈＢ）以上であるか否かを判別し、そして第２閾値以上であると判別された区画を輪郭に関連する区画として検出し、描画対象位置選出手段は、輪郭に関連する区画から、描画の対象となる区画を選出する。
【００３３】
第６の発明では、区画を構成する各画素について、合計差分値を第１閾値と比較し、第１閾値以上である画素の合計差分値を区画毎に積算（累積して加算）する。そして、この積算差分値を第２閾値と比較し、第２閾値以上である区画を輪郭に関連する区画として選出する。
【００３４】
第６の発明によれば、輪郭に関連する位置に対する所定の描画をユーザの指示に基づくことなく容易に行うことができる。また、輪郭を構成する画素の合計差分値が区画毎に積算され、その積算差分値によって輪郭に関連する区画が選出されるため、効率的に描画の対象となる区画を選出することができる。
【００３５】
第７の発明は、画像処理プログラムであって、画像処理装置のコンピュータを、画像から輪郭を検出する輪郭検出手段、輪郭検出手段によって検出された輪郭に関連する位置の数に応じた確率を設定し、当該輪郭に関連する各位置が描画の対象となるか否かを当該確率に基づいて決定することで、当該輪郭に関連する位置から、所定の割合に従って描画の対象となる位置を選出する描画対象位置選出手段、および描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段として機能させる。
【００３６】
第７の発明では、確率（ｐ）に基づいて各位置が描画対象か否かを決定するので、結果として、位置の数量的な割合および間隔的な割合が、平均的に所定の割合となる。なぜなら、何度も描画を試みると、割合はその都度変化するが、その平均値は所定値に近づくからである。
【００３７】
第７の発明によれば、輪郭に関連する位置に対する所定の描画をユーザの指示に基づくことなく容易に行うことができる。また、輪郭に関連する位置にオブジェクトやエフェクトを適度に描画することができ、見栄えのよい描画を行うことができる。また、輪郭に沿って適宜な間隔で適宜な数量の描画を、偶発的な変化を与えつつ行うことができる。
【００３８】
第８の発明は、第７の発明に従属する画像処理プログラムであって、描画対象位置選出手段は、さらに、画像の所定位置から輪郭に関連する各位置までの距離を算出し、確率を距離に応じて補正し、そして補正後の確率に基づいて決定を行う。
【００３９】
第８の発明では、設定された確率は、画像の所定位置から各位置までの距離（ｄ）に応じて補正される。
【００４０】
第８の発明によれば、画像における描画の配置を、所定位置を基準に調整することができる。たとえば、所定位置を画像の中心（Ｐ）とし、確率を距離が大きいほど大きな値に補正することによって、画像の中心部は疎に、周辺部は密に描画することができる。
【００４１】
第９の発明は、第１，第３，第５，第６または第７の発明に従属する画像処理プログラムであって、画像処理装置は、撮像手段をさらに備え、画像処理プログラムは、コンピュータを、撮像手段によって撮像された画像を読み込む画像読込手段としてさらに機能させ、輪郭検出手段は、画像読込手段によって読み込まれた画像から輪郭を検出する。
【００４２】
第９の発明によれば、カメラなどの撮像手段で写真を撮影して描画を行うことができる。なお、画像は、カメラ画像のほか、手書き画像，スキャナ画像，ＣＧ画像などでもよい。
【００４３】
第１０の発明は、画像から輪郭を検出する輪郭検出手段、輪郭検出手段によって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理装置である。
【００４４】
第１１の発明は、画像から輪郭を検出する輪郭検出ステップ、輪郭検出ステップによって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出ステップ、および描画対象位置選出ステップによって選出された位置に所定の描画を行う描画ステップを備える、画像処理方法である。
【００４５】
第１２の発明は、画像から輪郭を検出する輪郭検出手段、輪郭検出手段によって検出された輪郭に関連する位置の数に応じた割合を設定し、当該割合に従って、当該輪郭に関連する位置から、描画の対象となる位置を選出する描画対象位置選出手段、および描画対象位置選出手段によって選出された位置に所定の描画を行う描画手段を備える、画像処理システムである。
【００４６】
第１０〜第１２の各発明でも、第１の発明と同様に、輪郭に関連する位置に対する所定の描画をユーザの指示に基づくことなく容易に行うことができる。また、輪郭に関連する位置にオブジェクトやエフェクトを適度に描画することができ、見栄えのよい描画を行うことができる。また、輪郭部分が多い／少ないに応じて、画像全体での描画の数を調整することができる。
第１３〜第１５の発明は、第３の発明に対応する画像処理装置，画像処理方法および画像処理システムであり、第３の発明と同様の効果を奏する。
第１６〜第１８の発明は、第５の発明に対応する画像処理装置，画像処理方法および画像処理システムであり、第５の発明と同様の効果を奏する。
第１９〜第２１の発明は、第６の発明に対応する画像処理装置，画像処理方法および画像処理システムであり、第６の発明と同様の効果を奏する。
第２２〜第２４の発明は、第７の発明に対応する画像処理装置，画像処理方法および画像処理システムであり、第７の発明と同様の効果を奏する。
【発明の効果】
【００４７】
この発明によれば、ユーザが自ら指定する必要なく画像の輪郭位置に所定の描画を行うことを可能にする、画像処理プログラム、画像処理装置、画像処理方法および画像処理システムが実現される。
【００４８】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４９】
【図１】この発明の一実施例であるゲーム装置の外観図であり、開状態における正面を示す。
【図２】ゲーム装置の外観図であり、開状態における側面を示す。
【図３】ゲーム装置の外観図であり、（Ａ）は閉状態における一方側面を、（Ｂ）は閉状態における上面を、（Ｃ）は閉状態における他方側面を、そして（Ｄ）は閉状態における下面をそれぞれ示す。
【図４】ゲーム装置がユーザによって把持された様子を示す図解図である。
【図５】ゲーム装置の電気的構成の一例を示すブロック図である。
【図６】原画像から輪郭線をフィルタで検出する方法を説明するための図解図であり、（Ａ）が原画像を示し、（Ｂ）がフィルタの動きを示し、（Ｃ）がフィルタの参照画素を示し、そして（Ｄ）がフィルタの係数を示す。
【図７】原画像と区画との関係を説明するための図解図であり、（Ａ）が原画像を分割して得られる複数の区画を示し、（Ｂ）が原画像と各区画との位置関係を示す。
【図８】対象区画の選出にあたって参照されるテーブルを示す図解図であり、（Ａ）が確率テーブルを示し、（Ｂ）が係数テーブルを示す。
【図９】描画にあたって参照されるオブジェクトテーブルを示す図解図である。
【図１０】描画の一例（輪郭が多い場合）を示す図解図であり、（Ａ）が原画像を示し、（Ｂ）が輪郭線と各区画との関係を示し、そして（Ｃ）が星付画像を示す。
【図１１】描画の他の一例（輪郭が中位の場合）を示す図解図であり、（Ａ）が原画像を示し、（Ｂ）が輪郭線と各区画との関係を示し、そして（Ｃ）が星付画像を示す。
【図１２】描画のその他の一例（輪郭が少ない場合）を示す図解図であり、（Ａ）が原画像を示し、（Ｂ）が輪郭線と各区画との関係を示し、そして（Ｃ）が星付画像を示す。
【図１３】メインメモリのメモリマップの一部を示す図解図である。
【図１４】区画データの一例を示す図解図であり、図１０（Ｂ）と対応する。
【図１５】区画データの他の一例を示す図解図であり、図１１（Ｂ）と対応する。
【図１６】区画データのその他の一例を示す図解図であり、図１２（Ｂ）と対応する。
【図１７】ＣＰＵ動作の一部を示すフロー図である。
【図１８】ＣＰＵ動作の他の一部を示すフロー図である。
【図１９】ＣＰＵ動作のその他の一部を示すフロー図である。
【図２０】ＣＰＵ動作のさらにその他の一部を示すフロー図である。
【図２１】ＣＰＵ動作の他の一部を示すフロー図である。
【図２２】メインメニュー画面の一例を示す図解図である。
【図２３】ノート作成画面の一例を示す図解図である。
【図２４】加工メニュー画面の一例を示す図解図である。
【図２５】変形例に関する図解図であり、（Ａ）が原画像および区画を示し、（Ｂ）が確率テーブルを示し、そして（Ｃ）が係数テーブルを示す。
【図２６】図２５の変形例による描画の一例（輪郭が少ない場合）を示す図解図であり、（Ａ）が原画像を示し、（Ｂ）が星付画像を示す。
【図２７】図２５の変形例による描画の他の一例（輪郭が多い場合）を示す図解図であり、（Ａ）が原画像を示し、（Ｂ）が星付画像を示す。
【図２８】図２５の変形例において、確率テーブルおよび係数テーブルを利用しなかった場合に得られる星付画像を示す図解図であり、図２７（Ｂ）と比較される。
【図２９】他の変形例に関する図解図であり、星およびグラデーション付の画像を示す。
【図３０】その他の変形例に関する図解図であり、図２５（Ａ）と対応する。
【図３１】さらにその他の変形例に関する図解図であり、サイズが可変の区画を示す。
【発明を実施するための形態】
【００５０】
図１〜図３には、本発明の一実施例であるゲーム装置１０の外観が示される。ゲーム装置１０は折り畳み型のゲーム装置であり、図１および図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。また、図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置の側面図である。ゲーム装置１０は、２つの表示装置（ＬＣＤ１２および１４）および２つのカメラ（カメラ１６および１８）を有し、カメラによって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることができる。
【００５１】
ゲーム装置１０は、開いた状態において両手または片手で把持することができるような小型のサイズとされる。
【００５２】
ゲーム装置１０は、下側ハウジング２０および上側ハウジング２２という２つのハウジングを有する。下側ハウジング２０と上側ハウジング２２とは、開閉可能（折り畳み可能）に接続されている。この実施例では、各ハウジング２０および２２はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００５３】
上側ハウジング２２は、下側ハウジング２０の上側の一部で回動自在に支持されている。これによって、ゲーム装置１０は、閉状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約０°の状態（図３参照））と、開状態（下側ハウジング２０と上側ハウジング２２とのなす角度が約１８０°の状態（図２参照））とをとることができる。ユーザは通常、開状態でゲーム装置１０を使用し、ゲーム装置１０を使用しない場合には閉状態としてゲーム装置１０を保管する。また、ゲーム装置１０は、上記閉状態および開状態のみでなく、下側ハウジング２０と上側ハウジング２２とのなす角度を、ヒンジに発生する摩擦力などによって閉状態と開状態との間の任意の角度に維持することができる。つまり、上側ハウジング２２を下側ハウジング２０に対して任意の角度で静止させることができる。
【００５４】
まず、下側ハウジング２０に設けられる構成について説明する。図１に示すように、ゲーム装置１０は、下側ＬＣＤ（液晶表示装置）１２を有する。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング２０の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング２０に収納される。下側ＬＣＤ１２は、下側ハウジング２０の内側面に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。なお、この実施例では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、ゲーム装置１０は任意の解像度の表示装置を利用することができる。なお、ゲーム装置１０を撮像装置として利用する場合、下側ＬＣＤ１２は主に、カメラ１６または１８で撮像されている画像をリアルタイムに表示（スルー表示）するために用いられる。
【００５５】
下側ハウジング２０の内側面はほぼ平面状に形成される。当該内側面の中央には、下側ＬＣＤ１２を露出させるための開口部２０ｂが形成される。当該開口部２０ｂの左側（図示ｙ軸負側）には開口部２０ｃが形成され、当該開口部２０ｂの右側には開口部２０ｄが形成される。開口部２０ｂおよび２０ｃは、各キートップ（各ボタン２４ａ〜２４ｅの上面）を露出させるためのものである。そして、下側ハウジング２０の内部に収納される下側ＬＣＤ１２の画面が開口部２０ｂから露出し、各キートップが開口部２０ｃおよび２０ｄから露出される。このように、下側ハウジング２０の内側面には、中央に設けられる下側ＬＣＤ１２用の開口部２０ｂの左右両側に非画面領域（図１に示す点線領域Ａ１およびＡ２。具体的には、各ボタン２４ａ〜２４ｅを配置するための領域；ボタン配置領域）がそれぞれ設けられる。
【００５６】
下側ハウジング２０には、入力装置として、各ボタン２４ａ〜２４ｉおよびタッチパネル２８が設けられる。図１に示されるように、各ボタン２４ａ〜２４ｉのうち、方向入力ボタン２４ａ、ボタン２４ｂ、ボタン２４ｃ、ボタン２４ｄ、ボタン２４ｅ、および電源ボタン２４ｆは、下側ハウジング２０の内側面に設けられる。方向入力ボタン２４ａは例えば選択操作等に用いられ、各ボタン２４ｂ〜２４ｅは例えば決定操作やキャンセル操作等に用いられる。電源ボタン２４ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。ここでは、方向入力ボタン２４ａおよび電源ボタン２４ｆは、下側ハウジング２０の中央付近に設けられる下側ＬＣＤ１２に対して一方の側（図１では左側）に設けられ、ボタン２４ｂ〜２４ｅは下側ＬＣＤ１２に対して他方の側（図１では右側）に設けられる。方向入力ボタン２４ａおよびボタン２４ｂ〜２４ｅは、ゲーム装置１０に対する各種操作を行うために用いられる。
【００５７】
図３（Ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（Ｂ）は当該ゲーム装置１０の正面図であり、図３（Ｃ）は当該ゲーム装置１０の右側面図であり、そして図３（Ｄ）は当該ゲーム装置１０の背面図である。図３（Ｃ）に示されるように、また、図３（Ａ）に示されるように、音量ボタン２４ｉは、下側ハウジング２０の左側面に設けられる。音量ボタン２４ｉは、ゲーム装置１０が備えるスピーカ３４の音量を調整するために用いられる。また、図３（Ｄ）に示されるように、ボタン２４ｈは、下側ハウジング２０の上面の右端部に設けられる。ボタン２４ｇは、下側ハウジング２０の上面の左端部に設けられる。各ボタン２４ｇおよび２４ｈは、ゲーム装置１０に対して例えば撮影指示操作（シャッタ操作）を行うために用いられる。各ボタン２４ｇおよび２４ｈの両方をシャッターボタンとして機能させてもよく、この場合、右利きのユーザはボタン２４ｈを使用し、左利きのユーザはボタン２４ｇを使用することができ、いずれのユーザにも使い勝手が良い。なお、ゲーム装置１０は、各ボタン２４ｇおよび２４ｈを常にシャッターボタンとして有効としておいてもよいし、右利きか左利きかの設定をして（メニュープログラムなどによりユーザに設定入力をさせ、設定されたデータを記憶しておく）、右利き設定のときにはボタン２４ｈのみ有効とし、左利き設定のときにはボタン２４ｇのみ有効とするようにしてもよい。
【００５８】
図１に示されるように、ゲーム装置１０は、各操作ボタン２４ａ〜２４ｉとは別の入力装置として、タッチパネル２８をさらに備えている。タッチパネル２８は、下側ＬＣＤ１２の画面上に装着されている。なお、この実施例では、タッチパネル２８は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。この実施例では、タッチパネル２８として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル２８の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング２０の右側面には挿入口３０（図１および図３（Ｄ）に示す点線）が設けられている。挿入口３０は、タッチパネル２８に対する操作を行うために用いられるタッチペン３６を収納することができる。なお、タッチパネル２８に対する入力は通常タッチペン３６を用いて行われるが、タッチペン３６に限らずユーザの指でタッチパネル２８を操作することも可能である。
【００５９】
図２や図３（Ｃ）に示されるように、下側ハウジング２０の右側面には開閉可能なカバー部１１ｂが設けられる。このカバー部１１ｂの内側には、ゲーム装置１０とメモリカード３８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード３８は、コネクタに着脱自在に装着される。メモリカード３８は、例えば、ゲーム装置１０で動作するプログラムを記憶するため、あるいは、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するためにも用いられる。
【００６０】
図１に示されるように、下側ハウジング２０の軸部２０ａの左側部分には、３つのＬＥＤ２６ａ〜２６ｃが取り付けられる。ここで、ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ２６ａは、無線通信が確立している場合に点灯する。第２ＬＥＤ２６ｂは、ゲーム装置１０の充電中に点灯する。第３ＬＥＤ２６ｃは、ゲーム装置１０の電源がオンである場合に点灯する。したがって、３つのＬＥＤ２６ａ〜２６ｃによって、ゲーム装置１０の通信確立状況、充電状況、および、電源のオン／オフ状況をユーザに通知することができる。
【００６１】
以上に説明したように、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ユーザは、ゲーム装置１０を使用する際には下側ハウジング２０を把持してゲーム装置１０に対する操作を行うことができる。図４は、ユーザがゲーム装置１０を両手で把持した様子を示す図である。図４に示すように、ユーザは、各ＬＣＤ１２および１４がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング２０の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング２０を把持したまま、各ボタン２４ａ〜２４ｅに対する操作を親指で行い、ボタン２４ｇおよび２４ｈに対する操作を人差し指で行うことができる。
【００６２】
一方、上側ハウジング２２には、画像を撮像するための構成（カメラ）、および、撮像した画像を表示するための構成（表示装置）が設けられる。以下、上側ハウジング２２に設けられる構成について説明する。
【００６３】
図１に示すように、ゲーム装置１０は、上側ＬＣＤ１４を有する。上側ＬＣＤ１４は上側ハウジング２２に収納される。上側ＬＣＤ１４は横長形状であり、長辺方向が上側ハウジング２２の長辺方向に一致するように配置される。上側ＬＣＤ１４は、上側ハウジング２２の内側面（ゲーム装置１０が閉状態となった場合に内側となる面）に設けられる。したがって、ゲーム装置１０を使用しない場合には閉状態としておくことによって、上側ＬＣＤ１４の画面が汚れたり傷ついたりすることを防止することができる。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ１４に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、他の実施形態においては、上側ＬＣＤ１４上にもタッチパネルを設けてもよい。
【００６４】
また、ゲーム装置１０は、２つのカメラ１６および１８を有する。各カメラ１６および１８はともに上側ハウジング２２に収納される。図１に示されるように、内側カメラ１６は、上側ハウジング２２の内側面に取り付けられる。一方、図３（Ｂ）に示されるように、外側カメラ１８は、内側カメラ１６が取り付けられる面の反対側の面、すなわち、上側ハウジング２２の外側面（ゲーム装置１０が閉状態となった場合に外側となる面）に取り付けられる。これによって、内側カメラ１６は、上側ハウジング２２の内側面が向く方向を撮像することが可能であり、外側カメラ１８は、内側カメラ１６の撮像方向の逆方向、すなわち、上側ハウジング２２の外側面が向く方向を撮像することが可能である。以上のように、この実施例では、２つのカメラ１６および１８が撮像方向が互いに逆方向となるように設けられる。したがって、ユーザはゲーム装置１０を持ち替えることなく、異なる２方向を撮像することができる。例えば、ユーザは、ゲーム装置１０からユーザの方を見た景色を内側カメラ１６で撮影することができるとともに、ゲーム装置１０からユーザの反対側の方向を見た景色を外側カメラ１８で撮影することができる。
【００６５】
また、内側カメラ１６は、上側ハウジング２２の下側の中央部に形成される軸部２２ａの中央に取り付けられる。つまり、内側カメラ１６は、２つのハウジング２０および２２が接続される部分の中央に取り付けられる。したがって、ゲーム装置１０を開状態にした場合、内側カメラ１６は、２つのＬＣＤ１２および１４の間に配置されることになる（図１参照）。換言すれば、内側カメラ１６は、ゲーム装置１０の中心付近に配置されることになる。なお、「ゲーム装置１０の中心」とは、ゲーム装置１０の操作面（開状態における各ハウジング２０および２２の内側面からなる面）の中心という意味である。なお、内側カメラ１６は、ＬＣＤ１２および１４の横方向の中心付近に配置されているということもできる。
この実施例では、ゲーム装置１０を開状態にした場合に内側カメラ１６はゲーム装置１０の中心付近に配置されるので、ユーザは、内側カメラ１６によってユーザ自身を撮影する場合、ユーザがゲーム装置１０に正対する位置でゲーム装置１０を把持すればよい。つまり、通常の把持位置でゲーム装置を把持すれば、ユーザは撮像範囲の中心付近に位置することになり、ユーザ自身を撮像範囲内に収めることが容易になる。
【００６６】
また、図３（Ｂ）に示されるように、外側カメラ１８は、ゲーム装置１０を開状態とした場合において上側ハウジング２２の上部（下側ハウジング２０から遠い側の部分）に配置される。なお、外側カメラ１８は、ゲーム装置１０を把持するユーザを撮影するものではないので、ゲーム装置１０の中心に設ける必要性は高くない。
【００６７】
また、図１または図３（Ｂ）に示されるように、マイク３２は、上側ハウジング２２に収納されている。具体的には、マイク３２は、上側ハウジング２２の軸部２２ａに取り付けられる。この実施例では、マイク３２は、内側カメラ１６の周囲（図ではｙ軸の側方）に取り付けられ、より具体的には、内側カメラ１６からｙ軸正方向側の側方に取り付けられる。また、軸部２２ａにおいては、マイク３２がゲーム装置１０外部の音を検知することができるように、マイク３２に対応する位置（内側カメラ１６の側方）にマイクロフォン用孔２２ｃが設けられる。なお、マイク３２は下側ハウジング２０に収納されてもよい。たとえば、マイクロフォン用孔２２ｃを下側ハウジング２０の内側面、具体的には下側ハウジング２０の内側面の左下部分（ボタン配置領域Ａ１）に設け、マイク３２を、下側ハウジング２０内における、マイクロフォン用孔２２ｃの近傍に配置することができる。また、マイク３２は、その集音方向（感度が最大となる方向）が内側カメラ１６の撮像方向（光軸）と略並行（言い換えれば集音方向および撮像方向がそれぞれｚ軸と略並行）となる向きに取り付けられる。これによって、内側カメラ１６の撮像範囲内で発せられた音声は、マイク３２によって好適に捉えられる。すなわち、マイク３２による音声入力の検出と内側カメラ１６の撮像画像によるユーザの検出とを同時行うことができるとともに、検出の精度を向上させることができる。
【００６８】
図３（Ｂ）に示されるように、上側ハウジング２２の外側面には、第４ＬＥＤ２６ｄが取り付けられる。第４ＬＥＤ２６ｄは、外側カメラ１８の周囲（この実施例では、外側カメラ１８の右側）に取り付けられる。第４ＬＥＤ２６ｄは、内側カメラ１６または外側カメラ１８によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、内側カメラ１６または外側カメラ１８によって動画が撮影される間点灯する。第４ＬＥＤ２６ｄによって、ゲーム装置１０による撮影が行われた（行われている）ことを撮影対象者に通知することができる。
【００６９】
また、上側ハウジング２２の内側面はほぼ平面状に形成される。図１に示すように、当該内側面の中央には、上側ＬＣＤ１４を露出させるための開口部２２ｂが形成される。上側ハウジング２２の内部に収納される上側ＬＣＤ１４の画面は、開口部２２ｂから露出する。また、上記開口部２２ｂの左右両側には音抜き孔２２ｄがそれぞれ１つずつ形成される。音抜き孔２２ｄの奥の上側ハウジング２２内にはスピーカ３４が収納されている。音抜き孔２２ｄは、スピーカ３４からの音を外部に放出するための孔である。
【００７０】
このように、上側ハウジング２２の内側面には、中央に設けられる上側ＬＣＤ１４用の開口部２２ｂの左右両側に非画面領域（図１に示す点線領域Ｂ１およびＢ２。具体的には、スピーカ３４を配置するための領域；スピーカ配置領域）がそれぞれ設けられる。２つの音抜き孔２２ｄは、左右方向については、各スピーカ配置領域の左右方向における中央部付近に配置され、上下方向については、各スピーカ配置領域の下部領域（下側ハウジング２０に近い側の領域）に配置される。
【００７１】
なお、上記のように、下側ハウジング２０および上側ハウジング２２に左右方向に関して同じ位置に非画面領域をそれぞれ設けたことで、ゲーム装置１０は、図４に示すような横持ちで把持される場合だけでなく、縦持ち（図４に示す状態からゲーム装置１０を左または右回りに９０°回転させた状態）で把持される場合にも持ちやすい構成となっている。
【００７２】
以上に説明したように、上側ハウジング２２には、画像を撮像するための構成であるカメラ１６および１８、および、撮像された画像を表示するための表示手段である上側ＬＣＤ１４が設けられる。一方、下側ハウジング２０には、ゲーム装置１０に対する操作入力を行うための入力装置（タッチパネル２８および各ボタン２４ａ〜２４ｉ）が設けられる。したがって、ゲーム装置１０を撮像装置として使用する際には、ユーザは、上側ＬＣＤ１４に表示される撮像画像（カメラによって撮像された画像）を見ながら、下側ハウジング２０を把持して入力装置に対する入力を行うことができる。
【００７３】
また、上側ハウジング２２のカメラ１６近傍には、音声を入力するための構成であるマイク３２が設けられており、したがってゲーム装置１０は、録音装置としても使用可能である。さらに、ユーザがマイク３２を通して音声入力を行い、ゲーム装置１０はこのマイク入力情報に基づいてゲーム処理やゲーム以外のアプリケーション処理を実行することもできる。
【００７４】
図５は、ゲーム装置１０の内部構成（電気的構成）を示すブロック図である。図５に示すように、ゲーム装置１０は、ＣＰＵ４２、メインメモリ４８、メモリ制御回路５０、保存用データメモリ５２、プリセットデータ用メモリ５４、メモリカードインターフェース（メモリカードＩ／Ｆ）４４、無線通信モジュール５６、ローカル通信モジュール５８、リアルタイムクロック（ＲＴＣ）６０、電源回路４６、およびインターフェース回路（Ｉ／Ｆ回路）４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング２０（または上側ハウジング２２でもよい）内に収納される。
【００７５】
ＣＰＵ４２は、各種のプログラムを実行するための情報処理手段である。ゲーム装置１０を撮像装置として利用する場合には、そのためのプログラムがゲーム装置１０内のメモリ（例えば保存用データメモリ５２）に記憶される。ＣＰＵ４２が当該プログラムを実行することで、ゲーム装置１０は撮影装置として機能する。なお、ＣＰＵ４２によって実行されるプログラムは、ゲーム装置１０内のメモリに予め記憶されていてもよいし、メモリカード３８から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。
【００７６】
ＣＰＵ４２には、メインメモリ４８、メモリ制御回路５０、およびプリセットデータ用メモリ５４が接続される。また、メモリ制御回路５０には保存用データメモリ５２が接続される。メインメモリ４８は、ＣＰＵ４２のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ４８は、ゲーム処理やアプリケーション処理に用いられる各種データを記憶したり、外部（メモリカード３８や他の機器等）から取得されるプログラムを記憶したりする。この実施例では、メインメモリ４８として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ５２は、ＣＰＵ４２によって実行されるプログラムや各カメラ１６および１８によって撮像された画像のデータ等を記憶するための記憶手段である。保存用データメモリ５２は、例えばＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路５０は、ＣＰＵ４２の指示に従って、保存用データメモリ５２に対するデータの読み出しおよび書き込みを制御する回路である。プリセットデータ用メモリ５４は、ゲーム装置１０において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ５４としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによってＣＰＵ４２と接続されるフラッシュメモリを用いることができる。
【００７７】
メモリカードＩ／Ｆ４４はＣＰＵ４２に接続される。メモリカードＩ／Ｆ４４は、コネクタに装着されたメモリカード３８に対するデータの読み出しおよび書き込みをＣＰＵ４２の指示に従って行う。この実施例では、各カメラ１６および１８によって撮像された画像データがメモリカード３８に書き込まれたり、メモリカード３８に記憶された画像データがメモリカード３８から読み出されて保存用データメモリ５２に記憶されたりする。
【００７８】
無線通信モジュール５６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール５８は、所定の通信方式たとえば赤外線方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール５６およびローカル通信モジュール５８はＣＰＵ４２に接続される。ＣＰＵ４２は、無線通信モジュール５６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール５８を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００７９】
なお、ローカル通信モジュール５８は、この実施例ではゲーム装置１０に内蔵されるようになっているが、例えばメモリカード３８に設けてもよい。この場合、ＣＰＵ４２は、メモリカードＩ／Ｆ４４を介して通信の制御を行うことになる。
【００８０】
また、ＣＰＵ４２には、ＲＴＣ６０および電源回路４６が接続される。ＲＴＣ６０は、時間をカウントしてＣＰＵ４２に出力する。ＣＰＵ４２は、ＲＴＣ６０によって計時された時間に基づいて、現在時刻（日付）を計算したり、画像取り込み等の動作タイミングを検知したりする。電源回路４６は、ゲーム装置１０が有する電源（電池；下ハウジングに収納される）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００８１】
また、ゲーム装置１０は、マイク３２およびスピーカ３４を備えている。マイク３２およびスピーカ３４はそれぞれＩ／Ｆ回路４０に接続される。マイク３２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４０に出力する。スピーカ３４は、Ｉ／Ｆ回路４０からの音声信号に応じた音声を出力する。Ｉ／Ｆ回路４０はＣＰＵ４２に接続される。また、タッチパネル２８はＩ／Ｆ回路４０に接続される。Ｉ／Ｆ回路４０は、マイク３２およびスピーカ３４の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。変換された音声データは、メインメモリ４８の音声エリア（図示せず）に書き込まれる。ゲーム装置１０を録音装置として利用する場合には、音声エリアに格納された音声データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８に記録される）。また、音声エリアに格納された音声データ（マイク入力情報）は、各種のゲーム処理にも利用される。タッチパネル制御回路は、タッチパネル２８からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ４２に出力する。タッチ位置データは、タッチパネル２８の入力面のうちで入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル２８からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ４２は、タッチ位置データを取得することにより、タッチパネル２８に対して入力が行われた位置を知ることができる。
【００８２】
操作部２４は、上記各ボタン２４ａ〜２４ｉからなり、ＣＰＵ４２に接続される。操作部２４からＣＰＵ４２へは、各ボタン２４ａ〜２４ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。ＣＰＵ４２は、操作部２４から操作データを取得することによって、操作部２４に対する入力に従った処理を実行する。
【００８３】
各カメラ１６および１８はＣＰＵ４２に接続される。各カメラ１６および１８は、ＣＰＵ４２の指示に従って画像を撮像し、撮像した画像データをＣＰＵ４２に出力する。ＣＰＵ４２は、各カメラ１６および１８からの画像データをメインメモリ４８の画像エリア（図示せず）に書き込む。ゲーム装置１０を撮像装置として利用する場合には、画像エリアに格納された画像データは、後にメモリ制御回路５０を介して保存用データメモリ５２に書き込まれる（必要に応じてさらに、メモリカードＩ／Ｆ４４を介してメモリカード３８に記録される）。また、画像エリアに格納された画像データは、各種のゲーム処理にも利用される。
【００８４】
また、各ＬＣＤ１２および１４はＣＰＵ４２に接続される。各ＬＣＤ１２および１４はＣＰＵ４２の指示に従って画像を表示する。ゲーム装置１０を撮像装置として利用する場合、ＣＰＵ４２は、各カメラ１６および１８のいずれかから取得した画像を上側ＬＣＤ１４に表示させ、所定の処理によって生成した操作画面を下側ＬＣＤ１２に表示させる。ゲーム装置１０でゲームをプレイする場合には、ＬＣＤ１２および１４の一方または両方にゲーム画像が表示される。
【００８５】
以上のように構成されたゲーム装置１０で、この実施例の画像管理アプリケーションを実行すると、各カメラ１６，１８で撮像した画像（原画像）に対して、そこに含まれる被写体等の輪郭線に沿った適宜な位置に、星などのオブジェクトを配置（描画）する画像加工処理を施すことができる。なお、画像加工処理では、輪郭線に沿ってシャープネス，ぼかしなどのエフェクトを加えることも可能である。以下、この画像加工処理について詳しく説明するが、最初に概要を説明しておく。
【００８６】
画像加工処理では、まず、図１０（Ａ），図１１（Ａ），図１２（Ａ）に示すような原画像１００から被写体１０２の輪郭線１０４が図６に示す要領で検出される。原画像１００はまた、図７（Ａ）に示す要領で複数（たとえば９×６個）の区画１０６に分割される。
【００８７】
次に、原画像１００を構成する９×６個の区画１０６のうち輪郭線１０４を含む区画１０６が候補区画１０６Ｃ（薄いまたは濃い網掛け部分）として選出され、そして、選出された候補区画１０６Ｃの中から対象区画１０６Ｓ（濃い網掛け部分）が、図８（Ａ）に示す確率テーブルおよび図８（Ｂ）に示す係数テーブルに基づいて決定される（図１０（Ｂ），図１１（Ｂ），図１２（Ｂ）参照）。原画像１００には、こうして決定された対象区画１０６Ｓを中心に星オブジェクトＳｔ１，Ｓｔ２…が配置される（図１０（Ｃ），図１１（Ｃ），図１２（Ｃ）参照）。
【００８８】
このように、画像加工処理は大まかに、輪郭線１０４の検出，区画１０６への分割，候補区画１０６Ｃの選出および対象区画１０６Ｓの決定の４工程で構成される。輪郭線１０４の検出で注目すべき第１は、各画素について周辺画素との差分値を計算するためのフィルタ係数（図６（Ｄ）参照）であり、これによって、少ない処理量で検出が行えるようになる。
【００８９】
輪郭線１０４の検出で注目すべき第２は、このフィルタ係数による差分値計算を色成分（ＲＧＢ）毎に行い、その合計を当該画素の差分値（Ａ）とする点であり、これによって、検出の精度を高めることができる。
【００９０】
候補区画１０６Ｃの選出で注目すべきは、原画像１００を複数の区画１０６に分割して、各画素の差分値（Ａ）を区画１０６毎に積算し、そしてこの積算差分値（Ｂ）に基づいて候補区画１０６Ｃを選出する点であり、これによって、候補を画素単位で選出する場合と比べ、処理量を削減でき、ノイズの影響も抑制できる。
【００９１】
対象区画１０６Ｓの決定で注目すべき第１は、上記のように全区画１０６から選出された候補区画１０６Ｃの総数（候補区画数（Ｃ））に応じた確率（ｐ）を設定し、この確率（ｐ）に基づいて全候補区画１０６Ｃの中から対象区画１０６Ｓを決定する点であり、これによって、全候補区画１０６Ｃに占める対象区画１０６Ｓの割合を制御できるようになる。たとえば、候補区画数（Ｃ）が多いほど小さな確率（ｐ）を設定することで、原画像１００には、そこに含まれる輪郭の多少によらず、略一定数の星オブジェクト（Ｓｔ１，Ｓｔ２…）が配置される結果となる。
【００９２】
対象区画１０６Ｓの決定で注目すべき第２は、上記のように設定された確率（ｐ）を、候補区画１０６Ｃ毎に、原画像１００の中心Ｐからの距離（ｄ）に応じて補正する点であり、これによって、原画像１００内での対象区画１０６Ｓの配置を制御できるようになる。たとえば、中心Ｐに近い候補区画１０６Ｃほど確率（ｐ）が低く（小さく）なるように補正すれば、中心Ｐまたはその近傍に星オブジェクト（Ｓｔ１，Ｓｔ２…）が配置されにくくなる。逆に、中心Ｐに近い候補区画１０６Ｃほど確率（ｐ）が高く（大きく）なるように補正すれば、中心Ｐまたはその近傍に星オブジェクト（Ｓｔ１，Ｓｔ２…）が配置されやすくなる。
【００９３】
次に、ＣＰＵ４２による具体的な画像加工処理について説明する。ＣＰＵ４２は最初、原画像１００に対し、図６のような輪郭線検出処理を施す。図６は、この実施例の輪郭線検出方法（差分画像作成方法）を示す図解図であり、（Ａ）が原画像の一例を示し、（Ｂ）が輪郭判定（差分値算出）を行うフィルタの動きを示し、（Ｃ）がフィルタの参照画素を示し、そして（Ｄ）がフィルタの係数を示している。
【００９４】
加工処理の対象である原画像１００は、図６（Ａ）に示すように、横（ｘ）方向１８０画素，縦（ｘ）方向１２０画素（１８０×１２０）のサイズを有し、そして各画素（０，０）〜（１７９，１１９）がＲ，ＧおよびＢの３つの色成分を含む。なお、原画像１００のサイズは、１８０×１２０とは限らず、たとえば２１６×１６０（図２５（Ａ）参照），４３２×３２０（図３０参照）など、適宜な値でよい。
【００９５】
ＣＰＵ４２は、このような原画像１００を構成する各画素（０，０）〜（１７９，１１９）について、図６（Ｂ）に示すように、注目画素と周辺画素との差分を算出するフィルタＦｌｔをラスタ走査の態様で移動させつつ、当該画素の差分値を色成分毎に計算していく。こうして原画像１００から、１８０×１２０画素にそれぞれ対応する１８０×１２０個の差分値が、色成分毎に得られることになる。１８０×１２０個のＲ差分値でＲ差分画像が構成され、１８０×１２０個のＧ差分値でＧ差分画像が構成され、そして１８０×１２０個のＢ差分値でＢ差分画像が構成される。
【００９６】
ＣＰＵ４２は、これらＲ差分画像，Ｂ差分画像およびＧ差分画像を画素毎に加算することで、輝度（Ｙ）に関する差分画像（いわゆるグレースケール）を生成する。
【００９７】
なお、こうして、ＲＧＢ毎の差分画像を作成し、これらを互いに加算してＹ差分画像を得る代わりに、予め各画素のＲＧＢ成分を加算してＹ画像を作成し、そこからＹ差分画像を得てもよいが、その場合、被写体と背景との間で色が異なっていても明るさが同程度であれば、差分（輪郭線）の検出は困難となる。
【００９８】
より詳しくは、フィルタＦｌｔは、図６（Ｃ）に示すように、注目画素（０）ならびにその下（１），右（２）および右下（３）の周辺３画素を参照して、これら２×２個の参照画素０〜３に対応する２×２個の画素値に、図６（Ｄ）に示すような２×２個の係数をそれぞれ乗算して、その乗算結果の合計を求める演算に対応する。したがって、参照画素０〜３の画素値をそれぞれＸ（０）〜Ｘ（３）とすると、差分値ΔＸ（０）は、次の（式１）のように計算される。
【００９９】
ΔＸ（０）＝｜１・Ｘ（０）−１・Ｘ（１）−１・Ｘ（２）＋１・Ｘ（３）｜＝｜（Ｘ（０）＋Ｘ（３））−（Ｘ（１）＋Ｘ（２））｜  …（式１）
つまり、フィルタＦｌｔによって、注目画素および右下画素の和（第１合計値）と、下画素および右画素の和（第２合計値）との間の差が、注目画素の差分値（エッジの強さ）として計算される。
【０１００】
このような計算が色成分毎に行われるので、フィルタＦｌｔの出力は、次の（式２）〜（式４）のようになる。
【０１０１】
ΔＲ（０）＝（Ｒ（０）＋Ｒ（３））−（Ｒ（１）＋Ｒ（２））  …（式２）
ΔＧ（０）＝（Ｇ（０）＋Ｇ（３））−（Ｇ（１）＋Ｇ（２））  …（式３）
ΔＢ（０）＝（Ｂ（０）＋Ｂ（３））−（Ｂ（１）＋Ｂ（２））  …（式４）
注目画素の差分値Ａ（０）は、上の（式２）〜（式４）で定義される各色成分の差分値の合計として、次の（式５）により計算される。
【０１０２】
Ａ（０）＝ΔＲ（０）＋ΔＧ（０）＋ΔＢ（０）  …（式５）
上の（式２）〜（式５）による計算を各画素（０，０）〜（１７９，１１９）について行うことで、１８０×１２０個の差分値Ａからなる差分画像（上述のＹ差分画像）が得られる。
【０１０３】
その一方で、原画像１００は、図７（Ａ）に示すように複数（ここでは９×６）の区画１０６に分割される。なお、各区画１０６を区別する場合には、区画（１，１）〜区画（９，６）のように記述する。ＣＰＵ４２は、差分画像データを構成する１８０×１２０個の差分値Ａのうち第１閾値ＴｈＡ以上のものを、これら９×６の区画１０６毎に積算する。つまり、積算に当たって、各画素の差分値Ａは第１閾値ＴｈＡと比較され、第１閾値ＴｈＡに満たない差分値は除外される。こうして、差分画像データおよび第１閾値ＴｈＡに基づいて、９×６個の積算差分値Ｂが得られる。
【０１０４】
なお、この実施例では、区画毎の差分値Ａの積算に当たって、各画素の差分値Ａを第１閾値ＴｈＡと比較し、第１閾値ＴｈＡに満たない差分値を積算の対象から除外したが、第１閾値ＴｈＡによる選別は行わずに、各画素の差分値Ａを全て積算の対象としてもよい。ただし、第１閾値ＴｈＡによる選別を行う方が、ノイズの影響を受けにくくなる。
【０１０５】
また、この実施例では、区画毎の差分値Ａの積算に当たって、第１閾値ＴｈＡ以上の差分値Ａそれ自体を積算したが、第１閾値ＴｈＡに満たない差分値Ａをたとえば“０”に、第１閾値ＴｈＡ以上の差分値Ａをたとえば“１”に２値化して、これら２値化された差分値を積算してもよい。これはつまり、差分値Ａが第１閾値（ＴｈＡ）以上である画素の個数を区画１０６毎に計数しているのと同じである。
【０１０６】
次に、ＣＰＵ４２は、９×６個の積算差分値Ｂを参照して、９×６個の区画１０６の中から候補区画１０６Ｃを選択する。詳しくは、各区画１０６について積算差分値Ｂを第２閾値ＴｈＢと比較し、積算差分値Ｂが第２閾値ＴｈＢよりも大きい区画を候補区画１０６Ｃとする。つまり、９×６の区画１０６の中から、輪郭線１０４を含んだ候補区画１０６Ｃ（たとえば図１０（Ｂ）参照）が選択される。
【０１０７】
次に、ＣＰＵ４２は、こうして選択された候補区画１０６Ｃの中から、画像加工の対象となる対象区画１０６Ｓを確率に基づいて決定する。具体的には、まず、図８（Ａ）に示すような確率テーブルを参照して、候補区画１０６Ｃの個数Ｃに応じた確率（ｐ）が決定される。この確率テーブルによれば、確率（ｐ）は、Ｃ＜８の場合は４０％に、８≦Ｃ＜１０の場合は３５％に、１０≦Ｃ＜１２の場合は３０％に、そして１２≦Ｃの場合は２５％にそれぞれ決定される。
【０１０８】
このように、候補区画数（Ｃ）が多いほど確率（ｐ）を低くすることで、対象区画１０６Ｓの平均数を候補区画数（Ｃ）によらず一定範囲に収めることができる。図８（Ａ）の例では、候補区画数（Ｃ）が概ね５〜１３個の範囲であれば何個であっても、対象区画１０６Ｓの数は２ないし３個となる。なお、この２ないし３個という数値は、確率に基づく平均値（期待値）なので、時には１個や４個の場合があり、まれに０個や５個以上の場合もあるのはいうまでもない。
【０１０９】
次に、ＣＰＵ４２は、こうして決定された確率（ｐ）に対し、図８（Ｂ）に示すような係数テーブルを参照して、候補区画１０６Ｃ毎に原画像１００の中心Ｐからの距離ｄに応じた係数を乗算する補正を行う。この係数テーブルによれば、確率（ｐ）は、ｄ＜３０（単位は画素：以下同様）の候補区画１０６Ｃについては０．２５倍され、３０≦ｄの候補区画１０６Ｃについては１倍される（つまり元の確率（ｐ）のままである）。なお、係数は、ここでは０．２５倍および１倍の２種類であるが、３種類以上を用いてもよい（たとえば図２５（Ｃ）参照）。
【０１１０】
ここで、中心Ｐから各区画１０６（各候補区画１０６Ｃ）までの距離ｄは、たとえば図７（Ｂ）に示すように、原画像１００のサイズをｗ×ｈとし、区画１０６の中心Ｑの座標を（ｘ，ｙ）として、次の（式６）により計算される。
【０１１１】
ｄ＝√｛（ｘ−ｗ／２）２+（ｙ−ｈ／２）２｝  …（式６）
なお、図７（Ｂ）の例では、中心Ｐは原画像１００の重心（対角線の交点）と一致し、中心Ｑは区画１０６の重心と一致しているが、いずれも重心と一致している必要はない。たとえば、中心Ｐは、原画像１００の重心近傍に位置する１つの画素と一致していてよく、中心Ｑもまた、区画１０６の重心近傍に位置する１つの画素と一致していてよい。この場合、ＰＱ間の距離は、上の（式６）で近似的に計算される。
【０１１２】
こうして確率（ｐ）を、中心Ｐに近い候補区画１０６Ｃほど小さい値に補正することで、星オブジェクトは原画像１００の中心Ｐまたはその近くに配置されにくくなる。
【０１１３】
次に、ＣＰＵ４２は、各候補区画１０６Ｃを補正後の確率（ｐ）に基づいて対象区画１０６Ｓに決定する。具体的には、候補区画１０６Ｃの各々について、０〜９９のいずれかの整数値をランダムに設定し、その設定値が補正後の確率（ｐ）未満であるか否かを判別する。そして、設定値が補正後の確率（ｐ）未満である候補区画１０６Ｃを対象区画１０６Ｓに決定する。このため、たとえば、設定値が２５で補正後の確率（ｐ）が３０％である候補区画１０６Ｃは、設定値２５が確率値「３０」未満であるため、対象区画１０６Ｓとなるが、設定値が５５で補正後の確率（ｐ）が４０％の候補区画１０６Ｃは、設定値５５が確率値「４０」未満ではないため、対象区画１０６Ｓとはならない。
【０１１４】
したがって、Ｃ個の候補区画１０６Ｃがどれも原画像１００の中心Ｐから遠い場合には、平均｛Ｃ×（ｐ／１００）｝個が対象区画１０６Ｓに決定される。中心Ｐに近い候補区画１０６Ｃがあれば、そのような候補区画１０６Ｃの確率（ｐ）が小さな値に補正される結果、対象区画１０６Ｓの平均個数は｛Ｃ×（ｐ／１００）｝よりも少なくなる。
【０１１５】
なお、中心Ｐと各候補区画１０６Ｃとの位置関係によらず、略一定数の対象区画１０６Ｓを確保したい場合には、中心Ｐに近い候補区画１０６Ｃの確率を小さな値に補正する一方で、中心Ｐから遠い候補区画１０６Ｃの確率を大きな値に補正すればよい。たとえば、図８（Ｂ）の係数テーブルにおいて、３０≦ｄに対応する係数を１．２５倍とすれば、補正に伴う平均個数の増減が緩和される。
【０１１６】
次に、ＣＰＵ４２は、各対象区画１０６Ｓについて、描画すべき星オブジェクトの形態を、図９のようなオブジェクトテーブルに基づいてランダムに決定する。このオブジェクトテーブルには、描画可能な複数の星オブジェクトについて、オブジェクト番号（１，２…）および形態（大きさ，形状，色，明るさなど）が登録されている。なお、星オブジェクトを周期的に点滅させたり変色させたり回転させたりすることも可能であり、その場合、点滅周期，変色パターン，回転速度なども形態に含めてよい。
【０１１７】
そして、ＣＰＵ４２は、原画像１００に対し、上記のように決定した各対象区画１０６Ｓの位置に、上記のように決定した形態の星オブジェクトＳｔ１，Ｓｔ２…を描画する。描画にあたっては、対象区画１０６Ｓの中心Ｑまたはその近傍にある画素（中心画素）に星オブジェクトの中心を合わせて描画する。なお、これに限らず、例えば、「対象区画１０６Ｓの右上」と星オブジェクトの中心や右上とを合わせるようにしてもよい。あるいは、対象区画１０６Ｓ内において輪郭を構成する画素の平均位置（重心）と星オブジェクトの中心とを合わせる手法もある。この手法によれば、区画１０６が多くの画素によって構成されているときに、区画１０６を構成する画素群のうち輪郭を構成する画素の偏りに適合するように、星オブジェクトの配置位置を設定することができる。
【０１１８】
以上のような画像加工処理の具体例が、図１０〜図１２に示されている。図１０〜図１２では、原画像１００に含まれる被写体１０２の大きさや形状が異なっている。
【０１１９】
まず図１０を参照して、図１０（Ａ）に示す原画像１００に対して輪郭線検出処理を施すと、図１０（Ｂ）に実線Ｒ，点線Ｇおよび一点鎖線Ｂで示すような３本の輪郭線（より具体的には、このようなＲ輪郭線，Ｇ輪郭線およびＢ輪郭線をそれぞれ含むＲ差分画像，Ｇ差分画像およびＢ差分画像）が得られる。次に、これら３本の輪郭線に沿って（より具体的には、Ｒ差分画像，Ｇ差分画像およびＢ差分画像を画素毎に加算したＹ差分画像に基づいて）、一連の区画（４，２），（５，２），（６，２），（３，３），（７，３），（２，４），（８，４），（３，５），（７，５），（４，６），（５，６）および（６，６）が候補区画１０６Ｃとして選出される。
【０１２０】
この場合、１２個の候補区画１０６Ｃが選出されたので（Ｃ＝１２）、図８（Ａ）の確率テーブルから確率は２５％に決定される（ｐ＝２５）。また、どの候補区画１０６Ｃも、中心Ｐからの距離は３０画素以上なので（ｄ≧３０）、図８（Ｂ）の係数テーブルから係数は１倍に決定される。したがって、どの候補区画１０６Ｃも２５％の確率で対象区画１０６Ｓに決定されることになり、全部で１２個の候補区画１０６Ｃのうち平均３個が対象区画１０６Ｓとなる。
【０１２１】
たとえば、（６，２），（３，３）および（４，６）の各候補区画１０６Ｃが対象区画１０６Ｓとなったとすると、次に、これら３つの対象区画１０６Ｓの各々について、図９のオブジェクトテーブルから星オブジェクトの形態がランダムに決定される。この結果、（６，２）の対象区画１０６Ｓにはオブジェクト番号１の形態（小さな星）が、（３，３）の対象区画１０６Ｓにはオブジェクト番号２の形態（大きな星）が、そして（４，６）の対象区画１０６Ｓにはオブジェクト番号１の形態（小さな星）が割り当てられたとすると、原画像１００には、図１０（Ｃ）に示されるように、（６，２）の対象区画１０６Ｓの位置に小さな星オブジェクトＳｔ１が、（３，３）の対象区画１０６Ｓの位置に大きな星オブジェクトＳｔ２が、そして（４，６）の対象区画１０６Ｓの位置に小さな星オブジェクトＳｔ１が描画される。
【０１２２】
次に図１１を参照して、図１１（Ａ）に示す原画像１００に対して輪郭線検出処理を施すと、図１１（Ｂ）に実線Ｒ，点線Ｇおよび一点鎖線Ｂで示すような３本の輪郭線が得られる。次に、これら３本の輪郭線に沿って、一連の区画（４，２），（５，２），（６，２），（３，３），（７，３），（３，４），（７，４），（４，５），（５，５）および（６，５）が候補区画１０６Ｃとして選出される。
【０１２３】
この場合、１０個の候補区画１０６Ｃが選出されたので（Ｃ＝１０）、確率は３０％に決定される（ｐ＝３０）。また、どの候補区画１０６Ｃも、中心Ｐからの距離は３０画素以上なので（ｄ≧３０）、係数は１倍に決定される。したがって、どの候補区画１０６Ｃも３０％の確率で対象区画１０６Ｓに決定されることになり、全部で１０個の候補区画１０６Ｃのうち平均３個が対象区画１０６Ｓとなる。
【０１２４】
たとえば、（４，２），（７，３）および（６，５）の各候補区画１０６Ｃが対象区画１０６Ｓとなったとすると、次に、これら３つの対象区画１０６Ｓの各々について星オブジェクトの形態がランダムに決定される。この結果、（４，２）の対象区画１０６Ｓにはオブジェクト番号２の形態（大きな星）が、（７，３）の対象区画１０６Ｓにはオブジェクト番号２の形態（大きな星）が、そして（６，５）の対象区画１０６Ｓにはオブジェクト番号１の形態（小さな星）が割り当てられたとすると、原画像１００には、図１１（Ｃ）に示されるように、（４，２）の対象区画１０６Ｓの位置に大きな星オブジェクトＳｔ２が、（７，３）の対象区画１０６Ｓの位置に大きな星オブジェクトＳｔ２が、そして（６，５）の対象区画１０６Ｓの位置に小さな星オブジェクトＳｔ１が描画される。
【０１２５】
次に図１２を参照して、図１２（Ａ）に示す原画像１００に対して輪郭線検出処理を施すと、図１２（Ｂ）に実線Ｒ，点線Ｇおよび一点鎖線Ｂで示すような３本の輪郭線が得られる。次に、これら３本の輪郭線に沿って、一連の区画（６，２），（４，３），（５，３），（７，３），（３，４），（６，４），（４，５）および（５，５）が候補区画１０６Ｃとして選出される。
【０１２６】
この場合、８個の候補区画１０６Ｃが選出されたので（Ｃ＝８）、確率は３５％に決定される（ｐ＝３５）。また、中心Ｐから各候補区画１０６Ｃまでの距離は、（４，３），（５，３）および（６，４）の各候補区画１０６Ｃが３０画素未満であり（ｄ＜３０）、（６，２），（７，３），（３，４），（４，５）および（５，５）の各候補区画１０６Ｃが３０画素以上なので（３０≦ｄ）、前者つまりｄ＜３０である各候補区画１０６Ｃの確率は、３５％の０．２５倍（＝８．７５％）に補正され、後者つまり３０≦ｄである各候補区画１０６Ｃの確率は、３５％の１倍（＝３５％）に補正される。したがって、全部で８個の候補区画１０６Ｃのうち平均２．０１２５個（＝３×０．０８７５＋５×０．３５）が対象区画１０６Ｓとなる（なお、確率補正を行わない場合の平均個数は２．８個である）。
【０１２７】
したがって、ｐ＝３５である５つの候補区画１０６Ｃのうち２つが対象区画１０６Ｓとなる場合が多い。ただし、対象区画１０６Ｓの個数は、時には３個、まれに１個や４個以上となる場合もあるし、その中にｐ＝８．７５である候補区画Ｃから決定されたものが含まれている場合もあるのは、いうまでもない。
【０１２８】
たとえば、（６，２）および（３，４）の各候補区画１０６Ｃが対象区画１０６Ｓとなったとすると、次に、これら２つの対象区画１０６Ｓの各々について星オブジェクトの形態がランダムに決定される。この結果、（６，２）の対象区画１０６Ｓにはオブジェクト番号１の形態が、（３，４）の対象区画１０６Ｓにはオブジェクト番号２の形態が割り当てられたとすると、原画像１００には、図１２（Ｃ）に示されるように、（６，２）の対象区画１０６Ｓの位置に小さな星オブジェクトＳｔ１が、そして（３，４）の対象区画１０６Ｓの位置に大きな星オブジェクトＳｔ２が描画される。
【０１２９】
こうして、原画像１００には、被写体１０２の大きさや形状ひいては輪郭線１０４の長短によらず、輪郭線１０４に沿う適宜な位置に、適宜な数の星オブジェクトＳｔ１，Ｓｔ２…が配置される結果となる。
【０１３０】
以上のような動作は、ゲーム装置１０のＣＰＵ４２が、メインメモリ４８に記憶された図１３に示すようなプログラムおよびデータに基づいて、図１７〜図２１に示すようなフローに従う処理を実行することにより実現される。
【０１３１】
すなわち、この実施例の画像管理アプリケーションを実行するとき、図１３に示すように、メインメモリ４８には、プログラムエリア４８ａおよびデータエリア４８ｂが形成され、プログラムエリア４８ａにアプリケーションプログラム７０および入出力制御プログラム７２などが格納される。
【０１３２】
アプリケーションプログラム７０は、ＣＰＵ４２を介して各種ハードウェア（１２〜４０，４４〜６０）を制御して画像管理アプリケーションを実現するメインのソフトウェアプログラムであり、図１７〜図２１のフローに対応している。入出力制御プログラム７２は、アプリケーションプログラム７０によって利用されるサブのソフトウェアプログラムであり、主として下側ＬＣＤ１２，操作部２４，Ｉ／Ｆ回路４０などを制御してタッチ入力，ボタン入力，画像出力などを実現する。
【０１３３】
データエリア４８ｂは、定数エリア７４，変数エリア７６，原画像エリア７８，差分画像エリア８０および区画エリア８２などを含む。定数エリア７４には、差分値（Ａ）に関する第１閾値（ＴｈＡ），積算差分値（Ｂ）に関する第２閾値（ＴｈＢ）といった、アプリケーションプログラム７０によって参照される定数が記憶される。変数エリア７６には、差分値（Ａ），積算差分値（Ｂ），候補区画数（Ｃ），確率（ｐ）といった、アプリケーションプログラム７０によって制御される変数が記憶される。原画像エリア７８には、アプリケーションプログラム７０によって管理ないし加工される原画像（１００：図１０（Ａ），図１１（Ａ），図１２（Ａ）等参照）が記憶される。差分画像エリア８０には、アプリケーションプログラム７０によって画像加工を行うとき作成される差分画像（実線Ｒ，点線Ｇおよび一点鎖線Ｂ：図１０（Ｂ），図１１（Ｂ），図１２（Ｂ）等参照）が記憶される。区画エリア８２には、アプリケーションプログラム７０によって画像加工を行うとき作成される区画データが記憶される。
【０１３４】
データエリア４８ｂにはまた、図８（Ａ）に示したような確率テーブル８４，図８（Ｂ）に示したような係数テーブル８６，および図９に示したようなオブジェクトテーブル８８も格納される。
【０１３５】
図１４，図１５および図１６には、区画エリア８２に記憶される区画データの具体例が示されている。なお、図１４の区画データは、図１０（Ｂ）に示した９×６の区画１０６に関するデータであり、図１５の区画データは、図１１（Ｂ）に示した９×６の区画１０６に関するデータであり、そして図１６の区画データは、図１２（Ｂ）に示した９×６の区画１０６に関するデータである。
【０１３６】
区画データには、各区画１０６について、区画番号，位置，距離（ｄ），積算差分値（Ｂ），候補フラグ，確率（ｐ），対象フラグおよびオブジェクト番号が含まれる。
【０１３７】
区画番号は、各区画１０６を識別する番号であり、（１，１），（２，１）…（９，６）のように記述される。位置は、各区画１０６の左上端および右下端を示す画素の座標であり、たとえば区画（１，１）については（０，０）−（１９，１９）、区画（４，２）については（６０，２０）−（７９，３９）などのように記述される。距離は、原画像１００の中心Ｐから各区画１０６の中心Ｑまでの距離（ｄ：図７（Ｂ）参照）であり、たとえば区画（１，１）については９４、区画（４，２）については３６などのように記述される。
【０１３８】
積算差分値（Ｂ）は、各区画１０６に含まれる２０×２０個の差分値（Ａ）のうち第１閾値（ＴｈＡ）以上のものを積算した値である。候補フラグは、各区画１０６が候補区画１０６Ｃか否かを示すフラグであり、積算差分値（Ｂ）と第２閾値（ＴｈＢ）との比較に基づいてＯＮ／ＯＦＦされる。ここでＯＮは候補区画１０６Ｃであることを、ＯＦＦは候補区画１０６Ｃでない（非候補区画である）ことを示す。
【０１３９】
確率（ｐ）は、各候補区画１０６Ｃが対象区画１０６Ｓに決定される確率であり、確率テーブル８４（図８（Ａ）参照）を参照して、候補区画数（Ｃ）に応じた値に設定される。こうして設定された確率（ｐ）は、係数テーブル８６（図８（Ｂ）参照）を参照して補正される。対象フラグは、各区画１０６が対象区画１０６Ｓか否かを示すフラグであり、補正後の確率（ｐ）に基づいてＯＮ／ＯＦＦされる。ここでＯＮは対象区画１０６Ｓであることを、ＯＦＦは対象区画１０６Ｓでない（非対象区画である）ことを示す。
【０１４０】
そしてオブジェクト番号は、各対象区画１０６Ｓに描画すべきオブジェクトを示す番号であり、オブジェクトテーブル８８（図９参照）に登録された番号１，２…の中からランダムに決定される。
【０１４１】
図１７を参照して、アプリケーションプログラム７０が起動されると、ＣＰＵ４２は、まずステップＳ１で、図２２のようなメインメニュー画面をＬＣＤ１２に表示する。このメインメニュー画面は、３枚の「保存されているノート」１１２と、「新しいノート」アイコン１１４とを含む。３枚の「保存されているノート」１１２には、それぞれ手書き文字が記されており、そのうち１枚には、写真１１２ａおよび音声アイコン１１２ｂが貼り付けられている。
【０１４２】
次に、ステップＳ３で「新しいノート」アイコン１１４が選択されたか否かを判別し、ＮＯであればステップＳ５に移って、「保存されているノート」１１２が選択されたか否かをさらに判別する。ステップＳ５でもＮＯであれば、ステップＳ１に戻って同様の処理を繰り返す。
【０１４３】
メインメニュー画面上でいずれかの「保存されているノート」１１２がタッチされると、ステップＳ５でＹＥＳと判別して、ステップＳ７に進む。ステップＳ７では、選択された「保存されているノート」をＬＣＤ１２に表示し、次のステップＳ９では、貼り付けてある写真１１２ａの編集を行うか否かを判別する。いずれかの写真１１２ａが選択されると、ステップＳ２１（後述）に進む。選択された「保存されているノート」１１２に写真１１２ａが貼り付けられていなかったり、音声アイコン１１２ｂが選択されたり、キャンセル操作が行われたりした場合には、ステップＳ９でＮＯと判別し、ステップＳ１に戻る。なお、図示はしていないが、音声アイコン１１２ｂが選択された場合には、対応する音声（ボイスメモ）がスピーカ３４から出力される。
【０１４４】
メインメニュー画面上で「新しいノート」アイコン１１４が選択されると、ステップＳ３でＹＥＳと判別して、ステップＳ１１に進む。ステップＳ１１では、図２３に示すようなノート作成画面をＬＣＤ１２に表示する。このノート作成画面には、「鉛筆」アイコン１１６ａ，「消しゴム」アイコン１１６ｂ，「カメラ」アイコン１１６ｃ，「マイク」アイコン１１６ｄなどが含まれる。
【０１４５】
次に、ステップＳ１３で「カメラ」アイコン１１６ｃが選択されたか否かを判別して、ＹＥＳであればステップＳ１５に進む一方、ＮＯであればステップＳ１に戻る。なお、ステップＳ１３でＮＯと判別されるのは、「カメラ」以外のアイコン（１１６ａ，１１６ｂまたは１１６ｄ）が選択されたり、キャンセル操作が行われたりした場合である。図示はしていないが、「カメラ」以外のアイコンが選択された場合には、選択されたアイコンに対応する処理（手書き入力，入力取り消し，音声入力，オプション設定など）が実行された後で、保存等の処理が行われた後、ステップＳ１に戻ることになる。
【０１４６】
ステップＳ１５では、カメラのプレビュー（カメラ１６または１８からのスルー画像）をＬＣＤ１２に表示し、次のステップＳ１７では、撮影ボタン（たとえばボタン２４ｂ）が押下されたか否かを判別する。ステップＳ１７でＮＯであれば、ステップＳ１５に戻って同様の動作を繰り返す。ステップＳ１７でＹＥＳであれば、ステップＳ１９で画像を記録した後、ステップＳ２１に進んで、図２４に示すような加工メニュー画面をＬＣＤ１２に表示する。なお、上側ＬＣＤ１４に、ステップＳ１９で記録された画像が表示され、後述のフィルタ等の画像処理の指示に従って、画像処理が行われた後の画像に逐一変更される。
【０１４７】
この加工メニュー画面には、３種類の「キラキラフィルタ」アイコン１１８，「ぼかし」アイコン１２０，「シャープネス」アイコン１２２，「落書き」ボタン１２４，「ノートに貼る（保存）」ボタン１２６，「撮り直す」ボタン１２８，「ＯＫ」ボタン１３０および「戻る」ボタン１３２などが含まれる。なお、３種類の「キラキラフィルタ」では、画像加工処理で描画されるオブジェクトの形態が異なる（たとえば星と雪、同じ星でも五角形，十字型など）だけなので、以下では特に区別しない。
【０１４８】
図１８を参照して、次に、ステップＳ２３〜Ｓ２９のループを通じて、加工メニュー画面内のどの項目が選択されたかを判別する。詳しくは、ステップＳ２３で「キラキラフィルタ」が選択されたか否かを判別し、ステップＳ２５では「ＯＫ」または「ノートに貼る」が選択されたか否かを判別し、ステップＳ２７では「戻る」が選択されたか否かを判別し、そしてステップＳ２９では「撮り直す」が選択されたか否かを判別する。ステップＳ２３〜Ｓ２９のいずれの判別もＮＯであれば、キャンセル操作が行われるまで、処理はこのループを巡回する。
【０１４９】
加工メニュー画面上で「キラキラフィルタ」アイコン１１８が選択されると、ステップＳ２３でＹＥＳと判別して、ステップＳ３１に進む。ステップＳ３１では、「キラキラフィルタ」に対応する画像加工処理（図１９〜図２１参照：後述）を実行し、その後ステップＳ１に戻る。「ＯＫ」ボタン１３０または「ノートに貼る」ボタン１２６が押下されると、ステップＳ２５でＹＥＳと判別してステップＳ３３に進み、保存が指示されたか否かをさらに判別するためのダイアログを表示する。ここで保存を本当に行う旨がユーザによって指示されると、ステップＳ３５で画像を保存し、その後ステップＳ１に戻る。
【０１５０】
加工メニュー画面上で「戻る」ボタン１３２が押下されると、ステップＳ２７でＹＥＳと判別して、ステップＳ１に戻る。なおここでは、ステップＳ１９で記録した画像を破棄してもよい。「撮り直す」ボタン１２８が押下されると、ステップＳ２９でＹＥＳと判別して、ステップＳ１５に戻る。
【０１５１】
なお、フロー図には示していないが、「ぼかし」，「シャープネス」，「落書き」が選択されると、それぞれ対応する画像処理が実行される。これらの画像処理については、この実施例の主題ではないので説明を省略する。ただし、他の実施例では、「ぼかし」または「シャープネス」に対応する画像処理において、「キラキラフィルタ」の場合と同様に、輪郭線１０４に沿った候補区画１０６Ｃの選択、および候補区画数（Ｃ）に応じた確率（ｐ）に基づく対象区画１０６Ｓの決定を行い、そして決定された対象区画１０６Ｓに（局所的に）、「ぼかし」または「シャープネス」を加えることも可能である。
【０１５２】
上記ステップＳ３１の画像加工処理は、詳しくは、図１９〜図２１に示すサブルーチンに従って実行される。図１９を参照して、ＣＰＵ４２は、まずステップＳ４０で、処理対象となる画像たとえばカメラ１６または１８で撮像した画像を原画像エリア７８（図１３参照）に読み込む。次に、ステップＳ４１で、メインメモリ４８の変数エリア７６に記憶された各種の変数（差分値（Ａ），積算差分値（Ｂ），候補区画数（Ｃ），確率（ｐ）など）を初期化する。次に、ステップＳ４３で、原画像エリア７８に記憶された原画像１００（たとえば図１０（Ａ），図１１（Ａ），図１２（Ａ）参照）を構成する全画素（１８０×１２０画素）について差分値を算出したか否かを判別し、ＮＯであればステップＳ４５に進み、たとえば図６（Ｂ）に点線で示すラスタ走査に従う順序で、未選択画素の１つを選択する。
【０１５３】
次に、ステップＳ４７で、図６に示したフィルタＦｌｔによって、当該画素の差分値を色成分毎に求める。色成分毎の差分値（ΔＲ，ΔＧおよびΔＢ）は、具体的には、先述の（式２）〜（式４）により計算される。そしてステップＳ４９で、色成分毎の差分値の和を求め、これを当該画素の差分値（Ａ）として差分画像エリア８０に記録する。差分値の和は、具体的には、先述の（式５）により計算される。その後、ステップＳ４３に戻って同様の処理を繰り返す。
【０１５４】
原画像１００の最後の画素、たとえば画素（１７９，１１９）について、上記のような差分値計算が終わると、ステップＳ４３でＹＥＳと判別し、ステップＳ５１に進む。この時点で、差分画像エリア８０には、原画像１００に対応するＹ差分画像（グレースケール）が記憶されている。ステップＳ５１では、原画像１００（およびこれに対応するＹ差分画像）の区画１０６への分割と、区画エリア８２に記憶されている区画データの初期化とを行う。これにより、１８０×１２０画素の原画像１００は、たとえば９×６個の区画１０６に分割され（図１０（Ｂ），図１１（Ｂ），図１２（Ｂ）参照）、区画データ（図１４，図１５，図１６参照）に含まれる変数やフラグが初期化される。
【０１５５】
図２０を参照して、次に、ステップＳ５３で、全区画１０６について閾値判定（候補か否かの判断）を行ったか否かを判別し、ＮＯであればステップＳ５５に進んで、たとえば図７（Ａ）に点線で示すラスタ走査に従う順序で、未判断区画１０６の１つを選択する。そして、当該区画１０６の各画素について、ステップＳ５７〜Ｓ６３の処理を実行する。
【０１５６】
具体的には、まずステップＳ５７で、当該区画１０６の全画素について閾値判定（輪郭か否かの判断）を行ったか否かを判別し、ＮＯであればステップＳ５９に進んで、未判断画素の１つを選択する。次に、当該画素の差分値（Ａ）は第１閾値（ＴｈＡ）以上か否か、つまり当該画素は輪郭か否かをステップＳ６１で判別し、ＮＯ（Ａ＜ＴｈＡ）であればステップＳ５７に戻る。ステップＳ６１でＹＥＳ（ＴｈＡ≦Ａ）であれば、ステップＳ６３に進んで、区画データに含まれている当該区画１０６の積算差分値（Ｂ）に、当該画素の差分値（Ａ）を加算する（Ｂ＝Ｂ＋Ａ）。そしてステップＳ５７に戻り、同様の処理を繰り返す。
【０１５７】
当該区画１０６の最後の画素、たとえば区画（１，１）の場合は画素（１９，１９）について、上記のような閾値判定が終わると、ステップＳ５７でＹＥＳと判別し、ステップＳ６５に移る。ステップＳ６５では、当該区画１０６の積算差分値（Ｂ）は第２閾値（ＴｈＢ）以上か否か、つまり当該区画１０６は候補か否かを判別し、ここでＮＯ（Ｂ＜ＴｈＢ）であれば、ステップＳ６７で当該区画１０６の候補フラグをＯＦＦした後、ステップＳ５３に戻る。ステップＳ６５でＹＥＳ（ＴｈＢ≦Ｂ）であれば、ステップＳ６９で、当該区画１０６の候補フラグをＯＮすると共に、候補区画数（Ｃ）をインクリメントする（Ｃ＝Ｃ＋１）。そして、ステップＳ５３に戻る。
【０１５８】
最後の区画１０６たとえば区画（９，６）について、上記のような閾値判定を終えると、ステップＳ５３でＹＥＳと判別し、ステップＳ７１に進む。図２１を参照して、ステップＳ７１では、候補区画数（Ｃ）に応じた確率（ｐ）を確率テーブル（図８（Ａ）参照）に基づいて決定する。決定された確率（ｐ）は、区画データ（たとえば図１４参照）に補正前の確率として登録される。補正前の確率は、全候補区画１０６Ｃに共通である。
【０１５９】
次に、ステップＳ７３で、全候補区画１０６Ｃについて、０〜９９のうちいずれか１つの値をランダムに設定する。そして、ステップＳ７５で、全候補区画１０６Ｃについて設定値と確率との比較（対象か否かの判断）を行ったか否かを判別し、ＮＯであればステップＳ７７に進んで、未判断候補区画１０６Ｃの１つを選択する。次のステップＳ７９では、当該候補区画１０６Ｃの画像中心からの距離（ｄ）、たとえば原画像１００の中心Ｐから当該候補区画１０６Ｃの中心Ｑまでの距離ｄ（図７（Ｂ）参照）を上記の（式６）で算出し、結果を区画データに登録する。なお、ここで各候補区画１０６Ｃについて距離を算出する代わりに、上記ステップＳ５１（図１９参照）で区画１０６への分割を行った直後に、全区画１０６について距離（ｄ）を計算し、計算結果を区画データに記述しておいてもよい。
【０１６０】
次に、ステップＳ８１で、当該候補区画１０６Ｃの確率（ｐ）を距離（ｄ）に応じて補正する。具体的には、たとえば図８（Ｂ）の係数テーブルから、距離（ｄ）に対応する係数（０．２５または１）を取得し、その係数を補正前の確率に乗算し、そして乗算結果を補正後の確率として区画データに登録する。
【０１６１】
次に、ステップＳ８３で、当該候補区画１０６Ｃの設定値は補正後の確率（ｐ）未満か否かを判別し、ＮＯであればステップＳ８５で当該候補区画１０６Ｃの対象フラグをＯＦＦする一方、ＹＥＳであればステップＳ８７で当該候補区画１０６Ｃの対象フラグをＯＮする。したがって、当該候補区画１０６Ｃは、補正後の確率（ｐ）で、つまり１００回にｐ回の頻度で、対象区画１０６Ｓに決定される結果となる。その後、ステップＳ７５に戻る。
【０１６２】
最後の候補区画１０６Ｃについて対象とするか否かの判断を終えると、ステップＳ７５でＹＥＳと判別し、ステップＳ８９に移る。ステップＳ８９では、各対象区画１０６Ｓについて、たとえば図９のオブジェクトテーブルに登録された形態の中から、描画すべきオブジェクトの形態をランダムに決定する。区画データには、こうして決定された形態に対応するオブジェクト番号が登録される。この時点で、図１４，図１５，図１６に示したような区画データが完成する。
【０１６３】
そして、ステップＳ９１で、このような区画データに基づいて、原画像１００（図１０（Ａ），図１１（Ａ），図１２（Ａ）参照）に対し、各対象区画１０６Ｓを中心に、番号（１，２…）に対応するオブジェクト（Ｓｔ１，Ｓｔ２…）を描画する。こうして、原画像１００には、輪郭線１０４沿いの適宜な位置に、適宜な数のオブジェクトＳｔ１，Ｓｔ２…が配置される結果となる（図１０（Ｃ），図１１（Ｃ），図１２（Ｃ）参照）。その後、処理はメインルーチン（図１７，図１８参照）に復帰する。
【０１６４】
以上から明らかなように、この実施例のゲーム装置１０では、ＣＰＵ４２は、原画像エリア７８に格納された原画像１００から輪郭線１０４をフィルタＦｌｔで検出し（Ｓ５３〜Ｓ６９）、検出された輪郭線１０４に関連する位置（輪郭線１０４を含む候補区画１０６Ｃ）から描画の対象となる位置（対象区画１０６Ｓ）を選出し（Ｓ７１〜Ｓ８７）、そして選出された位置（対象区画１０６Ｓ）に星オブジェクトＳｔ１，Ｓｔ２…を描画する（Ｓ９１）。
【０１６５】
こうして、輪郭に関連する位置から対象となる位置を選出し、その位置に描画するので、ユーザが位置を指定しなくても、画像の輪郭位置にオブジェクトの描画を行うことができる。
【０１６６】
なお、原画像１００のサイズ，区画１０６のサイズ，確率テーブル，係数テーブルなどは、この実施例のものに限らない。変形例では、図２５（Ａ）に示すように、２１６×１６０画素の原画像１００を４×４画素の区画１０６に分割し（総区画数２１６０）、図２５（Ｂ）に示すような確率テーブルおよび図２５（Ｃ）に示すような係数テーブルを用いて対象区画１０６Ｓを決定する。
【０１６７】
この場合、図２６（Ａ）に示すような輪郭の少ない原画像から、たとえば図２６（Ｂ）に示すような星付画像が得られる。また、図２７（Ａ）に示すような輪郭の多い原画像から、たとえば図２７（Ｂ）に示すような星付画像が得られる。すなわち、輪郭線の多少によらず、星の数は略一定である。
【０１６８】
比較のために、図２７（Ａ）の原画像から確率テーブルおよび係数テーブルを用いずに作成された星付画像を図２８に示す。この場合、多数の星が重なり合うように配置され、「テスト」の文字も読み取りにくい。これに対して、図２７（Ｂ）の星付画像では、星同士の重なり合いが少なく、特に中心付近で星が少ないので、文字を読み取りやすい。
【０１６９】
他の変形例では、図２９に示すように、輪郭線に沿ってより多様な形態のオブジェクトを描画してもよく、さらには、このようなオブジェクトの描画に加えて、画像中心からの距離に応じたグラデーションなどのエフェクトを加えてもよい。逆光フィルタのようなエフェクトをかけてもよい。ここでエフェクトを「加える」ないし「かける」とは、計算（フィルタ演算など）によって画素値を変化させることをいう。なお、オブジェクトの描画も、画素値を変化させることによって実現されるのだから、画素値を変化させることを「描画する」と定義すれば、「エフェクトを描画する」という表現も可能である。
【０１７０】
なお、輪郭線検出に用いるフィルタは、図６のフィルタＦｌｔに限らず、たとえば、Sobelフィルタ，Prewittフィルタ，Laplacianフィルタ，Robertsフィルタなど、既存のものでもよい。いずれのフィルタでも、注目画素およびその周辺画素に対してそれぞれ係数を掛け合わせ、それらを合計することで注目画素と周辺画素との差分値（ないし変化率）を計算するが、フィルタによって、周辺画素の数や配置、および各画素に割り当てる係数が異なっており、それぞれ、エッジを強調したり、ノイズの影響を抑えたり、緩やかなエッジに対する感度を高めたり、エッジの方向による感度差を緩和したりすることができる。これに対して、上述してきた図６のフィルタＦｌｔでは、斜めの輪郭は検出できるが、Ｘ軸やＹ軸に沿うような輪郭線の検出は困難である。しかし、この実施例では、輪郭線自体を描画したり、輪郭線に沿って画像を切り抜いたりするわけではなく、輪郭線沿いに適宜な数のオブジェクトを描画すればよいので、検出精度を必要以上に高める必要はなく、少ない演算量で必要な検出精度が得られる図６のフィルタＦｌｔの方が好適である。
【０１７１】
なお、この実施例では、各カメラ１６および１８で撮像した画像を原画像１００として加工したが、原画像１００は、タッチパネル２８で手書き入力した画像や、メモリカードＩ／Ｆ４４を通してメモリカード３８から取り込んだ各種の画像（カメラ画像，手書き画像，スキャナ画像，ＣＧ画像など）でもよい。
【０１７２】
なお、この実施例では、確率（ｐ）を決定したあとで、各区画１０６について中心からの距離（ｄ）を求め、この距離（ｄ）に応じて確率（ｐ）に係数を掛けることで確率補正を行うようにしているが、候補区画数（Ｃ）と距離（ｄ）との２つの条件を混ぜたテーブル（図示せず）をあらかじめ用意しておけば、確率（ｐ）を決定するステップＳ７１において、併せて確率補正を行うことができる。
【０１７３】
なお、この実施例では、被写体１０２は原画像１００の中央部に位置することを前提に、原画像１００の中心Ｐから各区画１０６の中心Ｑまでの距離（ｄ）を求めたが、原画像１００の適宜な基準点から各区画１０６の適宜な基準点までの距離を求めてもよい。さらには、ユーザが原画像１００側の基準点の位置を選択できるようにして、たとえば原画像１００の右上部に被写体１０２がある場合には、ユーザが原画像１００の右上端の位置をタッチなどにより選択（指示）したことに応じて当該右上端の位置からの距離を求めてもよい。
【０１７４】
また、この実施例では、確率（ｐ）を原画像１００の中心Ｐ（適宜な基準点）に近い区画１０６ほど低くなるように補正したが、他の実施例では、基準点から遠いほど低くなる（基準点に近いほど高くなる）ように補正してもよい。これによって、対象区画１０６Ｓが基準点に集まりやすくなるので、たとえば、被写体の輪郭線１０４沿いに多くのオグジェクトを描画して、被写体を強調することができる。
【０１７５】
また、原画像１００が大きいほど区画１０６を大きくしてもよい。一例を図３０に示す。この原画像１００は、４３２×３２０のサイズを有する。すなわち、図２５（Ａ）に示した原画像１００と比べ、縦横２倍のサイズなので、区画１０６のサイズも縦横２倍つまり８×８とする。この場合、どちらの原画像１００でも、総区画数は２１６０個となる。これによって、大きな原画像１００であっても小さな原画像１００であっても、全体的に見て同程度のオブジェクトを配置することができる。これは、候補区画数（Ｃ）に応じて確率（ｐ）を変化させる補正処理と趣旨は同様である。
【０１７６】
あるいは、オブジェクトの大きさによって区画１０６を変化させてもよい。例えば大きい星を描画する場合は、近接する場所に２以上の星が描画されてしまうと重なっているように見えて見栄えが悪いので、区画１０６を大きくする。小さい星の場合は、有る程度近接しても重なるようには見えないので、区画１０６は小さくてもよい。この場合、ステップＳ５１で区画１０６への分割を行う前に、区画サイズを決定する必要がある。たとえば、ステップＳ２３でキラキラフィルタを選択する際に星の大きさ（たとえば平均サイズ、あるいは最小サイズおよび最大サイズ）を指定すれば、ステップＳ５１で区画１０６への分割を行う際に、指定された星の大きさに応じた区画サイズを決定することができる。
【０１７７】
また、この実施例では、たとえば全候補区画１０６Ｃの平均１０％にオブジェクトを配置したい場合、各候補区画１０６Ｃの確率を１０％に設定すればよく、そしてこの場合、オブジェクトの配置はランダムになるが、他の実施例では、９個の非対象区画が続いた後に１個の対象区画１０６Ｓ、といったように順番に対象区画１０６Ｓを配置してもよい。オブジェクトの間隔は、均等である必要もなく、平均で１０個に付き１個であればよい。したがって、たとえば、９個の非対象区画が続いた後に１個の対象区画１０６Ｓ、次は４個の非対象区画が続いた後に１個の対象区画１０６Ｓ、その次は１４個の非対象区画が続いた後に１個の対象区画１０６Ｓ、といった不均等な配置でもよい。
【０１７８】
なお、この実施例では、各対象区画１０６Ｓに配置するオブジェクトの形態をランダムに決定したが、各対象区画１０６Ｓの積算差分値（Ｂ）に基づいて決定してもよい。これにより、エッジの強さに応じた形態のオブジェクトを配置できる。たとえば、積算差分値（Ｂ）が大きいほどオブジェクトを大きくすれば、オブジェクトの大きさでエッジの強さが直感的にわかる。
【０１７９】
また、互いに隣接する候補区画１０６Ｃがあれば、その数をカウントして、その数が多いほどオブジェクトを大きく表示し、その反面、それらが対象区画１０６Ｓとなる確率を下げるようにしてもよい。つまり、互いに隣接する候補区画１０６Ｃをひとまとめにして、そのまとめられた候補区画１０６Ｃにオブジェクトを大きく描画することもできる。
【０１８０】
なお、この実施例では、原画像１００を複数の区画１０６に分割して、その中から候補区画１０６Ｃを選出し、そして各候補区画１０６Ｃを候補区画数（Ｃ）に応じた確率で対象区画１０６Ｓに決定したが、このような処理を画素単位で行ってもよい（すなわち、区画＝画素と扱ってよい）。すなわち、原画像１００を構成する全画素の中から輪郭線を構成している候補画素を選出し、そして各候補画素を候補画素数に応じた確率で対象画素に決定することも可能である。ただし、画素単位で行うと、処理量が膨大となり、ノイズも出やすい。一方、区画単位で行えば、処理量は抑制され、ノイズも出にくいのに加え、区画サイズを適宜選ぶことで、オブジェクトの間隔を確保できる利点がある。よって、この実施例には、複数の画素から構成される区画単位の方が適する。
【０１８１】
なお、たとえば画素単位で処理を行う場合には、連続（接近）してオブジェクトが描画されやすいため、連続した画素が描画対象とならないように、オブジェクトの間隔を調整する処理を入れることができる。また、区画単位で処理を行う場合にも、より間隔を空けて描画させたいときに、同様の間隔調整方法を適用することができる。間隔調整方法の例としては、オブジェクト同士が重ならない（所定値以上の隙間が確保される）最短距離を計算して、各オブジェクトを中心間の距離がこの最短距離以上となるように配置していく方法がある。また、同様に最短距離を計算して、いったんオブジェクトの位置（対象画素）を決定した後に、ある対象画素から最短距離内に別の対象画素が２つ以上存在していれば、そのうち１つを残して削除する（あるいは最短距離外に移動させる）方法もある。
【０１８２】
以上では、ゲーム装置１０について説明したが、この発明は、コンピュータ（ＣＰＵ）を備える画像処理装置（ゲーム機のほか、たとえばＰＣ，ＰＤＡ，携帯電話機など）に適用できる。各処理が複数のコンピュータ等によって分散処理されるような画像処理システムにも適用可能である。
【符号の説明】
【０１８３】
１０  …ゲーム装置
１２，１４  …（下側，上側）ＬＣＤ
１６，１８  …（第１，第２）カメラ
４２  …ＣＰＵ
４８  …メインメモリ
１００  …原画像
１０４  …輪郭線
１０６  …区画
１０６Ｃ  …候補区画
１０６Ｓ  …対象区画
Ｓｔ１，Ｓｔ２  …（星）オブジェクト
【図１】
0005478268.tif 000002
【図２】
0005478268.tif 000003
【図３】
0005478268.tif 000004
【図４】
0005478268.tif 000005
【図５】
0005478268.tif 000006
【図６】
0005478268.tif 000007
【図７】
0005478268.tif 000008
【図８】
0005478268.tif 000009
【図９】
0005478268.tif 000010
【図１０】
0005478268.tif 000011
【図１１】
0005478268.tif 000012
【図１２】
0005478268.tif 000013
【図１３】
0005478268.tif 000014
【図１４】
0005478268.tif 000015
【図１５】
0005478268.tif 000016
【図１６】
0005478268.tif 000017
【図１７】
0005478268.tif 000018
【図１８】
0005478268.tif 000019
【図１９】
0005478268.tif 000020
【図２０】
0005478268.tif 000021
【図２１】
0005478268.tif 000022
【図２２】
0005478268.tif 000023
【図２３】
0005478268.tif 000024
【図２４】
0005478268.tif 000025
【図２５】
0005478268.tif 000026
【図２６】
0005478268.tif 000027
【図２７】
0005478268.tif 000028
【図２８】
0005478268.tif 000029
【図２９】
0005478268.tif 000030
【図３０】
0005478268.tif 000031
【図３１】
0005478268.tif 000032