画像処理装置、画像処理方法、およびプログラム
【課題】 ユーザが選択した画像から、折り紙の展開図に適切に配置することができる技術を提供する。
【解決手段】 ユーザにより選択された選択画像における、展開図における複数の区切り領域への配置対象の領域を特定する。そして、特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を表示させる。そして、その表示に基づくユーザによる指示に応じて、選択画像における配置対象の領域の画像を、複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する。
【解決手段】 ユーザにより選択された選択画像における、展開図における複数の区切り領域への配置対象の領域を特定する。そして、特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を表示させる。そして、その表示に基づくユーザによる指示に応じて、選択画像における配置対象の領域の画像を、複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、折り紙作品の展開図に画像を配置するための技術に関するものである。
【背景技術】
【0002】
ユーザが折り紙工作を行うために、折り紙作品の展開図を印刷する技術がある。特許文献1には、折り紙の完成図を表示させる技術が記載されている。そして、ユーザがその折り紙の完成図に対して着色を指示すると、折り紙の完成時にユーザが指示した箇所に着色が施されているように、展開図に着色することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−33569号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、ユーザが任意に選択した画像を折り紙作品にレイアウトすることはできない。また、ユーザが選択した画像は折り紙作品に配置されるための形状であるとは限らず、完成時の折り紙においてユーザにより選択された画像がどのように配置されるのか、ユーザが判断することが困難な場合がある。そのため、ユーザが選択した画像を折り紙の展開図に適切に配置できない場合がある。
【0005】
本発明はこのような問題に鑑みてなされたものであり、ユーザが選択した画像を、折り紙の展開図に適切に配置することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の画像処理装置は、折り紙作品を作成するための展開図に画像を配置する画像処理装置であって、ユーザによる指示に応じて、メモリに記憶されている複数の画像から、前記展開図に配置する画像を選択する選択手段と、前記展開図における、当該展開図の折り位置により区切られた複数の区切り領域に合うように、前記選択手段により選択された選択画像における、当該複数の区切り領域への配置対象の領域を特定する特定手段と、前記選択画像における前記特定手段により特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を、表示装置に表示させる表示制御手段と、前記表示制御手段による表示に基づくユーザによる指示に応じて、前記選択画像における前記配置対象の領域の画像を、前記展開図における前記複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する配置手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明の構成によれば、ユーザは、ユーザが選択した選択画像における配置領域の画像が展開図に配置され、当該展開図により折り紙作品が作成されたときの、当該配置対象の領域の画像を確認することができる。よって、ユーザは、折り紙の展開図に適切に画像を配置させることができる。
【図面の簡単な説明】
【0008】
【図1】画像処理装置とその周辺機器の構成例を示すブロック図。
【図2】展開図の画像の例を示す図。
【図3】GUIの表示例を示す図。
【図4】GUIの表示例を示す図。
【図5】印刷プレビュー画面の表示例を示す図。
【図6】画像処理装置が行う処理のフローチャート。
【図7】画像処理装置が行う処理のフローチャート。
【図8】画像処理装置が行う処理のフローチャート。
【図9】モード設定のためのダイアログ画面の表示例を示す図。
【図10】印刷プレビュー画面の表示例を示す図。
【図11】折り紙作品「パクパク」に画像を配置するときの表示画面を示す図。
【発明を実施するための形態】
【0009】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の一つである。
【0010】
[第1の実施形態]
先ず、本実施形態に係る画像処理装置とその周辺機器について、図1のブロック図を用いて説明する。画像処理装置の本体部7はCPU1、RAM3、記憶装置2を有する。CPU1は、RAM3をワークメモリとして、記憶装置2に格納されているコンピュータプログラムを実行することにより、画像処理装置全体の動作制御を行うと共に、後述する各処理を実行する。
【0011】
RAM3は、記憶装置2からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアや、CPU1が各種の処理を実行する際に用いるワークエリア等を有する。即ち、RAM3は、各種のエリアを適宜提供することができる。
【0012】
記憶装置2は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。記憶装置2には、OS(オペレーティングシステム)、後述するGUI(グラフィカルユーザインターフェース)のコンピュータプログラムやデータ、後述する3次元仮想物体や展開図の画像、模様画像などのデータが保存されている。また、記憶装置2には、プリンタ6のドライバプログラムや、画像処理装置が行うものとして後述する各処理をCPU1に実行させるためのコンピュータプログラムやデータ等も保存されている。記憶装置2に保存されているコンピュータプログラムやデータは、CPU1による制御に従って適宜RAM3にロードされ、CPU1による処理対象となる。
【0013】
本体部7にはディスプレイモニタ5が接続されており、このディスプレイモニタ5は、CPU1による処理結果を画像や文字などでもって表示することができる。例えば、後述するGUIを表示する。なお、ディスプレイモニタ5には、CRTや液晶画面などを適用することができる。
【0014】
また、本体部7には、入力部4が接続されている。入力部4は、マウスやキーボードなどにより構成されており、ユーザが操作することで各種の指示をCPU1に対して入力することができる。
【0015】
また、本体部7には、プリンタ6が接続されている。プリンタ6は、本体部7から送出された印刷データに従って画像や文字などを紙などの記録媒体上に印刷するものであり、プリンタ6の記録方式については特に限定するものではなく、印刷可能な装置であれば、如何なる印刷装置であってもよい。
【0016】
なお、本実施形態では図1に示す構成を採用するが、以下に説明する各処理が実行可能な構成であれば、如何なる構成を採用してもよい。例えば、図1に示す各部を有する複合機を本実施形態に適用してもよいし、本体部7、ディスプレイモニタ5、入力部4を有する画像処理装置と、プリンタ6と、を有するシステムを本実施形態に適用してもよい。
【0017】
次に、本実施形態に係る画像処理装置の動作について説明する。本実施形態に係る画像処理装置は、折り紙作品の展開図を印刷する為のものであって、この展開図は、ユーザが指定した画像が貼り付けられた折り紙作品の展開図である。また、以下では、特に説明がない限りは、GUIの表示制御は何れもCPU1が行っているものとする。
【0018】
記憶装置2には、次のようなデータが格納されている。即ち、折り紙作品(ユーザが紙を折って作り上げた作品)を表す3次元仮想物のデータ、該折り紙作品を作成するための折れ線が記された展開図の画像のデータ、折り紙の展開図に配置され、折り紙作品の模様として用いるための模様画像データ、である。即ち、記憶装置2には、折り紙作品ごとに、3次元仮想物体のデータ及び展開図の画像のデータが格納されている。また、それとは別に、記憶装置2には、3次元仮想物体の模様として使用可能な複数の画像が模様画像として保存されている。そして、ユーザが、その複数の模様画像から所望のものを選択すると、その選択された模様画像を、折り紙の展開図に配置することができる。
【0019】
なお、3次元仮想物体のデータは、例えば、3次元仮想物体がポリゴンで構成されている場合は、各ポリゴンの色や法線ベクトルのデータ、各ポリゴンの頂点の位置データ、等を含むデータである。即ち、3次元仮想物体を描画可能なデータであれば、如何なるデータを「3次元仮想物体のデータ」として用いてもよい。
【0020】
展開図の画像は、例えば、図2に示す如く、折り紙作品を作成するためにユーザが折るべき折り位置を示す折れ線(谷折りや山折り)が記された折り紙の画像であり、ユーザがこの折れ線に従って紙を折れば、折り紙作品を作成することができる。図2(a)は、折り紙作品「飛行機」の展開図の画像を示しており、図2(b)は、折り紙作品「つる」の展開図の画像を示しており、図2(c)は、折り紙作品「パクパク」の展開図の画像を示している。
【0021】
記憶装置2には、折り紙作品ごとに、折り紙の展開図に模様画像をレイアウトするためのレイアウト情報が格納されている。このレイアウト情報は、折り紙の展開図において折れ線で区切られた各区切り領域の形状や大きさ、各区切り領域の展開図における位置や向きを示す。ユーザにより所望の折り紙作品が選択されると、その折り紙作品に対応するレイアウト情報が、記憶装置2から取得される。そして、模様画像を展開図に配置するときには、上記のレイアウト情報に従って、展開図において画像を配置する領域の形状や大きさに合うように模様画像の一部を抽出し、抽出した画像をレイアウト情報が示す領域に配置する。これにより、模様画像を適切にレイアウトすることができる。
【0022】
なお、上記の展開図の画像に折り線を含ませるのではなく、展開図における折り位置を示す情報を記憶しておいてもよい。そして、ユーザが選択した画像を配置するときには、上記の情報に従って、折り位置により区切られる区切り領域に画像を配置する。
【0023】
さらに上記のレイアウト情報は、展開図の画像上の折れ線で区切られたそれぞれの区切り領域について、該区切り領域と、該区切り領域に対応する折り紙作品の部分を表す3次元仮想物体の部分と、を関連づけて示す。例えば、図2(a)に示した展開図の画像において左下隅の区切り領域が、折り紙作品「飛行機」を表す3次元仮想物体が有するポリゴンのどのポリゴンに対応しているのかを管理している。これは、他の折り紙作品についても同様である。
【0024】
従って、このレイアウト情報により、完成時の折り紙作品における領域に対応する、展開図の区切り領域を判断することができる。よって、折り紙作品において画像を配置するのに適切な部分を特定して、その特定した部分に対応する展開図の区切り領域に画像を配置することにより、模様画像を適切にレイアウトすることができる。
【0025】
さらに、折り紙の展開図と、上記の3次元仮想物体を表示させるときには、上記のレイアウト情報を参照することにより、ユーザが展開図において指定した区切り領域に対応する、3次元仮想物体における領域を判断して、その領域をユーザに示すことができる。また逆に、ユーザが3次元仮想物体において指定した領域に対応する、展開図における区切り領域を判断して、ユーザに示すことができる。
【0026】
以上の模様画像のレイアウト処理、また展開図や3次元仮想物体の表示制御処理の詳細については後述する。
【0027】
なお、上記の模様画像は、どのような画像であってもよく、例えばユーザが撮像装置を用いて撮像した画像や、アプリケーションソフトを用いて編集/作成した画像などを模様画像として用いてもよい。然るに記憶装置2には、このような様々な画像を模様画像として登録することができる。
【0028】
さらに、模様画像は画像処理装置にどのように提供されるものであってもよく、例えば画像処理装置の外部のメモリから供給された画像や、画像処理装置がインターネット等のネットワークを介して取得された画像であってもよい。
【0029】
次に、ユーザの各種の操作を行うための操作画面について説明する。ユーザが入力部4を用いて、折り紙作品を選択するためのGUIの起動指示を入力すると、CPU1はこの起動指示を検知し、このGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードする。そしてCPU1は、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図3のGUI301が表示される。
【0030】
GUI301は、折り紙作品を選択するためのGUIである。GUI301を表示するためにCPU1は先ず、記憶装置2に保存されている複数の折り紙作品のそれぞれに対応する3次元仮想物体のデータをRAM3にロードし、ロードしたデータを用いてそれぞれの3次元仮想物体を生成する。そしてCPU1は、GUI301に示す如く、それぞれの3次元仮想物体を円周上に配置する。もちろん、配置位置はこれに限るものではない。そしてこれら3次元仮想物体を配置した仮想空間を所定の位置姿勢を有する視点から見た画像を、GUI301として表示する。
【0031】
そしてユーザが入力部4を操作し、3次元仮想物体の配置位置変更指示を入力すると、CPU1は、それぞれの3次元仮想物体を円周に沿って移動させる。これにより、GUI3011、GUI3012、というように、ディスプレイモニタ5の画面は切り替わる。このように、もっとも手前に位置する3次元仮想物体は1つずつ変更されるため、ユーザは所望の3次元仮想物体がもっとも手前に位置するように上記の配置位置変更指示を入力し続ける。
【0032】
そして所望の3次元仮想物体がもっとも手前に位置した状態でユーザが入力部4を操作して決定指示を入力したとする。するとCPU1は、所望の3次元仮想物体が表す折り紙作品の展開図やレイアウト情報を、記憶装置2から読み出す。また、その折り紙作品の3次元仮想物体や展開図を表示するためのGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードし、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図4のGUI402が表示される。
【0033】
以下では、折り紙作品「飛行機」を表す3次元仮想物体がもっとも手前に位置した状態でユーザが入力部4を操作して決定指示を入力した場合に、CPU1が行う処理について説明する。しかし、他の折り紙作品を表す3次元仮想物体がもっとも手前に位置した状態でユーザが入力部4を操作して決定指示を入力したとしても、以下の説明は同様に適用することができる。また、折り紙作品を選択するための方法については上記の方法に限るものではなく、他の構成のGUIを用いて選択してもよいし、折り紙作品の名称を直接入力してもよい。
【0034】
図4に示す如く、GUI402には、記憶装置2からRAM3にロードされたそれぞれの模様画像4021、折り紙作品「飛行機」の展開図の画像4022、が表示されている。
【0035】
ユーザは入力部4を操作して、記憶装置2に記憶されている複数の模様画像4021のうち1つを選択することができる。なお、GUI02の構成や面積の都合上、記憶装置2に格納されている全ての模様画像をこのGUI402内に表示しきれない場合は、所定個数ごとに表示し、次の所定個数の表示を所望する場合はその旨の指示をユーザが入力部4を操作して入力すればよい。
【0036】
また、ユーザは入力部4を操作して、画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定することができる。ただし、展開図の区切り領域の全てが画像を配置するために適切な区切り領域であるとは限らず、例えば画像を配置したとしても、折り紙の完成時にその画像を確認することができない区切り領域も存在する。そこで、画像を配置する区切り領域としてユーザが全ての区切り領域を指定することができるようにするのではなく、指定可能な区切り領域を予め設定しておき、指定不可能な区切り領域の指定は受け付けないようにしてもよい。
【0037】
例えば図4に示す例の場合、区切り領域4026や区切り領域4037は、飛行機の折り紙の完成時において、折り紙の表面に現れるため、画像を配置するための区切り領域として指定可能にする。一方、飛行機の完成時において、表面に現れない区切り領域は、画像を配置する区切り領域として指定できないようにする。
【0038】
これによりユーザは、展開図における適切な区切り領域に画像を配置することができる。また、画像を配置する区切り領域の指定方法は様々な方法を用いてよい。例えば、いくつかの区切り領域を関連づけておき、1つの区切り領域が指定されると、この区切り領域と関連づけられている他の区切り領域も指定状態にするようにしてもよい。なお、関連付けがある区切り領域とは、例えば折り紙作品の完成時において隣接する複数の区切り領域である。図4に示す例の場合、飛行機の両翼に対応する区切り領域4026の、両翼のいずれか一方に対応する区切り領域が、ユーザが入力部4を操作することにより指定された場合、もう一方の翼に対応する区切り領域も画像の配置対象として指定するようにしてもよい。
【0039】
または、両翼のそれぞれに対応する区切り領域を、ユーザが個別に指定するようにしてもよい。このとき、左右の翼に、それぞれ異なる2つの模様画像を配置するようにしてもよい。
【0040】
なお、展開図において画像の配置対象として適切な区切り領域を示す情報や、飛行機の両翼など、関連する複数の区切り領域を示す情報は、折り紙作品ごとに記憶装置2に記憶しておき、画像を展開するときに、その情報を参照するようにすればよい。
【0041】
そしてユーザは、複数の模様画像4021から1つの模様画像を選択し、且つ画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定した後で、次の作業に進む旨の指示を入力部4を操作して入力する。CPU1は、次の作業に進む旨の指示を検知すると、GUI402の代わりにGUI403をディスプレイモニタ5の表示画面上に表示する。なお、このような選択及び指定をCPU1が検知してからGUI403をディスプレイモニタ5の表示画面上に表示するようにしてもよい。
【0042】
GUI403には、模様画像4021、展開図の画像4022に加え、折り紙作品「飛行機」を表す3次元仮想物体4033、複数の模様画像4021のうちユーザによって選択された模様画像4034、も表示される。更に模様画像4034には、ユーザが指定した2つの区切り領域4026の組み合わせに応じた形状を有する1つの画像領域4035のトリミング枠が重ねて表示されている。
【0043】
このトリミング枠は、折り紙の完成時において隣接する飛行機の両翼に対応するものであり、後述するトリミング処理によってトリミング枠内の画像が抽出された画像が、飛行機の両翼にレイアウトされる。
【0044】
なお、このトリミング枠の形状は、上述したレイアウト情報が示す、区切り領域の形状により特定される。ただし、この場合、画像が配置される2つの区切り領域4026は飛行機の両翼に対応するため、3次元仮想物体上では互いに隣接している。しかし、展開図においては両翼のそれぞれに対応する区切り領域は隣接しておらず、この2つの区切り領域4026で1つの領域(3次元仮想物体4033においてハッチングしている部分)を形成している。然るに、記憶装置2には、レイアウト情報が示す2つの区切り領域4026の形状が組み合わされた1つの画像領域の形状を示す情報(形状情報)が予め関連づけて登録されている。
【0045】
そして、この形状情報が示す画像領域の形状に従って、その形状に合うように、模様画像から画像を抽出する。また、その抽出された画像を、形状情報が示す画像領域の形状に従って分割する。例えば飛行機の例の場合、形状情報は、飛行機の両翼のそれぞれに対応する、左右対称の2つの区切り領域の形状を示す。そこで、模様画像から抽出された画像を、上記の2つの区切り領域に合わせるために左右対称になるように2つに分割する。そして、分割された2つの画像(分割画像)を、展開図の2つの区切り領域4026に配置する。なお、1つの区切り領域に対して画像を配置するときには、レイアウト情報が示す1つの区切り領域の形状が、形状情報が示す、画像領域の形状となる。
【0046】
そして、ユーザが2つの区切り領域4026を指定すると、これに対応する形状情報を記憶装置2から取得して、この形状情報が示す形状の画像領域4035のトリミング枠を模様画像4034上に重ねて表示することが可能となる。なお、枠の代わりに、ハッチングされた画像領域4035を表示してもよい。
【0047】
また、この形状情報には、この形状情報が示す形状の画像領域内で一方の区切り領域4026に対応する領域を示す情報、他方の区切り領域4026に対応する領域を示す情報、も含まれている。画像領域4035の場合、左半分は展開図の画像4022において左側の区切り領域4026、右半分は展開図の画像4022において右側の区切り領域4026に対応するため、この対応関係も形状情報に含まれているものとする。
【0048】
また、2つの区切り領域4026を指定したので、この2つの区切り領域4026のそれぞれに関連づけられている3次元仮想物体4033の部分(ハッチングしている部分)を、他の部分と異なる表示形態で表示する。表示方法は特に限定するものではないが、他の部分と異なる色や透明度で表示してもよいし、他の部分とは異なる点滅速度で表示してもよい。なお、この表示は、上記のレイアウト情報を参照して、展開図における区切り領域に対応する3次元仮想物体の部分を特定し、特定された部分の表示形態を変更することで実現することができる。
【0049】
ユーザは入力部4を操作して、画像領域4035を模様画像4034内で移動させたり、回転させたり、拡大/縮小させたりすることで、模様画像4034から抽出する領域の向きや大きさを変更することができる。なお、このように画像領域4035を移動させたり回転させたり拡大/縮小させたりするたびに、CPU1は、模様画像4034から画像領域4035内の画像を抽出して、GUI403に反映する。よって、ユーザは、画像領域4035により抽出されて、折り紙に配置される画像を確認しながら、画像領域4035の移動、回転、変倍を行うことができる。
【0050】
そして、レイアウト情報が示す区切り領域の大きさや向きを参照して、形状情報が示す画像領域4035の大きさや向きに応じて抽出した画像の左半分を展開図の画像4022の左側の区切り領域4026のサイズに拡大縮小する。そして拡大縮小したものを該左側の区切り領域4026内に表示させる(貼り付ける)。また、この抽出した画像の右半分を展開図の画像4022の右側の区切り領域4026のサイズに拡大縮小して該右側の区切り領域4026内に表示させる(貼り付ける)。
【0051】
このように、展開図の画像上の複数の区切り領域から、折り紙作品の完成時において隣接する2つ以上の区切り領域が指定領域として指定されると、模様画像上に、該2つ以上の区切り領域の組み合わせに応じた形状を有する1つの画像領域を設定する。そして、画像領域を2つ以上の区切り領域のそれぞれに対する小領域に分割し、該区切り領域に対する小領域を、該区切り領域内(指定領域内)に表示する模様画像内の画像の領域として指定する。
【0052】
以上の操作により、2つの区切り領域4026のそれぞれに表示する画像を、模様画像4034から取得することができる。このように、折り紙の完成時に画像の構図が適切になるように、模様画像から抽出した画像を分割して、区切り領域の形状や大きさ、向きに合うようにレイアウトすることができる。そのためユーザは、模様画像を折り紙に簡単にレイアウトすることができる。
【0053】
次に、GUI403において、上記の飛行機の両翼に対応する区切り領域4026とは異なる、2つの区切り領域4037が指定されたとする。この指定については、2つの区切り領域4026と同様である。更にユーザは、この2つの区切り領域4037に貼り付けたい画像を、それぞれの模様画像4021から選択する。ただし、模様画像は従前に使用していたものをそのまま用いてもよい。そしてユーザは、複数の模様画像4021から1つの模様画像を選択し、且つ2つの区切り領域4037を指定領域として指定した後で、次の作業に進む旨の指示を入力部4を操作して入力する。従前に使用していた模様画像を今回も使用する場合は、ユーザは、2つの区切り領域4037を指定領域として指定した後で、次の作業に進む旨の指示を入力部4を操作して入力する。
【0054】
CPU1は、次の作業に進む旨の指示を検知すると、GUI403の代わりにGUI404をディスプレイモニタ5の表示画面上に表示する。なお、このような選択及び指定をCPU1が検知してからGUI404をディスプレイモニタ5の表示画面上に表示するようにしてもよい。
【0055】
GUI404では、GUI403の表示内容において模様画像4034が今回選択した模様画像4048に切り替わっており、今回指定した2つの区切り領域4037の組み合わせに応じた形状を有する1つの画像領域4049の枠が重ねて表示されている。
【0056】
また、2つの区切り領域4037を指定したので、GUI403の場合と同様、この2つの区切り領域4037のそれぞれに関連づけられている3次元仮想物体4033の部分を、他の部分と異なる表示形態で表示する。
【0057】
ユーザは入力部4を操作して、画像領域4049を模様画像4048内で移動させたり、回転させたり、拡大/縮小させたりすることができるので、GUI403の場合と同様、模様画像4048から画像領域4049内の画像を抽出する。そして、抽出した画像の左半分を展開図の画像4022の左側の区切り領域4037のサイズに拡大縮小して該左側の区切り領域4037内に表示させる。また、この抽出した画像の右半分を展開図の画像4022の右側の区切り領域4037のサイズに拡大縮小して該右側の区切り領域4037内に表示させる。
【0058】
このように、各区切り領域に対して、ユーザが選択した画像を貼り付けることができる。なお、上記の例では、2つ以上の区切り領域を選択した場合について説明したが、1つのみの区切り領域を選択する場合であっても、上記の実施形態は同様に適用することができる。即ち、1つの区切り領域を指定し且つ1つの模様画像を選択すると、選択した模様画像上に、指定した区切り領域と同じ形状の画像領域の枠を重ねて表示する。そしてこの画像領域を移動させたり回転させたり拡大/縮小させたりすると、この画像領域内の画像を指定した区切り領域内に貼り付ける。
【0059】
以上の構成により、ユーザは、任意に選択した画像中の任意の部分が、折り紙工作が完成した際の外観においてどのように表れるかを確認しながら、折り紙工作のための用紙を作成することができる。
【0060】
次に、ユーザと対話しながら折り紙作品の展開図を作成して印刷する為に画像処理装置が行う処理について、同処理のフローチャートを示す図6〜8を用いて説明する。なお、図6〜8のフローチャートに従った処理は何れもCPU1が行う。図6〜8のフローチャートに従った処理をCPU1に実行させるためのコンピュータプログラムやデータは記憶装置2に保存されている。然るに、CPU1がこのコンピュータプログラムやデータをRAM3にロードし、これを用いて処理を実行することで、本実施形態に係る画像処理装置は、図6〜8のフローチャートに従った処理を実行することができる。
【0061】
また、以下に説明する各ステップのうちいくつかについては上記ですでに説明済みであり、その変形例についてもすでに説明済みであるため、このようなステップについてはその一例を挙げて簡単に説明している。
【0062】
ユーザが入力部4を用いて、折り紙作品を選択するためのGUIの起動指示を入力すると、ステップS601においてCPU1はこの起動指示を検知し、このGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードする。そしてCPU1は、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図3のGUI301が表示される。
【0063】
そして、ユーザが入力部4を操作して3次元仮想物体の配置位置変更指示を入力し、ステップS602においてCPU1がこの配置位置変更指示を検知すると、ステップS603に進み、検知していない限りは処理はステップS602で待機する。
【0064】
ステップS603ではCPU1は、それぞれの3次元仮想物体を円周に沿って移動させる。
【0065】
そして、ユーザが入力部4を操作して折り紙作品の決定指示を入力し、ステップS604においてCPU1がこの決定指示を検知すると、ステップS605に進み、検知していない限りは処理はステップS604で待機する。ここでは選択された折り紙作品の一例として、折り紙作品「飛行機」とする。
【0066】
ステップS605では、CPU1は、以降の処理をオートモードで行うのか、マニュアルモードで行うのかをユーザにさせるためのダイアログ画面をディスプレイモニタ5の表示画面上に表示させる。マニュアルモードは、模様画像において折り紙の展開図にレイアウトする領域を、図4のGUI403を用いてユーザが指示するモードであり、オートモードは、模様画像における上記の領域を、自動で決定するモードである。
【0067】
ステップS605におけるモード選択について図9を用いて説明する。図9では、折り紙作品「飛行機」が選択された状態である。この場合、ステップS605では、折り紙作品「飛行機」についての以降の処理をオートモードで行うのか、マニュアルモードで行うのかをユーザに選択させるためのダイアログ画面701をディスプレイモニタ5の表示画面上に表示する。ユーザが入力部4を操作してボタン画像702を指示すると、CPU1はオートモードを設定する。一方、ユーザが入力部4を操作してボタン画像703を指示すると、CPU1はマニュアルモードを設定する。
【0068】
そして、オートモードが設定された場合、処理はステップS606を介して図8に示すステップS622に進み、マニュアルモードが設定された場合、処理はステップS606を介してステップS607に進む。
【0069】
ステップS607ではCPU1は、所望の3次元仮想物体が表す折り紙作品の展開図を作成するためのGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードし、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図4のGUI402が表示される。
【0070】
そしてユーザが入力部4を操作して、それぞれの模様画像4021から1つの模様画像を選択し且つ画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定した後、次の作業に進む旨の指示を入力したとする。CPU1が、ステップS608において次の作業に進む旨の指示を検知すると、処理はステップS609に進む。一方、検知していない限りは処理はステップS608で待機する。
【0071】
なお、ユーザは、展開図から画像が配置される区切り領域を指定する場合に限らず、3次元仮想物体における画像を配置する部分を指定するようにしてもよい。この場合、ユーザが指定した3次元仮想物体における部分に対応する、展開図における区切り領域が特定される。またこの場合、展開図を表示させなくても、ユーザが3次元仮想物体における所望の部分を選択することで、区切り領域を指定し、その指定された区切り領域に画像を配置することができる。
【0072】
ステップS609では、ディスプレイモニタ5の表示画面上にGUI403を表示させる。このとき、上述のS603でユーザが選択した折り紙作品に対応する形状情報が取得される。この形状情報は、上述のように、展開図の区切り領域の形状を示し、また模様画像から抽出される画像の形状を示す。そして、図4のGUI403に示すように、ユーザが選択した模様画像に、上記の形状情報に対応するトリミング枠を表示する。更にステップS610ではCPU1は、ユーザが選択した区切り領域に関連づけられている3次元仮想物体の部分を、他の部分と異なる表示形態で表示する。このとき、ユーザが3次元仮想物体において画像を配置する部分を指定した場合には、ユーザが指定した部分に対応する展開図における区切り領域を、他の区切り領域と異なる表示形態で表示する。
【0073】
ユーザは入力部4を操作して、画像領域4035を模様画像4034内で移動させたり、回転させたり、拡大/縮小させたりすることができる。したがって、S611において、このような何れかの操作がなされたことをCPU1が検知すると、処理は図7のステップS612に進み、検知していない限りはステップS611で待機する。なお、上記のように、画像領域4035が移動、回転、変倍されると、その画像領域4035に変化に応じて、変化後の画像領域4035により抽出される画像が、GUI403に表示される。
【0074】
ステップS612ではCPU1は、模様画像4034から画像領域4035内の画像を抽出し、この抽出した画像を展開図の画像4022において指定した区切り領域のサイズに拡大縮小して該区切り領域内に表示させる。ユーザが、折り紙の完成時においては隣接するが、展開図において分離している2つ以上の区切り領域を指定した場合は、上記の通り、抽出した画像をそれぞれの区切り領域に対して分割して表示する。
【0075】
次にステップS615において、ユーザが入力部4を操作してGUI403におけるプレビューボタンを指示したことをCPU1が検知すると、処理はステップS616に進み、検知していない場合は処理はステップS613に進む。
【0076】
ステップS613では、ステップS608における模様画像、区切り領域の選択に加えて、更に模様画像、区切り領域を選択したか判定する。ユーザが入力部4を操作して、複数の模様画像4021から1つの模様画像を選択し且つ画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定した後、次の作業に進む旨の指示を入力したとする。すると、ステップS613において、次の作業に進む旨の指示の入力をCPU1が検知した場合、処理はステップS614に進み、検知していない場合は処理はステップS615に進む。
【0077】
次に、ステップS614ではCPU1は、上述したS610と同様に、ユーザが選択した区切り領域に関連づけられている3次元仮想物体の部分を、他の部分と異なる表示形態で表示する。そして処理はステップS611に戻り、今回選択した区切り領域について以降の処理を行う。
【0078】
一方、ステップS615においてユーザにより印刷プレビューが指示された場合に、ステップS616でCPU1は、図10に例示する印刷プレビュー画面をディスプレイモニタ5の表示画面上に表示させる。この印刷プレビュー画面に表示される展開図の画像は、上記のGUIを用いて区切り領域に抽出画像を貼り付けた画像である。
【0079】
また、図10に示す印刷プレビュー画面において、ユーザが入力部4を操作してチェックボックス1001にチェックをつけると、展開図の画像上に記されている折れ線も印刷するように印刷設定がなされる。一方、チェックボックス1001のチェックを外すと、展開図の画像上の折れ線は印刷されないように印刷設定される。
【0080】
また、ユーザが入力部4を操作してチェックボックス1002にチェックをつけると、折り方の説明も印刷するように印刷設定がなされる。折り方の説明は、印刷する用紙において展開図以外の外枠の部分に印刷したり、折り紙作品が完成したときに折り畳まれて隠れることになる部分に印刷する。
【0081】
そしてユーザが入力部4を操作して印刷ボタンを指示し、ステップS617においてCPU1がこの印刷指示を検知すると、処理はステップS618に進み、検知していない限りは処理はステップS617で待機する。
【0082】
ステップS618では、CPU1は、図10の印刷プレビュー画面に表示した展開図の画像の印刷データを生成してプリンタ6に出力する。これによりプリンタ6からは、印刷プレビュー画面で確認した展開図の画像が印刷される。
【0083】
即ち、上記の処理において展開図の画像中の区切り領域に画像を貼り付けると、この区切り領域内のデータがこの貼り付けた画像のデータに置き換えられ、これにより展開図の画像のデータは更新される。然るにステップS618では、このようにして更新された展開図の画像の印刷データを生成してプリンタ6に送出する。
【0084】
なお、上記の処理手順では、印刷プレビューを表示させた後に、ユーザからの印刷の指示に応じて印刷を実行したが、これに限るものではない。GUI402やGUI403において、印刷プレビューのためのボタンの他に、印刷の指示のためのボタンを設け、このボタンが押下されたときには、図10に示すような印刷プレビューの表示を行わずに印刷を実行するようにすればよい。
【0085】
上述のステップS605において表示されたダイアログ画面(図9)において、ユーザがオートモードを指示し、ステップS606において、その指示を入力したことを判定すると、図8に示すステップS620に進む。
【0086】
この図8に示す例では、ユーザが「飛行機」の折り紙作品を選択しており、展開図の区切り領域のうち、飛行機の両翼に対応する2つの区切り領域(区切り領域4026)が、画像の配置対象として選択されているものとする。
【0087】
ステップS620では、上述のステップS607と同様に、図4のGUI402を表示させて、ユーザに模様画像を選択させる。そして、ユーザが模様画像を選択して、ステップS621において、その選択が確認されると、ステップS622に進む。
【0088】
なお、オートモードにおいて画像が配置される区切り領域は、ユーザがGUI402を見ながら選択してもよいし、または、所定の区切り領域(飛行機の両翼等)が、画像の配置対象として、折り紙作品に対応して予め決められていてもよい。
【0089】
ステップS622では、CPU1は、模様画像に含まれている人や動物などの顔の領域を特定して、その顔の領域の模様画像における位置、大きさ、角度を検出する処理を実行する。
【0090】
その際、この顔のサイズや位置、角度を検出する。画像中における顔の領域の検出技術については、たとえば、特開2008−35125号公報に開示されているように、周知の技術であるため、これに係る説明は省略する。
【0091】
そしてステップS623では、CPU1は、ステップS622において、模様画像から検出された顔の領域の位置、大きさ、角度に従って、その顔の領域を含むように、抽出対象の領域を決定する。具体的には、模様画像における顔の領域の位置と大きさに合わせて、飛行機の両翼の形状である画像領域4035が当該顔領域を最大サイズで含むように、画像領域の位置と大きさを決定する。また、飛行機の折り紙の完成時に、両翼に対して顔が正対するように、模様画像に対する画像領域の角度を決定する。
【0092】
なお、ステップS622において、顔の領域が検出されなかった場合には、ステップS623では、画像における所定の領域を抽出するようにする。例えば、画像の中心と抽出領域の中心を一致させ、且つ最大サイズの抽出領域となるように、画像を抽出して、展開図に配置するようにしてもよい。
【0093】
また、このステップS623では、上記のように自動で決定した抽出対象の領域を示す画面をディスプレイモニタ5の表示画面上に表示させる。例えば、図4のGUI403に示す画面のように、模様画像において決定した抽出対象の領域を示す画像領域4035や、また模様画像から抽出された画像が配置された展開図4022、3次元仮想物体4033を表示させる。ユーザはこのGUIを見ることによって、顔領域に従って自動で決定した抽出対象の領域により画像を抽出して、画像のレイアウトを行ってもよいか判断することができる。また、飛行機の両翼のように、2つ以上の区切り領域が指定されていた場合は、上記の通り、顔の領域内の画像をそれぞれの区切り領域に対して分割して表示する。
【0094】
ユーザは、また、「パクパク」などの特定の種類の折り紙作品が選択されている場合には、不図示のGUIを用いて「パースペクティブ補正をするか否か」を設定することができる。然るにステップS625ではCPU1は、このようなGUIをディスプレイモニタ5の表示画面上に表示し、パースペクティブ補正を行うか否かの指示を受け付ける。そしてパースペクティブ補正を行う旨の指示の入力を検知すると、CPU1は、ステップS623で貼り付けた画像のパースペクティブ補正を行う。
【0095】
たとえば、折り紙作品「パクパク」は折り紙工作が完成したときに袋になっている4つの部分にそれぞれ指を入れ、この4本の指を離したりくっつけたりして遊ぶことのできるものであるが、たてに開いた場合と横に開いた場合に見えている面が異なる。そのため、これらそれぞれの面に、たとえば「笑った顔」「怒った顔」等、対照的な画像が印刷されていると、より楽しく遊ぶことが可能になる。他方、たて・横に開いた場合に見えている面は見る角度に対して斜めになるため、パースペクティブを補正しない場合は見え方が不自然になる。パースペクティブ補正をすることにより、折り紙工作のための用紙を、折り紙工作が完成されたときにユーザー選択の画像の見え方が自然になるように作成することができるようになる。
【0096】
次に、ユーザが、ステップS623において表示されたGUIにおいて、入力部4を操作して印刷プレビューを行う指示を入力し、ステップS626においてCPU1がこれを検知すると、処理はステップS627に進む。一方、検知していない限り処理はステップS626で待機する。
【0097】
ステップS627ではCPU1は、図5に例示するような印刷プレビュー画面をディスプレイモニタ5の表示画面上に表示する。印刷プレビュー画面は、折り紙作品が完成した際の外観の画像にユーザ選択画像が反映されたものである。ユーザは印刷プレビュー画像を見ることにより、ユーザが選択した模様画像が、折り紙作品が完成した際の外観においてどのように表れるかを確認することができる。
【0098】
そして、ユーザが図5に示す印刷プレビュー画面において印刷実行の指示を行うと、ステップS628において、その印刷実行の指示が検出されて、ステップS629において、印刷が実行される。なお、このステップS628、S629の処理は、それぞれステップS617、S618の処理と同様であるので、詳細な説明は省略する。
【0099】
以上のように、オートモードにより模様画像における抽出領域を自動で決定した場合には、模様画像における顔領域が適切に抽出されて、折り紙の展開図に配置される。そのため、ユーザは簡単な操作により、模様画像から適切に画像を抽出させて、折り紙に配置することができる。
【0100】
なお、オートモードにおいて模様画像から検出される領域は顔に限らず、画像に含まれる任意のオブジェクトを自動で検出してよい。また、画像が配置されている区切り領域は、上記のように所定のものであってもよいし、ユーザがGUIを用いて選択するものであってもよい。また、ユーザがオートモードを選択したときには、折り紙の展開図や、3次元仮想物体を表示させないようにしてもよい。
【0101】
即ち各折り紙作品において画像が配置される区切り領域が予め決まっており、ユーザが折り紙作品と画像を選択しオートモードを指定したとき、ユーザが選択した画像における抽出領域が自動で決定され、抽出領域の画像が上記の所定の区切り領域に配置される。そして、展開図に画像が配置された印刷プレビューの表示、または印刷処理を行えばよい。
【0102】
これによりユーザは、折り紙作品の種類と画像を選択し、オートモードを指定することで、画像が適切に配置された展開図を印刷させることができる。
【0103】
ここで、「飛行機」以外の折り紙作品に画像を配置する例について、図11を用いて説明する。図11では、折り紙作品「パクパク」に画像を配置するときの表示画面を示す。
【0104】
GUI1101は、図4のGUI403と同様の、模様画像を展開図の画像中の指定領域に貼り付けるためのGUIである。なお、折り紙作品「パクパク」の場合、ユーザによる折り紙の開き方によって、異なる面が表面に現れる。そこで、「パクパク」を閉じたときに現れる画像、また「パクパク」の2通りの開き方のそれぞれで現れる画像の、計3種類の画像を模様画像として選択できるものとする。ここでは、「パクパク」を閉じたときの画像(星形)、1つ目の開き方のときの画像(四角)、2つ目の開き方のときの画像(丸)を、ユーザが選択するものとする。
【0105】
このGUI1101においてプレビューボタンを指示すると、ディスプレイモニタ5の表示画面上にはGUI1102(印刷プレビュー画面)が表示される。一方GUI1101の「完成イメージ」ボタンが指示されると、CPU1は「パクパク」を閉じたとき、また2通りの開き方で開いたときの完成イメージとしてGUI1103,1104,1105を順次切り替えてディスプレイモニタ5の表示画面上に表示する。GUI1103,1104,1105はそれぞれ、外面図、内面図(縦)、内面図(横)である。この完成イメージの切り替えは、ユーザが指示することにより、表示対象の完成イメージを切り替えてもよいし、所定時間ごとに完成イメージを順次切り替えるようにしてもよい。
【0106】
なお、このときパースペクティブ補正が実行されており、遠近方向に歪んでいるものを正対しているように見せるための周知の補正が行われて、星の画像、四角の画像、丸の画像が、適切に見えるようになっている。
【0107】
[第2の実施形態]
図4のGUIなどで、ユーザが指定した区切り領域に対して模様画像から抽出した画像を貼り付けると、この指定した区切り領域に関連づけられている3次元仮想物体の部分にもこの画像を貼り付ける(テクスチャマッピング技術で可能)ようにしてもよい。これにより、画像が貼り付けられた展開図を用いた折り紙作品を確認することができる。
【0108】
以上の実施例によれば、ユーザは、複数の画像から折り紙に配置する画像を選択して、その選択した画像から抽出された画像を、折り紙の展開図に配置させることができる。また、ユーザは、画像が配置されたときの、完成時の折り紙作品を確認しながら、画像から抽出される領域を指定することができる。
【0109】
さらに、ユーザが折り紙作品の種類を選択すると、その折り紙作品の展開図における区切り領域の形状にあったトリミング枠が表示されて、そのトリミング枠内の画像を抽出することができる。そのため、ユーザは、そのトリミング枠に従って画像を抽出することで、画像が配置される区切り領域の形状に合った画像を適切に抽出して、抽出された画像をその区切り領域に配置することができる。よって、ユーザは、折り紙の展開図に合わせてトリミング枠を指定しなくても、画像から適切な形状の画像を抽出して、区切り領域に適切に配置することができる。
【0110】
また、折り紙の完成時において隣接する複数の区切り領域であっても、展開図においては、その複数の区切り領域が隣接しないことがある。この場合でも、折り紙の完成時において隣接するように、ユーザが選択した画像から適切に画像を抽出して、その抽出された画像を分割して展開図に配置することができる。これにより、ユーザが展開図を折ると、ユーザが選択した画像から抽出された画像が適切に配置されている折り紙作品を得ることができる。
【0111】
さらに、ユーザが上記のオートモードを選択した場合には、ユーザが選択した画像から抽出される領域を自動で決定することができる。よって、ユーザは、画像から抽出される領域を指定しなくても、画像を適切に抽出させることができる。
【0112】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0113】
さらに、本発明は、1つのプロセッサにより実行されるものに限らず、複数のプロセッサが協働することによっても実現することができる。
【0114】
また、以上の実施例では、プリンタとは別の画像処理装置が処理を実行する例を示した。しかしこれに限らず、プリンタが上記のCPU1、記憶装置2、RAM3を含み、画像処理装置として動作して、以上の実施例で示した処理を実行することによっても、本発明を実現することができる。
【技術分野】
【0001】
本発明は、折り紙作品の展開図に画像を配置するための技術に関するものである。
【背景技術】
【0002】
ユーザが折り紙工作を行うために、折り紙作品の展開図を印刷する技術がある。特許文献1には、折り紙の完成図を表示させる技術が記載されている。そして、ユーザがその折り紙の完成図に対して着色を指示すると、折り紙の完成時にユーザが指示した箇所に着色が施されているように、展開図に着色することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−33569号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、ユーザが任意に選択した画像を折り紙作品にレイアウトすることはできない。また、ユーザが選択した画像は折り紙作品に配置されるための形状であるとは限らず、完成時の折り紙においてユーザにより選択された画像がどのように配置されるのか、ユーザが判断することが困難な場合がある。そのため、ユーザが選択した画像を折り紙の展開図に適切に配置できない場合がある。
【0005】
本発明はこのような問題に鑑みてなされたものであり、ユーザが選択した画像を、折り紙の展開図に適切に配置することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の画像処理装置は、折り紙作品を作成するための展開図に画像を配置する画像処理装置であって、ユーザによる指示に応じて、メモリに記憶されている複数の画像から、前記展開図に配置する画像を選択する選択手段と、前記展開図における、当該展開図の折り位置により区切られた複数の区切り領域に合うように、前記選択手段により選択された選択画像における、当該複数の区切り領域への配置対象の領域を特定する特定手段と、前記選択画像における前記特定手段により特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を、表示装置に表示させる表示制御手段と、前記表示制御手段による表示に基づくユーザによる指示に応じて、前記選択画像における前記配置対象の領域の画像を、前記展開図における前記複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する配置手段と、を有することを特徴とする。
【発明の効果】
【0007】
本発明の構成によれば、ユーザは、ユーザが選択した選択画像における配置領域の画像が展開図に配置され、当該展開図により折り紙作品が作成されたときの、当該配置対象の領域の画像を確認することができる。よって、ユーザは、折り紙の展開図に適切に画像を配置させることができる。
【図面の簡単な説明】
【0008】
【図1】画像処理装置とその周辺機器の構成例を示すブロック図。
【図2】展開図の画像の例を示す図。
【図3】GUIの表示例を示す図。
【図4】GUIの表示例を示す図。
【図5】印刷プレビュー画面の表示例を示す図。
【図6】画像処理装置が行う処理のフローチャート。
【図7】画像処理装置が行う処理のフローチャート。
【図8】画像処理装置が行う処理のフローチャート。
【図9】モード設定のためのダイアログ画面の表示例を示す図。
【図10】印刷プレビュー画面の表示例を示す図。
【図11】折り紙作品「パクパク」に画像を配置するときの表示画面を示す図。
【発明を実施するための形態】
【0009】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の一つである。
【0010】
[第1の実施形態]
先ず、本実施形態に係る画像処理装置とその周辺機器について、図1のブロック図を用いて説明する。画像処理装置の本体部7はCPU1、RAM3、記憶装置2を有する。CPU1は、RAM3をワークメモリとして、記憶装置2に格納されているコンピュータプログラムを実行することにより、画像処理装置全体の動作制御を行うと共に、後述する各処理を実行する。
【0011】
RAM3は、記憶装置2からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアや、CPU1が各種の処理を実行する際に用いるワークエリア等を有する。即ち、RAM3は、各種のエリアを適宜提供することができる。
【0012】
記憶装置2は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。記憶装置2には、OS(オペレーティングシステム)、後述するGUI(グラフィカルユーザインターフェース)のコンピュータプログラムやデータ、後述する3次元仮想物体や展開図の画像、模様画像などのデータが保存されている。また、記憶装置2には、プリンタ6のドライバプログラムや、画像処理装置が行うものとして後述する各処理をCPU1に実行させるためのコンピュータプログラムやデータ等も保存されている。記憶装置2に保存されているコンピュータプログラムやデータは、CPU1による制御に従って適宜RAM3にロードされ、CPU1による処理対象となる。
【0013】
本体部7にはディスプレイモニタ5が接続されており、このディスプレイモニタ5は、CPU1による処理結果を画像や文字などでもって表示することができる。例えば、後述するGUIを表示する。なお、ディスプレイモニタ5には、CRTや液晶画面などを適用することができる。
【0014】
また、本体部7には、入力部4が接続されている。入力部4は、マウスやキーボードなどにより構成されており、ユーザが操作することで各種の指示をCPU1に対して入力することができる。
【0015】
また、本体部7には、プリンタ6が接続されている。プリンタ6は、本体部7から送出された印刷データに従って画像や文字などを紙などの記録媒体上に印刷するものであり、プリンタ6の記録方式については特に限定するものではなく、印刷可能な装置であれば、如何なる印刷装置であってもよい。
【0016】
なお、本実施形態では図1に示す構成を採用するが、以下に説明する各処理が実行可能な構成であれば、如何なる構成を採用してもよい。例えば、図1に示す各部を有する複合機を本実施形態に適用してもよいし、本体部7、ディスプレイモニタ5、入力部4を有する画像処理装置と、プリンタ6と、を有するシステムを本実施形態に適用してもよい。
【0017】
次に、本実施形態に係る画像処理装置の動作について説明する。本実施形態に係る画像処理装置は、折り紙作品の展開図を印刷する為のものであって、この展開図は、ユーザが指定した画像が貼り付けられた折り紙作品の展開図である。また、以下では、特に説明がない限りは、GUIの表示制御は何れもCPU1が行っているものとする。
【0018】
記憶装置2には、次のようなデータが格納されている。即ち、折り紙作品(ユーザが紙を折って作り上げた作品)を表す3次元仮想物のデータ、該折り紙作品を作成するための折れ線が記された展開図の画像のデータ、折り紙の展開図に配置され、折り紙作品の模様として用いるための模様画像データ、である。即ち、記憶装置2には、折り紙作品ごとに、3次元仮想物体のデータ及び展開図の画像のデータが格納されている。また、それとは別に、記憶装置2には、3次元仮想物体の模様として使用可能な複数の画像が模様画像として保存されている。そして、ユーザが、その複数の模様画像から所望のものを選択すると、その選択された模様画像を、折り紙の展開図に配置することができる。
【0019】
なお、3次元仮想物体のデータは、例えば、3次元仮想物体がポリゴンで構成されている場合は、各ポリゴンの色や法線ベクトルのデータ、各ポリゴンの頂点の位置データ、等を含むデータである。即ち、3次元仮想物体を描画可能なデータであれば、如何なるデータを「3次元仮想物体のデータ」として用いてもよい。
【0020】
展開図の画像は、例えば、図2に示す如く、折り紙作品を作成するためにユーザが折るべき折り位置を示す折れ線(谷折りや山折り)が記された折り紙の画像であり、ユーザがこの折れ線に従って紙を折れば、折り紙作品を作成することができる。図2(a)は、折り紙作品「飛行機」の展開図の画像を示しており、図2(b)は、折り紙作品「つる」の展開図の画像を示しており、図2(c)は、折り紙作品「パクパク」の展開図の画像を示している。
【0021】
記憶装置2には、折り紙作品ごとに、折り紙の展開図に模様画像をレイアウトするためのレイアウト情報が格納されている。このレイアウト情報は、折り紙の展開図において折れ線で区切られた各区切り領域の形状や大きさ、各区切り領域の展開図における位置や向きを示す。ユーザにより所望の折り紙作品が選択されると、その折り紙作品に対応するレイアウト情報が、記憶装置2から取得される。そして、模様画像を展開図に配置するときには、上記のレイアウト情報に従って、展開図において画像を配置する領域の形状や大きさに合うように模様画像の一部を抽出し、抽出した画像をレイアウト情報が示す領域に配置する。これにより、模様画像を適切にレイアウトすることができる。
【0022】
なお、上記の展開図の画像に折り線を含ませるのではなく、展開図における折り位置を示す情報を記憶しておいてもよい。そして、ユーザが選択した画像を配置するときには、上記の情報に従って、折り位置により区切られる区切り領域に画像を配置する。
【0023】
さらに上記のレイアウト情報は、展開図の画像上の折れ線で区切られたそれぞれの区切り領域について、該区切り領域と、該区切り領域に対応する折り紙作品の部分を表す3次元仮想物体の部分と、を関連づけて示す。例えば、図2(a)に示した展開図の画像において左下隅の区切り領域が、折り紙作品「飛行機」を表す3次元仮想物体が有するポリゴンのどのポリゴンに対応しているのかを管理している。これは、他の折り紙作品についても同様である。
【0024】
従って、このレイアウト情報により、完成時の折り紙作品における領域に対応する、展開図の区切り領域を判断することができる。よって、折り紙作品において画像を配置するのに適切な部分を特定して、その特定した部分に対応する展開図の区切り領域に画像を配置することにより、模様画像を適切にレイアウトすることができる。
【0025】
さらに、折り紙の展開図と、上記の3次元仮想物体を表示させるときには、上記のレイアウト情報を参照することにより、ユーザが展開図において指定した区切り領域に対応する、3次元仮想物体における領域を判断して、その領域をユーザに示すことができる。また逆に、ユーザが3次元仮想物体において指定した領域に対応する、展開図における区切り領域を判断して、ユーザに示すことができる。
【0026】
以上の模様画像のレイアウト処理、また展開図や3次元仮想物体の表示制御処理の詳細については後述する。
【0027】
なお、上記の模様画像は、どのような画像であってもよく、例えばユーザが撮像装置を用いて撮像した画像や、アプリケーションソフトを用いて編集/作成した画像などを模様画像として用いてもよい。然るに記憶装置2には、このような様々な画像を模様画像として登録することができる。
【0028】
さらに、模様画像は画像処理装置にどのように提供されるものであってもよく、例えば画像処理装置の外部のメモリから供給された画像や、画像処理装置がインターネット等のネットワークを介して取得された画像であってもよい。
【0029】
次に、ユーザの各種の操作を行うための操作画面について説明する。ユーザが入力部4を用いて、折り紙作品を選択するためのGUIの起動指示を入力すると、CPU1はこの起動指示を検知し、このGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードする。そしてCPU1は、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図3のGUI301が表示される。
【0030】
GUI301は、折り紙作品を選択するためのGUIである。GUI301を表示するためにCPU1は先ず、記憶装置2に保存されている複数の折り紙作品のそれぞれに対応する3次元仮想物体のデータをRAM3にロードし、ロードしたデータを用いてそれぞれの3次元仮想物体を生成する。そしてCPU1は、GUI301に示す如く、それぞれの3次元仮想物体を円周上に配置する。もちろん、配置位置はこれに限るものではない。そしてこれら3次元仮想物体を配置した仮想空間を所定の位置姿勢を有する視点から見た画像を、GUI301として表示する。
【0031】
そしてユーザが入力部4を操作し、3次元仮想物体の配置位置変更指示を入力すると、CPU1は、それぞれの3次元仮想物体を円周に沿って移動させる。これにより、GUI3011、GUI3012、というように、ディスプレイモニタ5の画面は切り替わる。このように、もっとも手前に位置する3次元仮想物体は1つずつ変更されるため、ユーザは所望の3次元仮想物体がもっとも手前に位置するように上記の配置位置変更指示を入力し続ける。
【0032】
そして所望の3次元仮想物体がもっとも手前に位置した状態でユーザが入力部4を操作して決定指示を入力したとする。するとCPU1は、所望の3次元仮想物体が表す折り紙作品の展開図やレイアウト情報を、記憶装置2から読み出す。また、その折り紙作品の3次元仮想物体や展開図を表示するためのGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードし、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図4のGUI402が表示される。
【0033】
以下では、折り紙作品「飛行機」を表す3次元仮想物体がもっとも手前に位置した状態でユーザが入力部4を操作して決定指示を入力した場合に、CPU1が行う処理について説明する。しかし、他の折り紙作品を表す3次元仮想物体がもっとも手前に位置した状態でユーザが入力部4を操作して決定指示を入力したとしても、以下の説明は同様に適用することができる。また、折り紙作品を選択するための方法については上記の方法に限るものではなく、他の構成のGUIを用いて選択してもよいし、折り紙作品の名称を直接入力してもよい。
【0034】
図4に示す如く、GUI402には、記憶装置2からRAM3にロードされたそれぞれの模様画像4021、折り紙作品「飛行機」の展開図の画像4022、が表示されている。
【0035】
ユーザは入力部4を操作して、記憶装置2に記憶されている複数の模様画像4021のうち1つを選択することができる。なお、GUI02の構成や面積の都合上、記憶装置2に格納されている全ての模様画像をこのGUI402内に表示しきれない場合は、所定個数ごとに表示し、次の所定個数の表示を所望する場合はその旨の指示をユーザが入力部4を操作して入力すればよい。
【0036】
また、ユーザは入力部4を操作して、画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定することができる。ただし、展開図の区切り領域の全てが画像を配置するために適切な区切り領域であるとは限らず、例えば画像を配置したとしても、折り紙の完成時にその画像を確認することができない区切り領域も存在する。そこで、画像を配置する区切り領域としてユーザが全ての区切り領域を指定することができるようにするのではなく、指定可能な区切り領域を予め設定しておき、指定不可能な区切り領域の指定は受け付けないようにしてもよい。
【0037】
例えば図4に示す例の場合、区切り領域4026や区切り領域4037は、飛行機の折り紙の完成時において、折り紙の表面に現れるため、画像を配置するための区切り領域として指定可能にする。一方、飛行機の完成時において、表面に現れない区切り領域は、画像を配置する区切り領域として指定できないようにする。
【0038】
これによりユーザは、展開図における適切な区切り領域に画像を配置することができる。また、画像を配置する区切り領域の指定方法は様々な方法を用いてよい。例えば、いくつかの区切り領域を関連づけておき、1つの区切り領域が指定されると、この区切り領域と関連づけられている他の区切り領域も指定状態にするようにしてもよい。なお、関連付けがある区切り領域とは、例えば折り紙作品の完成時において隣接する複数の区切り領域である。図4に示す例の場合、飛行機の両翼に対応する区切り領域4026の、両翼のいずれか一方に対応する区切り領域が、ユーザが入力部4を操作することにより指定された場合、もう一方の翼に対応する区切り領域も画像の配置対象として指定するようにしてもよい。
【0039】
または、両翼のそれぞれに対応する区切り領域を、ユーザが個別に指定するようにしてもよい。このとき、左右の翼に、それぞれ異なる2つの模様画像を配置するようにしてもよい。
【0040】
なお、展開図において画像の配置対象として適切な区切り領域を示す情報や、飛行機の両翼など、関連する複数の区切り領域を示す情報は、折り紙作品ごとに記憶装置2に記憶しておき、画像を展開するときに、その情報を参照するようにすればよい。
【0041】
そしてユーザは、複数の模様画像4021から1つの模様画像を選択し、且つ画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定した後で、次の作業に進む旨の指示を入力部4を操作して入力する。CPU1は、次の作業に進む旨の指示を検知すると、GUI402の代わりにGUI403をディスプレイモニタ5の表示画面上に表示する。なお、このような選択及び指定をCPU1が検知してからGUI403をディスプレイモニタ5の表示画面上に表示するようにしてもよい。
【0042】
GUI403には、模様画像4021、展開図の画像4022に加え、折り紙作品「飛行機」を表す3次元仮想物体4033、複数の模様画像4021のうちユーザによって選択された模様画像4034、も表示される。更に模様画像4034には、ユーザが指定した2つの区切り領域4026の組み合わせに応じた形状を有する1つの画像領域4035のトリミング枠が重ねて表示されている。
【0043】
このトリミング枠は、折り紙の完成時において隣接する飛行機の両翼に対応するものであり、後述するトリミング処理によってトリミング枠内の画像が抽出された画像が、飛行機の両翼にレイアウトされる。
【0044】
なお、このトリミング枠の形状は、上述したレイアウト情報が示す、区切り領域の形状により特定される。ただし、この場合、画像が配置される2つの区切り領域4026は飛行機の両翼に対応するため、3次元仮想物体上では互いに隣接している。しかし、展開図においては両翼のそれぞれに対応する区切り領域は隣接しておらず、この2つの区切り領域4026で1つの領域(3次元仮想物体4033においてハッチングしている部分)を形成している。然るに、記憶装置2には、レイアウト情報が示す2つの区切り領域4026の形状が組み合わされた1つの画像領域の形状を示す情報(形状情報)が予め関連づけて登録されている。
【0045】
そして、この形状情報が示す画像領域の形状に従って、その形状に合うように、模様画像から画像を抽出する。また、その抽出された画像を、形状情報が示す画像領域の形状に従って分割する。例えば飛行機の例の場合、形状情報は、飛行機の両翼のそれぞれに対応する、左右対称の2つの区切り領域の形状を示す。そこで、模様画像から抽出された画像を、上記の2つの区切り領域に合わせるために左右対称になるように2つに分割する。そして、分割された2つの画像(分割画像)を、展開図の2つの区切り領域4026に配置する。なお、1つの区切り領域に対して画像を配置するときには、レイアウト情報が示す1つの区切り領域の形状が、形状情報が示す、画像領域の形状となる。
【0046】
そして、ユーザが2つの区切り領域4026を指定すると、これに対応する形状情報を記憶装置2から取得して、この形状情報が示す形状の画像領域4035のトリミング枠を模様画像4034上に重ねて表示することが可能となる。なお、枠の代わりに、ハッチングされた画像領域4035を表示してもよい。
【0047】
また、この形状情報には、この形状情報が示す形状の画像領域内で一方の区切り領域4026に対応する領域を示す情報、他方の区切り領域4026に対応する領域を示す情報、も含まれている。画像領域4035の場合、左半分は展開図の画像4022において左側の区切り領域4026、右半分は展開図の画像4022において右側の区切り領域4026に対応するため、この対応関係も形状情報に含まれているものとする。
【0048】
また、2つの区切り領域4026を指定したので、この2つの区切り領域4026のそれぞれに関連づけられている3次元仮想物体4033の部分(ハッチングしている部分)を、他の部分と異なる表示形態で表示する。表示方法は特に限定するものではないが、他の部分と異なる色や透明度で表示してもよいし、他の部分とは異なる点滅速度で表示してもよい。なお、この表示は、上記のレイアウト情報を参照して、展開図における区切り領域に対応する3次元仮想物体の部分を特定し、特定された部分の表示形態を変更することで実現することができる。
【0049】
ユーザは入力部4を操作して、画像領域4035を模様画像4034内で移動させたり、回転させたり、拡大/縮小させたりすることで、模様画像4034から抽出する領域の向きや大きさを変更することができる。なお、このように画像領域4035を移動させたり回転させたり拡大/縮小させたりするたびに、CPU1は、模様画像4034から画像領域4035内の画像を抽出して、GUI403に反映する。よって、ユーザは、画像領域4035により抽出されて、折り紙に配置される画像を確認しながら、画像領域4035の移動、回転、変倍を行うことができる。
【0050】
そして、レイアウト情報が示す区切り領域の大きさや向きを参照して、形状情報が示す画像領域4035の大きさや向きに応じて抽出した画像の左半分を展開図の画像4022の左側の区切り領域4026のサイズに拡大縮小する。そして拡大縮小したものを該左側の区切り領域4026内に表示させる(貼り付ける)。また、この抽出した画像の右半分を展開図の画像4022の右側の区切り領域4026のサイズに拡大縮小して該右側の区切り領域4026内に表示させる(貼り付ける)。
【0051】
このように、展開図の画像上の複数の区切り領域から、折り紙作品の完成時において隣接する2つ以上の区切り領域が指定領域として指定されると、模様画像上に、該2つ以上の区切り領域の組み合わせに応じた形状を有する1つの画像領域を設定する。そして、画像領域を2つ以上の区切り領域のそれぞれに対する小領域に分割し、該区切り領域に対する小領域を、該区切り領域内(指定領域内)に表示する模様画像内の画像の領域として指定する。
【0052】
以上の操作により、2つの区切り領域4026のそれぞれに表示する画像を、模様画像4034から取得することができる。このように、折り紙の完成時に画像の構図が適切になるように、模様画像から抽出した画像を分割して、区切り領域の形状や大きさ、向きに合うようにレイアウトすることができる。そのためユーザは、模様画像を折り紙に簡単にレイアウトすることができる。
【0053】
次に、GUI403において、上記の飛行機の両翼に対応する区切り領域4026とは異なる、2つの区切り領域4037が指定されたとする。この指定については、2つの区切り領域4026と同様である。更にユーザは、この2つの区切り領域4037に貼り付けたい画像を、それぞれの模様画像4021から選択する。ただし、模様画像は従前に使用していたものをそのまま用いてもよい。そしてユーザは、複数の模様画像4021から1つの模様画像を選択し、且つ2つの区切り領域4037を指定領域として指定した後で、次の作業に進む旨の指示を入力部4を操作して入力する。従前に使用していた模様画像を今回も使用する場合は、ユーザは、2つの区切り領域4037を指定領域として指定した後で、次の作業に進む旨の指示を入力部4を操作して入力する。
【0054】
CPU1は、次の作業に進む旨の指示を検知すると、GUI403の代わりにGUI404をディスプレイモニタ5の表示画面上に表示する。なお、このような選択及び指定をCPU1が検知してからGUI404をディスプレイモニタ5の表示画面上に表示するようにしてもよい。
【0055】
GUI404では、GUI403の表示内容において模様画像4034が今回選択した模様画像4048に切り替わっており、今回指定した2つの区切り領域4037の組み合わせに応じた形状を有する1つの画像領域4049の枠が重ねて表示されている。
【0056】
また、2つの区切り領域4037を指定したので、GUI403の場合と同様、この2つの区切り領域4037のそれぞれに関連づけられている3次元仮想物体4033の部分を、他の部分と異なる表示形態で表示する。
【0057】
ユーザは入力部4を操作して、画像領域4049を模様画像4048内で移動させたり、回転させたり、拡大/縮小させたりすることができるので、GUI403の場合と同様、模様画像4048から画像領域4049内の画像を抽出する。そして、抽出した画像の左半分を展開図の画像4022の左側の区切り領域4037のサイズに拡大縮小して該左側の区切り領域4037内に表示させる。また、この抽出した画像の右半分を展開図の画像4022の右側の区切り領域4037のサイズに拡大縮小して該右側の区切り領域4037内に表示させる。
【0058】
このように、各区切り領域に対して、ユーザが選択した画像を貼り付けることができる。なお、上記の例では、2つ以上の区切り領域を選択した場合について説明したが、1つのみの区切り領域を選択する場合であっても、上記の実施形態は同様に適用することができる。即ち、1つの区切り領域を指定し且つ1つの模様画像を選択すると、選択した模様画像上に、指定した区切り領域と同じ形状の画像領域の枠を重ねて表示する。そしてこの画像領域を移動させたり回転させたり拡大/縮小させたりすると、この画像領域内の画像を指定した区切り領域内に貼り付ける。
【0059】
以上の構成により、ユーザは、任意に選択した画像中の任意の部分が、折り紙工作が完成した際の外観においてどのように表れるかを確認しながら、折り紙工作のための用紙を作成することができる。
【0060】
次に、ユーザと対話しながら折り紙作品の展開図を作成して印刷する為に画像処理装置が行う処理について、同処理のフローチャートを示す図6〜8を用いて説明する。なお、図6〜8のフローチャートに従った処理は何れもCPU1が行う。図6〜8のフローチャートに従った処理をCPU1に実行させるためのコンピュータプログラムやデータは記憶装置2に保存されている。然るに、CPU1がこのコンピュータプログラムやデータをRAM3にロードし、これを用いて処理を実行することで、本実施形態に係る画像処理装置は、図6〜8のフローチャートに従った処理を実行することができる。
【0061】
また、以下に説明する各ステップのうちいくつかについては上記ですでに説明済みであり、その変形例についてもすでに説明済みであるため、このようなステップについてはその一例を挙げて簡単に説明している。
【0062】
ユーザが入力部4を用いて、折り紙作品を選択するためのGUIの起動指示を入力すると、ステップS601においてCPU1はこの起動指示を検知し、このGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードする。そしてCPU1は、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図3のGUI301が表示される。
【0063】
そして、ユーザが入力部4を操作して3次元仮想物体の配置位置変更指示を入力し、ステップS602においてCPU1がこの配置位置変更指示を検知すると、ステップS603に進み、検知していない限りは処理はステップS602で待機する。
【0064】
ステップS603ではCPU1は、それぞれの3次元仮想物体を円周に沿って移動させる。
【0065】
そして、ユーザが入力部4を操作して折り紙作品の決定指示を入力し、ステップS604においてCPU1がこの決定指示を検知すると、ステップS605に進み、検知していない限りは処理はステップS604で待機する。ここでは選択された折り紙作品の一例として、折り紙作品「飛行機」とする。
【0066】
ステップS605では、CPU1は、以降の処理をオートモードで行うのか、マニュアルモードで行うのかをユーザにさせるためのダイアログ画面をディスプレイモニタ5の表示画面上に表示させる。マニュアルモードは、模様画像において折り紙の展開図にレイアウトする領域を、図4のGUI403を用いてユーザが指示するモードであり、オートモードは、模様画像における上記の領域を、自動で決定するモードである。
【0067】
ステップS605におけるモード選択について図9を用いて説明する。図9では、折り紙作品「飛行機」が選択された状態である。この場合、ステップS605では、折り紙作品「飛行機」についての以降の処理をオートモードで行うのか、マニュアルモードで行うのかをユーザに選択させるためのダイアログ画面701をディスプレイモニタ5の表示画面上に表示する。ユーザが入力部4を操作してボタン画像702を指示すると、CPU1はオートモードを設定する。一方、ユーザが入力部4を操作してボタン画像703を指示すると、CPU1はマニュアルモードを設定する。
【0068】
そして、オートモードが設定された場合、処理はステップS606を介して図8に示すステップS622に進み、マニュアルモードが設定された場合、処理はステップS606を介してステップS607に進む。
【0069】
ステップS607ではCPU1は、所望の3次元仮想物体が表す折り紙作品の展開図を作成するためのGUIのコンピュータプログラムやデータを記憶装置2からRAM3にロードし、ロードしたコンピュータプログラムやデータを用いて処理を実行する。これによりディスプレイモニタ5の表示画面上には、図4のGUI402が表示される。
【0070】
そしてユーザが入力部4を操作して、それぞれの模様画像4021から1つの模様画像を選択し且つ画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定した後、次の作業に進む旨の指示を入力したとする。CPU1が、ステップS608において次の作業に進む旨の指示を検知すると、処理はステップS609に進む。一方、検知していない限りは処理はステップS608で待機する。
【0071】
なお、ユーザは、展開図から画像が配置される区切り領域を指定する場合に限らず、3次元仮想物体における画像を配置する部分を指定するようにしてもよい。この場合、ユーザが指定した3次元仮想物体における部分に対応する、展開図における区切り領域が特定される。またこの場合、展開図を表示させなくても、ユーザが3次元仮想物体における所望の部分を選択することで、区切り領域を指定し、その指定された区切り領域に画像を配置することができる。
【0072】
ステップS609では、ディスプレイモニタ5の表示画面上にGUI403を表示させる。このとき、上述のS603でユーザが選択した折り紙作品に対応する形状情報が取得される。この形状情報は、上述のように、展開図の区切り領域の形状を示し、また模様画像から抽出される画像の形状を示す。そして、図4のGUI403に示すように、ユーザが選択した模様画像に、上記の形状情報に対応するトリミング枠を表示する。更にステップS610ではCPU1は、ユーザが選択した区切り領域に関連づけられている3次元仮想物体の部分を、他の部分と異なる表示形態で表示する。このとき、ユーザが3次元仮想物体において画像を配置する部分を指定した場合には、ユーザが指定した部分に対応する展開図における区切り領域を、他の区切り領域と異なる表示形態で表示する。
【0073】
ユーザは入力部4を操作して、画像領域4035を模様画像4034内で移動させたり、回転させたり、拡大/縮小させたりすることができる。したがって、S611において、このような何れかの操作がなされたことをCPU1が検知すると、処理は図7のステップS612に進み、検知していない限りはステップS611で待機する。なお、上記のように、画像領域4035が移動、回転、変倍されると、その画像領域4035に変化に応じて、変化後の画像領域4035により抽出される画像が、GUI403に表示される。
【0074】
ステップS612ではCPU1は、模様画像4034から画像領域4035内の画像を抽出し、この抽出した画像を展開図の画像4022において指定した区切り領域のサイズに拡大縮小して該区切り領域内に表示させる。ユーザが、折り紙の完成時においては隣接するが、展開図において分離している2つ以上の区切り領域を指定した場合は、上記の通り、抽出した画像をそれぞれの区切り領域に対して分割して表示する。
【0075】
次にステップS615において、ユーザが入力部4を操作してGUI403におけるプレビューボタンを指示したことをCPU1が検知すると、処理はステップS616に進み、検知していない場合は処理はステップS613に進む。
【0076】
ステップS613では、ステップS608における模様画像、区切り領域の選択に加えて、更に模様画像、区切り領域を選択したか判定する。ユーザが入力部4を操作して、複数の模様画像4021から1つの模様画像を選択し且つ画像4022上のそれぞれの区切り領域から1つ以上の区切り領域を指定領域として指定した後、次の作業に進む旨の指示を入力したとする。すると、ステップS613において、次の作業に進む旨の指示の入力をCPU1が検知した場合、処理はステップS614に進み、検知していない場合は処理はステップS615に進む。
【0077】
次に、ステップS614ではCPU1は、上述したS610と同様に、ユーザが選択した区切り領域に関連づけられている3次元仮想物体の部分を、他の部分と異なる表示形態で表示する。そして処理はステップS611に戻り、今回選択した区切り領域について以降の処理を行う。
【0078】
一方、ステップS615においてユーザにより印刷プレビューが指示された場合に、ステップS616でCPU1は、図10に例示する印刷プレビュー画面をディスプレイモニタ5の表示画面上に表示させる。この印刷プレビュー画面に表示される展開図の画像は、上記のGUIを用いて区切り領域に抽出画像を貼り付けた画像である。
【0079】
また、図10に示す印刷プレビュー画面において、ユーザが入力部4を操作してチェックボックス1001にチェックをつけると、展開図の画像上に記されている折れ線も印刷するように印刷設定がなされる。一方、チェックボックス1001のチェックを外すと、展開図の画像上の折れ線は印刷されないように印刷設定される。
【0080】
また、ユーザが入力部4を操作してチェックボックス1002にチェックをつけると、折り方の説明も印刷するように印刷設定がなされる。折り方の説明は、印刷する用紙において展開図以外の外枠の部分に印刷したり、折り紙作品が完成したときに折り畳まれて隠れることになる部分に印刷する。
【0081】
そしてユーザが入力部4を操作して印刷ボタンを指示し、ステップS617においてCPU1がこの印刷指示を検知すると、処理はステップS618に進み、検知していない限りは処理はステップS617で待機する。
【0082】
ステップS618では、CPU1は、図10の印刷プレビュー画面に表示した展開図の画像の印刷データを生成してプリンタ6に出力する。これによりプリンタ6からは、印刷プレビュー画面で確認した展開図の画像が印刷される。
【0083】
即ち、上記の処理において展開図の画像中の区切り領域に画像を貼り付けると、この区切り領域内のデータがこの貼り付けた画像のデータに置き換えられ、これにより展開図の画像のデータは更新される。然るにステップS618では、このようにして更新された展開図の画像の印刷データを生成してプリンタ6に送出する。
【0084】
なお、上記の処理手順では、印刷プレビューを表示させた後に、ユーザからの印刷の指示に応じて印刷を実行したが、これに限るものではない。GUI402やGUI403において、印刷プレビューのためのボタンの他に、印刷の指示のためのボタンを設け、このボタンが押下されたときには、図10に示すような印刷プレビューの表示を行わずに印刷を実行するようにすればよい。
【0085】
上述のステップS605において表示されたダイアログ画面(図9)において、ユーザがオートモードを指示し、ステップS606において、その指示を入力したことを判定すると、図8に示すステップS620に進む。
【0086】
この図8に示す例では、ユーザが「飛行機」の折り紙作品を選択しており、展開図の区切り領域のうち、飛行機の両翼に対応する2つの区切り領域(区切り領域4026)が、画像の配置対象として選択されているものとする。
【0087】
ステップS620では、上述のステップS607と同様に、図4のGUI402を表示させて、ユーザに模様画像を選択させる。そして、ユーザが模様画像を選択して、ステップS621において、その選択が確認されると、ステップS622に進む。
【0088】
なお、オートモードにおいて画像が配置される区切り領域は、ユーザがGUI402を見ながら選択してもよいし、または、所定の区切り領域(飛行機の両翼等)が、画像の配置対象として、折り紙作品に対応して予め決められていてもよい。
【0089】
ステップS622では、CPU1は、模様画像に含まれている人や動物などの顔の領域を特定して、その顔の領域の模様画像における位置、大きさ、角度を検出する処理を実行する。
【0090】
その際、この顔のサイズや位置、角度を検出する。画像中における顔の領域の検出技術については、たとえば、特開2008−35125号公報に開示されているように、周知の技術であるため、これに係る説明は省略する。
【0091】
そしてステップS623では、CPU1は、ステップS622において、模様画像から検出された顔の領域の位置、大きさ、角度に従って、その顔の領域を含むように、抽出対象の領域を決定する。具体的には、模様画像における顔の領域の位置と大きさに合わせて、飛行機の両翼の形状である画像領域4035が当該顔領域を最大サイズで含むように、画像領域の位置と大きさを決定する。また、飛行機の折り紙の完成時に、両翼に対して顔が正対するように、模様画像に対する画像領域の角度を決定する。
【0092】
なお、ステップS622において、顔の領域が検出されなかった場合には、ステップS623では、画像における所定の領域を抽出するようにする。例えば、画像の中心と抽出領域の中心を一致させ、且つ最大サイズの抽出領域となるように、画像を抽出して、展開図に配置するようにしてもよい。
【0093】
また、このステップS623では、上記のように自動で決定した抽出対象の領域を示す画面をディスプレイモニタ5の表示画面上に表示させる。例えば、図4のGUI403に示す画面のように、模様画像において決定した抽出対象の領域を示す画像領域4035や、また模様画像から抽出された画像が配置された展開図4022、3次元仮想物体4033を表示させる。ユーザはこのGUIを見ることによって、顔領域に従って自動で決定した抽出対象の領域により画像を抽出して、画像のレイアウトを行ってもよいか判断することができる。また、飛行機の両翼のように、2つ以上の区切り領域が指定されていた場合は、上記の通り、顔の領域内の画像をそれぞれの区切り領域に対して分割して表示する。
【0094】
ユーザは、また、「パクパク」などの特定の種類の折り紙作品が選択されている場合には、不図示のGUIを用いて「パースペクティブ補正をするか否か」を設定することができる。然るにステップS625ではCPU1は、このようなGUIをディスプレイモニタ5の表示画面上に表示し、パースペクティブ補正を行うか否かの指示を受け付ける。そしてパースペクティブ補正を行う旨の指示の入力を検知すると、CPU1は、ステップS623で貼り付けた画像のパースペクティブ補正を行う。
【0095】
たとえば、折り紙作品「パクパク」は折り紙工作が完成したときに袋になっている4つの部分にそれぞれ指を入れ、この4本の指を離したりくっつけたりして遊ぶことのできるものであるが、たてに開いた場合と横に開いた場合に見えている面が異なる。そのため、これらそれぞれの面に、たとえば「笑った顔」「怒った顔」等、対照的な画像が印刷されていると、より楽しく遊ぶことが可能になる。他方、たて・横に開いた場合に見えている面は見る角度に対して斜めになるため、パースペクティブを補正しない場合は見え方が不自然になる。パースペクティブ補正をすることにより、折り紙工作のための用紙を、折り紙工作が完成されたときにユーザー選択の画像の見え方が自然になるように作成することができるようになる。
【0096】
次に、ユーザが、ステップS623において表示されたGUIにおいて、入力部4を操作して印刷プレビューを行う指示を入力し、ステップS626においてCPU1がこれを検知すると、処理はステップS627に進む。一方、検知していない限り処理はステップS626で待機する。
【0097】
ステップS627ではCPU1は、図5に例示するような印刷プレビュー画面をディスプレイモニタ5の表示画面上に表示する。印刷プレビュー画面は、折り紙作品が完成した際の外観の画像にユーザ選択画像が反映されたものである。ユーザは印刷プレビュー画像を見ることにより、ユーザが選択した模様画像が、折り紙作品が完成した際の外観においてどのように表れるかを確認することができる。
【0098】
そして、ユーザが図5に示す印刷プレビュー画面において印刷実行の指示を行うと、ステップS628において、その印刷実行の指示が検出されて、ステップS629において、印刷が実行される。なお、このステップS628、S629の処理は、それぞれステップS617、S618の処理と同様であるので、詳細な説明は省略する。
【0099】
以上のように、オートモードにより模様画像における抽出領域を自動で決定した場合には、模様画像における顔領域が適切に抽出されて、折り紙の展開図に配置される。そのため、ユーザは簡単な操作により、模様画像から適切に画像を抽出させて、折り紙に配置することができる。
【0100】
なお、オートモードにおいて模様画像から検出される領域は顔に限らず、画像に含まれる任意のオブジェクトを自動で検出してよい。また、画像が配置されている区切り領域は、上記のように所定のものであってもよいし、ユーザがGUIを用いて選択するものであってもよい。また、ユーザがオートモードを選択したときには、折り紙の展開図や、3次元仮想物体を表示させないようにしてもよい。
【0101】
即ち各折り紙作品において画像が配置される区切り領域が予め決まっており、ユーザが折り紙作品と画像を選択しオートモードを指定したとき、ユーザが選択した画像における抽出領域が自動で決定され、抽出領域の画像が上記の所定の区切り領域に配置される。そして、展開図に画像が配置された印刷プレビューの表示、または印刷処理を行えばよい。
【0102】
これによりユーザは、折り紙作品の種類と画像を選択し、オートモードを指定することで、画像が適切に配置された展開図を印刷させることができる。
【0103】
ここで、「飛行機」以外の折り紙作品に画像を配置する例について、図11を用いて説明する。図11では、折り紙作品「パクパク」に画像を配置するときの表示画面を示す。
【0104】
GUI1101は、図4のGUI403と同様の、模様画像を展開図の画像中の指定領域に貼り付けるためのGUIである。なお、折り紙作品「パクパク」の場合、ユーザによる折り紙の開き方によって、異なる面が表面に現れる。そこで、「パクパク」を閉じたときに現れる画像、また「パクパク」の2通りの開き方のそれぞれで現れる画像の、計3種類の画像を模様画像として選択できるものとする。ここでは、「パクパク」を閉じたときの画像(星形)、1つ目の開き方のときの画像(四角)、2つ目の開き方のときの画像(丸)を、ユーザが選択するものとする。
【0105】
このGUI1101においてプレビューボタンを指示すると、ディスプレイモニタ5の表示画面上にはGUI1102(印刷プレビュー画面)が表示される。一方GUI1101の「完成イメージ」ボタンが指示されると、CPU1は「パクパク」を閉じたとき、また2通りの開き方で開いたときの完成イメージとしてGUI1103,1104,1105を順次切り替えてディスプレイモニタ5の表示画面上に表示する。GUI1103,1104,1105はそれぞれ、外面図、内面図(縦)、内面図(横)である。この完成イメージの切り替えは、ユーザが指示することにより、表示対象の完成イメージを切り替えてもよいし、所定時間ごとに完成イメージを順次切り替えるようにしてもよい。
【0106】
なお、このときパースペクティブ補正が実行されており、遠近方向に歪んでいるものを正対しているように見せるための周知の補正が行われて、星の画像、四角の画像、丸の画像が、適切に見えるようになっている。
【0107】
[第2の実施形態]
図4のGUIなどで、ユーザが指定した区切り領域に対して模様画像から抽出した画像を貼り付けると、この指定した区切り領域に関連づけられている3次元仮想物体の部分にもこの画像を貼り付ける(テクスチャマッピング技術で可能)ようにしてもよい。これにより、画像が貼り付けられた展開図を用いた折り紙作品を確認することができる。
【0108】
以上の実施例によれば、ユーザは、複数の画像から折り紙に配置する画像を選択して、その選択した画像から抽出された画像を、折り紙の展開図に配置させることができる。また、ユーザは、画像が配置されたときの、完成時の折り紙作品を確認しながら、画像から抽出される領域を指定することができる。
【0109】
さらに、ユーザが折り紙作品の種類を選択すると、その折り紙作品の展開図における区切り領域の形状にあったトリミング枠が表示されて、そのトリミング枠内の画像を抽出することができる。そのため、ユーザは、そのトリミング枠に従って画像を抽出することで、画像が配置される区切り領域の形状に合った画像を適切に抽出して、抽出された画像をその区切り領域に配置することができる。よって、ユーザは、折り紙の展開図に合わせてトリミング枠を指定しなくても、画像から適切な形状の画像を抽出して、区切り領域に適切に配置することができる。
【0110】
また、折り紙の完成時において隣接する複数の区切り領域であっても、展開図においては、その複数の区切り領域が隣接しないことがある。この場合でも、折り紙の完成時において隣接するように、ユーザが選択した画像から適切に画像を抽出して、その抽出された画像を分割して展開図に配置することができる。これにより、ユーザが展開図を折ると、ユーザが選択した画像から抽出された画像が適切に配置されている折り紙作品を得ることができる。
【0111】
さらに、ユーザが上記のオートモードを選択した場合には、ユーザが選択した画像から抽出される領域を自動で決定することができる。よって、ユーザは、画像から抽出される領域を指定しなくても、画像を適切に抽出させることができる。
【0112】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0113】
さらに、本発明は、1つのプロセッサにより実行されるものに限らず、複数のプロセッサが協働することによっても実現することができる。
【0114】
また、以上の実施例では、プリンタとは別の画像処理装置が処理を実行する例を示した。しかしこれに限らず、プリンタが上記のCPU1、記憶装置2、RAM3を含み、画像処理装置として動作して、以上の実施例で示した処理を実行することによっても、本発明を実現することができる。
【特許請求の範囲】
【請求項1】
折り紙作品を作成するための展開図に画像を配置する画像処理装置であって、
ユーザによる指示に応じて、メモリに記憶されている複数の画像から、前記展開図に配置する画像を選択する選択手段と、
前記展開図における、当該展開図の折り位置により区切られた複数の区切り領域に合うように、前記選択手段により選択された選択画像における、当該複数の区切り領域への配置対象の領域を特定する特定手段と、
前記選択画像における前記特定手段により特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を、表示装置に表示させる表示制御手段と、
前記表示制御手段による表示に基づくユーザによる指示に応じて、前記選択画像における前記配置対象の領域の画像を、前記展開図における前記複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する配置手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記特定手段は、前記複数の区切り領域の形状に従って、前記配置手段により配置される、前記選択画像における配置対象の領域の画像と、前記配置手段による当該配置対象の領域の画像の分割方法と、を特定し、
前記配置手段は、前記特定手段により特定された前記選択画像における配置対象の領域の画像を、前記特定手段により特定された分割方法に従って分割して、分割された複数の分割画像を、前記複数の区切り領域に配置することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記表示制御手段は、前記選択手段により選択された画像と、形状情報が示す前記複数の区切り領域の形状を示す表示とを、前記表示装置に表示させることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
更に、ユーザによる指示に応じて、前記展開図における複数の区切り領域のうちの、画像が配置される区切り領域を指定する指定手段を有し、
前記特定手段は、前記展開図における、前記指定手段により指定された区切り領域の形状に合うように、前記選択手段により選択された画像における前記配置対象の領域を特定することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
更に、前記選択手段により選択された画像における、顔に対応する顔領域を検出する検出手段を有し、
前記特定手段は、前記検出手段により検出された顔領域に従って、当該顔領域を含む領域を、前記配置対象の領域として特定することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
折り紙作品を作成するための展開図に画像を配置する画像処理方法であって、
ユーザによる指示に応じて、メモリに記憶されている複数の画像から、前記展開図に配置する画像を選択する選択工程と、
前記展開図における、当該展開図の折り位置により区切られた複数の区切り領域に合うように、前記選択工程において選択された選択画像における、当該複数の区切り領域への配置対象の領域を特定する特定工程と、
前記選択画像における前記特定工程において特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を、表示装置に表示させる表示制御工程と、
前記表示制御工程における表示に基づくユーザによる指示に応じて、前記選択画像における前記配置対象の領域の画像を、前記展開図における前記複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する配置工程と
を有することを特徴とする画像処理方法。
【請求項7】
コンピュータを、請求項1乃至5の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【請求項1】
折り紙作品を作成するための展開図に画像を配置する画像処理装置であって、
ユーザによる指示に応じて、メモリに記憶されている複数の画像から、前記展開図に配置する画像を選択する選択手段と、
前記展開図における、当該展開図の折り位置により区切られた複数の区切り領域に合うように、前記選択手段により選択された選択画像における、当該複数の区切り領域への配置対象の領域を特定する特定手段と、
前記選択画像における前記特定手段により特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を、表示装置に表示させる表示制御手段と、
前記表示制御手段による表示に基づくユーザによる指示に応じて、前記選択画像における前記配置対象の領域の画像を、前記展開図における前記複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する配置手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記特定手段は、前記複数の区切り領域の形状に従って、前記配置手段により配置される、前記選択画像における配置対象の領域の画像と、前記配置手段による当該配置対象の領域の画像の分割方法と、を特定し、
前記配置手段は、前記特定手段により特定された前記選択画像における配置対象の領域の画像を、前記特定手段により特定された分割方法に従って分割して、分割された複数の分割画像を、前記複数の区切り領域に配置することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記表示制御手段は、前記選択手段により選択された画像と、形状情報が示す前記複数の区切り領域の形状を示す表示とを、前記表示装置に表示させることを特徴とする請求項2に記載の画像処理装置。
【請求項4】
更に、ユーザによる指示に応じて、前記展開図における複数の区切り領域のうちの、画像が配置される区切り領域を指定する指定手段を有し、
前記特定手段は、前記展開図における、前記指定手段により指定された区切り領域の形状に合うように、前記選択手段により選択された画像における前記配置対象の領域を特定することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
更に、前記選択手段により選択された画像における、顔に対応する顔領域を検出する検出手段を有し、
前記特定手段は、前記検出手段により検出された顔領域に従って、当該顔領域を含む領域を、前記配置対象の領域として特定することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
折り紙作品を作成するための展開図に画像を配置する画像処理方法であって、
ユーザによる指示に応じて、メモリに記憶されている複数の画像から、前記展開図に配置する画像を選択する選択工程と、
前記展開図における、当該展開図の折り位置により区切られた複数の区切り領域に合うように、前記選択工程において選択された選択画像における、当該複数の区切り領域への配置対象の領域を特定する特定工程と、
前記選択画像における前記特定工程において特定された配置対象の領域の画像が配置された展開図により、当該展開図に対応する前記折り紙作品が作成されたときの、当該配置対象の領域の画像を、表示装置に表示させる表示制御工程と、
前記表示制御工程における表示に基づくユーザによる指示に応じて、前記選択画像における前記配置対象の領域の画像を、前記展開図における前記複数の区切り領域に応じて分割して、分割された複数の分割画像を、当該複数の区切り領域に配置する配置工程と
を有することを特徴とする画像処理方法。
【請求項7】
コンピュータを、請求項1乃至5の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−20447(P2013−20447A)
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願番号】特願2011−153270(P2011−153270)
【出願日】平成23年7月11日(2011.7.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年1月31日(2013.1.31)
【国際特許分類】
【出願日】平成23年7月11日(2011.7.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]