(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-10
(45)【発行日】2022-03-18
(54)【発明の名称】画像処理方法及び装置、電子機器並びにコンピュータ可読記憶媒体
(51)【国際特許分類】
G06T 3/00 20060101AFI20220311BHJP
H04N 5/232 20060101ALI20220311BHJP
H04N 1/387 20060101ALI20220311BHJP
【FI】
G06T3/00 770
H04N5/232 290
H04N1/387
(21)【出願番号】P 2020558500
(86)(22)【出願日】2019-06-28
(86)【国際出願番号】 CN2019093551
(87)【国際公開番号】W WO2020007241
(87)【国際公開日】2020-01-09
【審査請求日】2020-10-20
(31)【優先権主張番号】201810724309.3
(32)【優先日】2018-07-04
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】516158932
【氏名又は名称】ベイジン センスタイム テクノロジー デベロップメント カンパニー, リミテッド
(74)【代理人】
【識別番号】110001427
【氏名又は名称】特許業務法人前田特許事務所
(72)【発明者】
【氏名】ハオ ユエンジェン
(72)【発明者】
【氏名】ホアン ミンヤン
(72)【発明者】
【氏名】シー ジエンピン
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2004-234333(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00 - 3/60
G06T 7/00 - 7/90
H04N 1/38 - 1/393
H04N 5/222- 5/378
(57)【特許請求の範囲】
【請求項1】
第1画像における目標対象とマッチングする第1領域を決定するステップと、
前記第1画像に対する事前設定変形効果に基づいて、変形パラメータを決定するステップであって、前記変形パラメータが、
前記目標対象の各画素点の前記事前設定変形効果によって生じる
長さ方向と幅方向における位置ずれを決定するために用いられ
、前記事前設定変形効果は、事前設定変形テンプレートによって得られるものであり、又は前記第1領域を直接操作することによって得られるものであるステップと、
前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得するステップと、を含むことを特徴とする画像処理方法。
【請求項2】
第1画像における目標対象とマッチングする第1領域を決定する前記ステップは、
前記目標対象に対応する第1グリッドを形成するステップであって、前記第1グリッドが第1領域とマッチングするステップを含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記変形パラメータは、変形画素行列であり、前記変形画素行列における各パラメータが、目標対象の対応画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられることを特徴とする請求項1又は2に記載の方法。
【請求項4】
第1画像内の目標対象とマッチングする第1領域を決定する前記ステップは、
第1画像における目標対象の特徴点の位置を決定するステップと、
各前記特徴点同士の相対的位置に基づいて前記第1領域を決定するステップと、を含むことを特徴とする請求項1-3のいずれか一項に記載の方法。
【請求項5】
事前設定変形効果に基づいて変形パラメータを決定する前記ステップは、
前記事前設定変形テンプレートが存在するか否かを決定するステップと、
前記事前設定変形テンプレートが存在する場合に、事前設定アルゴリズムを用いて前記事前設定変形テンプレートに基づいて前記変形パラメータを決定するステップと、を含むことを特徴とする請求項1-4のいずれか一項に記載の方法。
【請求項6】
事前設定変形効果に基づいて変形パラメータを決定する前記ステップは、
前記事前設定変形テンプレートが存在しない場合に、画像変形のための、変形グリッドである第2グリッドを取得するステップと、
事前設定アルゴリズム及び前記第2グリッドにおける第2画素点の第2位置を用いて、前記変形パラメータを決定するステップと、を更に含むことを特徴とする請求項5に記載の方法。
【請求項7】
事前設定変形テンプレートが存在するか否かを決定する前記ステップは、
事前設定変形画像に基づいて変形操作を実行する第1コマンドが受信された時に、前記事前設定変形テンプレートが存在すると決定するステップを含むことを特徴とする請求項5又は6に記載の方法。
【請求項8】
前記事前設定変形テンプレートに基づいて前記変形パラメータを決定する前記ステップは、
前記事前設定変形テンプレートの変形領域とマッチングする第3グリッドを決定するステップと、
前記第3グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、事前設定アルゴリズム及び各サブグリッドの4つの制御点に基づいて、第3グリッドにおける各第1画素点の変形前の第3位置を決定するステップと、
各第1画素点の変形前の第3位置と前記各第1画素点の第3グリッドにおいて対応する第4位置とに基づいて、前記変形パラメータを決定するステップと、を含むことを特徴とする請求項5-7のいずれか一項に記載の方法。
【請求項9】
事前設定アルゴリズム及び前記第2グリッドにおける第2画素点の第2位置を用いて、前記変形パラメータを決定する前記ステップは、
前記第2グリッド内の各サブグリッドの4つの頂点を4つの制御点とするステップと、
前記事前設定アルゴリズムに基づいて、第2グリッドにおける各第2画素点の変形前の第1位置を決定するステップと、
各第2画素点の、変形前の第1位置と第2グリッドにおいて対応する第2位置とに基づいて前記変形パラメータを決定するステップと、を含むことを特徴とする請求項6に記載の方法。
【請求項10】
画像変形を実行するための第2グリッドを取得する前記ステップは、
第1領域に対する変形操作を受信し、前記変形操作に基づいて前記第2グリッドを取得するステップ、又は
記憶されている第2グリッドを取得するステップを含むことを特徴とする請求項6に記載の方法。
【請求項11】
変形画素行列における画素点と第1領域内の画素点が一対一に対応するように、前記第1領域の長さ方向の画素点数量と幅方向の画素点数量に基づいて、前記変形画素行列の次元を調節し、次元調節後の変形画素行列を用いて、第2画像を取得するステップを更に含むことを特徴とする請求項3に記載の方法。
【請求項12】
前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得する前記ステップは、
線形補間アルゴリズムを用いて、前記変形パラメータにおける各画素点の位置ずれに基づいて、目標対象における対応画素点の位置を調節するステップを含むことを特徴とする請求項1-11のいずれか一項に記載の方法。
【請求項13】
前記目標対象は面部を含み、各前記特徴点同士の相対的位置に基づいて前記第1領域を決定する前記ステップは、
鼻筋中心を第1領域の中心とするステップと、
両目の外側縁の間の距離に基づいて前記第1領域の幅を決定するステップと、
眉間と鼻先との間の距離に基づいて前記第1領域の高さを決定するステップと、を含むことを特徴とする請求項4に記載の方法。
【請求項14】
前記目標対象に対応する第1グリッドを形成する前記ステップは、
前記第1画像における目標対象の位置及びサイズとマッチングする、複数のサブグリッドに等分された第1グリッドを決定するステップを含むことを特徴とする請求項2に記載の方法。
【請求項15】
第1画像における目標対象とマッチングする第1領域を決定するように構成される第1決定モジュールと、
前記第1画像に対する事前設定変形効果に基づいて、変形パラメータを決定するように構成される第2決定モジュールであって、前記変形パラメータが、
前記目標対象の各画素点の前記事前設定変形効果によって生じる
長さ方向と幅方向における位置ずれを決定するために用いられ
、前記事前設定変形効果は、事前設定変形テンプレートによって得られるものであり、又は前記第1領域を直接操作することによって得られるものである第2決定モジュールと、
前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得するように構成される変形モジュールと、を含むことを特徴とする画像処理装置。
【請求項16】
プロセッサと、
プロセッサ実行可能コマンドを記憶するためのメモリと、を含み、
前記プロセッサが請求項1-14のいずれか一項に記載の画像処理方法を実行するように構成されることを特徴とする電子機器。
【請求項17】
コンピュータプログラムコマンドが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムコマンドがプロセッサにより実行される時に請求項1-14のいずれか一項に記載の画像処理方法を実現することを特徴とするコンピュータ可読記憶媒体。
【請求項18】
前記電子機器内のプロセッサに、請求項1-14のいずれか一項に記載の方法を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2018年7月4日に中国特許局に提出された、出願の番号が201810724309.3であり、発明の名称が「画像処理方法及び装置、電子機器並びにコンピュータ可読記憶媒体」である中国特許出願の優先権を主張し、その全ての内容が参照によって本願に組み込まれる。
【0002】
本開示は、画像処理に関し、特に画像処理方法及び装置、電子機器並びにコンピュータ可読記憶媒体に関する。
【背景技術】
【0003】
例えば、ユーザの趣味性要求を満たすために、携帯電話、カメラ等のスマートデバイスには、全て画像変形機能が配置されている。従来技術では、事前設定効果付けの画像を画像に加えて画像の様々な変形効果を実現し、又は、画像をドラッグすることによって画像の形状を変更して変形効果を実現するものが多い。
【発明の概要】
【0004】
以上に鑑みて、本開示は、画像処理の技術的解決手段を提案する。
【0005】
本開示の第1態様によれば、
第1画像における目標対象とマッチングする第1領域を決定するステップと、
事前設定変形効果に基づいて、変形パラメータを決定するステップであって、前記変形パラメータが、目標対象の各画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられるステップと、
前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得するステップと、を含む画像処理方法を提供する。
【0006】
本開示の実施例では、第1画像における目標対象とマッチングする第1領域を決定する前記ステップは、
前記目標対象に対応する第1グリッドを形成するステップであって、前記第1グリッドが第1領域とマッチングするステップを含む。
【0007】
本開示の実施例では、前記変形パラメータは、変形画素行列であり、前記変形画素行列における各パラメータが、目標対象の対応画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられる。
【0008】
本開示の実施例では、第1画像内の目標対象とマッチングする第1領域を決定する前記ステップは、
第1画像における目標対象の特徴点の位置を決定するステップと、
各前記特徴点同士の相対的位置に基づいて前記第1領域を決定するステップと、を含む。
【0009】
本開示の実施例では、事前設定変形効果に基づいて変形パラメータを決定する前記ステップは、
事前設定変形テンプレートが存在するか否かを決定するステップと、
事前設定変形テンプレートが存在する場合に、事前設定アルゴリズムを用いて前記事前設定変形テンプレートに基づいて前記変形パラメータを決定するステップと、を含む。
【0010】
本開示の実施例では、事前設定変形効果に基づいて変形パラメータを決定する前記ステップは、
前記事前設定変形テンプレートが存在しない場合に、画像変形のための、変形グリッドである第2グリッドを取得するステップと、
事前設定アルゴリズム及び前記第2グリッドにおける第2画素点の第2位置を用いて、前記変形パラメータを決定するステップと、を更に含む。
【0011】
本開示の実施例では、事前設定変形テンプレートが存在するか否かを決定する前記ステップは、
事前設定変形画像に基づいて変形操作を実行する第1コマンドが受信された時に、前記事前設定変形テンプレートが存在すると決定するステップを含む。
【0012】
本開示の実施例では、前記事前設定変形テンプレートに基づいて前記変形パラメータを決定する前記ステップは、
前記事前設定変形テンプレートの変形領域とマッチングする第3グリッドを決定するステップと、
前記第3グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、事前設定アルゴリズム及び各サブグリッドの4つの制御点に基づいて、第3グリッドにおける各第1画素点の変形前の第3位置を決定するステップと、
各第1画素点の変形前の第3位置と前記各第1画素点の第3グリッドにおいて対応する第4位置とに基づいて、前記変形パラメータを決定するステップと、を含む。
【0013】
本開示の実施例では、事前設定アルゴリズム及び前記第2グリッドにおける第2画素点の第2位置を用いて、前記変形パラメータを決定する前記ステップは、
前記第2グリッド内の各サブグリッドの4つの頂点を4つの制御点とするステップと、
前記事前設定アルゴリズムに基づいて、第2グリッドにおける各第2画素点の変形前の第1位置を決定するステップと、
各第2画素点の、変形前の第1位置と第2グリッドにおいて対応する第2位置とに基づいて前記変形パラメータを決定するステップと、を含む。
【0014】
本開示の実施例では、前記事前設定アルゴリズムの数式は以下のとおりである。
【0015】
p(u,v)=d_1*u+d_2*v+d_3*u*v+d_4 式1
ただし、d_i=(a_i,b_i)、それは変形グリッドにおける各サブグリッドの制御点の座標によって決定され、iは5より小さい正整数であり、uとvは変形グリッドにおける各画素点の未変形時の位置の横座標と縦座標であり、p(u,v)は変形グリッドにおける各画素点の変形後の位置座標であり、前記変形グリッドは第2グリッド又は第3グリッドである。
【0016】
本開示の実施例では、画像変形を実行するための第2グリッドを取得する前記ステップは、
第1領域に対する変形操作を受信し、前記変形操作に基づいて前記第2グリッドを取得するステップ、又は
記憶されている第2グリッドを取得するステップを含む。
【0017】
本開示の実施例では、前記方法は、
変形画素行列における画素点と第1領域内の画素点が一対一に対応するように、前記第1領域の長さ方向の画素点数量と幅方向の画素点数量に基づいて、前記変形画素行列の次元を調節し、次元調節後の変形画素行列を用いて、第2画像を取得するステップを更に含む。
【0018】
本開示の実施例では、前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得する前記ステップは、
線形補間アルゴリズムを用いて、前記変形パラメータにおける各画素点の位置ずれに基づいて、目標対象における対応画素点の位置を調節するステップを含む。
【0019】
本開示の実施例では、前記目標対象は面部を含み、各前記特徴点同士の相対的位置に基づいて前記第1領域を決定する前記ステップは、
鼻筋中心を第1領域の中心とするステップと、
両目の外側縁の間の距離に基づいて前記第1領域の幅を決定するステップと、
眉間と鼻先との間の距離に基づいて前記第1領域の高さを決定するステップと、を含む。
【0020】
本開示の実施例では、前記目標対象に対応する第1グリッドを形成する前記ステップは、
前記第1画像における目標対象の位置及びサイズとマッチングする、複数のサブグリッドに等分された第1グリッドを決定するステップを含む。
【0021】
本開示の実施例の第2態様によれば、
第1画像における目標対象とマッチングする第1領域を決定するように構成される第1決定モジュールと、
事前設定変形効果に基づいて、変形パラメータを決定するように構成される第2決定モジュールであって、前記変形パラメータが、目標対象の各画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられる第2決定モジュールと、
前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得するように構成される変形モジュールと、を含む画像処理装置を提供する。
【0022】
本開示の実施例では、前記第1決定モジュールは、更に、前記目標対象に対応する第1グリッドを形成することによって、前記第1領域を決定するように構成され、前記第1グリッドが第1領域とマッチングする。
【0023】
本開示の実施例では、前記変形パラメータは、変形画素行列であり、前記変形画素行列における各パラメータが、目標対象の対応画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられる。
【0024】
本開示の実施例では、前記第1決定モジュールは、更に、第1画像における目標対象の特徴点の位置を決定し、各前記特徴点同士の相対的位置に基づいて前記第1領域を決定するように構成される。
【0025】
本開示の実施例では、前記第2決定モジュールは、更に、事前設定変形テンプレートが存在するか否かを決定し、事前設定変形テンプレートが存在する場合に、事前設定アルゴリズムを用いて前記事前設定変形テンプレートに基づいて前記変形パラメータを決定するように構成される。
【0026】
本開示の実施例では、前記第2決定モジュールは、更に、前記事前設定変形テンプレートが存在しない場合に、画像変形のための、変形グリッドである第2グリッドを取得し、事前設定アルゴリズム及び前記第2グリッドにおける第2画素点の第2位置を用いて、前記変形パラメータを決定するように構成される。
【0027】
本開示の実施例では、前記第2決定モジュールは、更に、事前設定変形画像に基づいて変形操作を実行する第1コマンドが受信された時に、前記事前設定変形テンプレートが存在すると決定するように構成される。
【0028】
本開示の実施例では、前記第2決定モジュールは、更に、前記事前設定変形テンプレートの変形領域とマッチングする第3グリッドを決定し、
前記第3グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、事前設定アルゴリズム及び各サブグリッドの4つの制御点に基づいて、第3グリッドにおける各第1画素点の変形前の第3位置を決定し、
各第1画素点の変形前の第3位置と前記各第1画素点の第3グリッドにおいて対応する第4位置とに基づいて、前記変形パラメータを決定するように構成される。
【0029】
本開示の実施例では、前記第2決定モジュールは、更に、前記第2グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、
前記事前設定アルゴリズムに基づいて、第2グリッドにおける各第2画素点の変形前の第1位置を決定し、
各第2画素点の、変形前の第1位置と第2グリッドにおいて対応する第2位置とに基づいて前記変形パラメータを決定するように構成される。
【0030】
本開示の実施例では、前記事前設定アルゴリズムの数式は以下のとおりである。
【0031】
p(u,v)=d_1*u+d_2*v+d_3*u*v+d_4 式1
ただし、d_i=(a_i,b_i)、それは変形グリッドにおける各サブグリッドの制御点の座標によって決定され、iは5より小さい正整数であり、uとvは変形グリッドにおける各画素点の未変形時の位置の横座標と縦座標であり、p(u,v)は変形グリッドにおける各画素点の変形後の位置座標であり、前記変形グリッドは第2グリッド又は第3グリッドである。
【0032】
本開示の実施例では、前記第2決定モジュールは、更に、第1領域に対する変形操作を受信し、前記変形操作に基づいて前記第2グリッドを取得するか、又は記憶されている第2グリッドを取得するように構成される。
【0033】
本開示の実施例では、前記第2決定モジュールは、更に、変形画素行列における画素点と第1領域内の画素点が一対一に対応するように、前記第1領域の長さ方向の画素点数量と幅方向の画素点数量に基づいて、前記変形画素行列の次元を調節するように構成され、
前記変形モジュールは、更に、次元調節後の変形画素行列を用いて、第2画像を取得するように構成される。
【0034】
本開示の実施例では、前記変形モジュールは、更に、線形補間アルゴリズムを用いて、前記変形パラメータにおける各画素点の位置ずれに基づいて、目標対象における対応画素点の位置を調節するように構成される。
【0035】
本開示の実施例では、前記第1決定モジュールは、更に、前記目標対象が面部を含む場合、鼻筋中心を第1領域の中心とし、
両目の外側縁の間の距離に基づいて前記第1領域の幅を決定し、
眉間と鼻先との間の距離に基づいて前記第1領域の高さを決定するように構成される。
【0036】
本開示の実施例では、前記第1決定モジュールは、更に、前記第1画像における目標対象の位置及びサイズとマッチングする、複数のサブグリッドに等分された第1グリッドを決定するように構成される。
【0037】
本開示の実施例の第3態様によれば、
プロセッサと、
プロセッサ実行可能コマンドを記憶するためのメモリと、を含み、
前記プロセッサが第1態様のいずれか一項に記載の画像処理方法を実行するように構成される電子機器を提供する。
【0038】
本開示の実施例の第4態様によれば、コンピュータプログラムコマンドが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムコマンドがプロセッサにより実行される時に第1態様のいずれか一項に記載の画像処理方法を実現するコンピュータ可読記憶媒体を提供する。
【0039】
本開示の第5態様によれば、コンピュータ可読コードを含み、前記コンピュータ可読コードが電子機器上で作動する時に、前記電子機器内のプロセッサが第1態様のいずれか一項に記載の方法を実行することを特徴とするコンピュータプログラムを提供する。
【0040】
本開示の実施例は、簡単にドラッグしたり、イメージ、ラベルを加えることで変形操作を実行することではなく、直接必要な変形効果に応じて画像を変形処理できる。本開示の実施例によれば、画像の変形をより簡便且つ容易に実現でき、より優れた適用可能性を有する。
【0041】
以下の図面と関連付けられた例示的な実施例に対する詳細な説明によれば、本開示の他の特徴および態様は明確になる。
【図面の簡単な説明】
【0042】
【
図1】本開示に係る実施例の画像処理方法のフローチャートを示す。
【
図2】本開示に係る実施例の画像処理方法において目標対象が面部である場合第1領域を決定するフローチャートを示す。
【
図3】本開示に係る実施例の画像処理方法のステップS200のフローチャートを示す。
【
図4】本開示に係る実施例の画像処理方法において前記事前設定変形テンプレートに基づいて前記変形パラメータを決定するフローチャートを示す。
【
図5】本開示に係る実施例の画像処理方法におけるステップS204のフローチャートを示す。
【
図6】本開示に係る実施例の画像処理方法で第1領域を決定する模式図を示す。
【
図7】本開示に係る実施例で変形パラメータに基づいて変形処理を実行する構造模式図を示す。
【
図8】本開示に係る実施例で取得された第2画像の模式図を示す。
【
図9】本開示に係る実施例の画像処理装置のブロック図を示す。
【
図10】本開示に係る実施例の電子機器のブロック図を示す。
【
図11】本開示に係る実施例の別の電子機器のブロック図を示す。
【発明を実施するための形態】
【0043】
明細書に含まれ且つ明細書の一部を構成する図面は明細書と共に本開示の例示的な実施例、特徴及び態様を示し、更に本開示の原理を解釈するために用いられる。
【0044】
以下に図面を参照しながら本開示の様々な例示的実施例、特徴および態様を詳細に説明する。図面における同じ符号は同じまたは類似する機能の要素を表す。図面において実施例の様々な態様を示したが、特に断らない限り、比例に従って図面を作る必要がない。
【0045】
ここの用語「例示的」とは、「例、実施例として用いられることまたは説明的なもの」を意味する。ここで「例示的」に説明したいかなる実施例も他の実施例より優れたものと理解すべきではない。
【0046】
また、本開示をより効果的に説明するために、以下の具体的な実施形態において様々な具体的詳細を示す。当業者であれば、何らかの具体的詳細がなくなるにも関わらず、本開示は同様に実施できるということを理解すべきである。いくつかの実施例では、本開示の趣旨を強調するよう、当業者に既知の方法、手段、要素および回路に対する詳細な説明を省略する。
【0047】
図1に本開示に係る実施例の画像処理方法のフローチャートを示し、ここで、本開示の実施例の画像処理方法は、例えば、携帯電話、カメラ、ビデオカメラ、PAD、コンピュータ装置等の画像処理機能を備えた電子機器に利用可能であり、本開示はそれを限定するものではない。
【0048】
図1に示すように、本開示の実施例における画像処理方法は、以下のステップを含んでよい。
【0049】
S100において、第1画像における目標対象とマッチングする第1領域を決定する。
【0050】
本開示の実施例で提供される画像処理方法は、画像を変形処理して、対応する変形効果を有する画像を取得することができる。ここで、第1画像は電子機器で撮影された画像であってもよいし、他の電子機器と通信可能に接続することで受信した画像であってもよいし、電子機器に記憶されている画像であってもよく、本開示の実施例はそれを限定するものではない。
【0051】
また、目標対象は、第1画像内の変形処理を実行しようとする部分であり、例えば、面部、動物、植物、風景等の対象であってもよく、又はユーザが任意に選択した画像領域対象であってもよく、又は画像全体であってもよく、本開示の実施例は同様にそれを限定するものではない。ここで、第1画像を取得した後、変形処理を実行しようとする該第1画像における目標対象を決定してよい。ここで、目標対象を決定する手法は、電子機器の現在撮影モードに基づいて目標対象を決定するか、又はユーザの入力した選択情報を受信してこの選択情報に基づいて目標対象を決定するか、又は第1画像内の特徴情報により目標対象を決定することを含んでよい。本開示の他の実施例では、他の手法によって目標対象を決定してもよい。
【0052】
本開示の実施例では、撮影操作を実行する時に、取得された画像を変形処理でき、ここで、現在撮影モードに基づいて、変形処理しようとする目標対象を決定できる。本開示の実施例における撮影モードは人物モードと風景モードを含んでもよく、又は他のモードを含んでもよい。ここで、電子機器の現在撮影モードが人物モードである時に、画像内の面部を目標対象としてよい。又は電子機器の現在撮影モードが風景モードである時に、画像内の風景を目標対象としてよい。即ち、異なる撮影モードで、対応する目標対象を決定して、対応する目標対象の変形処理を実行することができ、ユーザ操作が不要になり、簡単で容易である。上記は撮影モードに応じて目標対象を決定できる実施例を説明する例に過ぎず、本開示の実施例はそれを限定するものではない。
【0053】
また、本開示の実施例では、更にユーザの入力した選択情報により目標対象を決定してもよい。第1画像の変形処理を実行する時に、ユーザの第1画像に対する選択操作を受信してよく、即ち、ユーザはタッチ操作又は範囲画定の選択操作によって第1画像に対して選択操作を実行してよく、この選択操作によって選択された画像情報が選択情報となる。又は、ユーザは目標対象の選択リストから決定しようとする目標対象の種類を選択してもよく、例えば、選択リストは面部、動物、植物、風景等を含んでよく、そのように、上記選択項目に関する選択情報を受信することによって、選択された画像内の目標対象を決定することができる。
【0054】
上記によって、第1画像内の目標対象を取得でき、更にこの目標対象に基づいてそれに対応する第1領域を決定でき、本開示の実施例における第1領域のサイズが目標対象のサイズとマッチングしており、第1領域の位置も目標対象の位置とマッチングしており、第1領域内の各画素点を変形処理することで目標対象の変形を実現できる。
【0055】
本開示の実施例では、第1画像における目標対象とマッチングする第1領域を決定するステップは、前記目標対象に対応する第1グリッドを形成するステップであって、前記第1グリッドが第1領域とマッチングするステップを含んでよい。即ち、本開示の実施例では、決定された目標対象に基づいてそれに対応する第1グリッドを取得でき、この第1グリッドの位置と大きさが目標対象とマッチングしており、即ち、この第1グリッドの所在する位置が第1領域であり、言い換えると、第1グリッドの形式で第1領域を表し、第1グリッドは複数のサブグリッドを含んでよく、それぞれのサブグリッドが少なくとも1つの画素点に対応してよい。本開示の実施例は、第1グリッドを形成することによって、グリッド内の各画素点の位置、濃淡値等の他の特徴を簡便に解析することができる。以下の実施例では、第1グリッドを例として説明する。
【0056】
S200において、事前設定変形効果に基づいて、変形パラメータを決定し、前記変形パラメータが、目標対象の各画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられる。
【0057】
本開示の実施例では、事前設定変形効果に基づいて、対応する変形パラメータを決定してもよい。例えば、既存の変形画像に対応する変形効果によって、変形パラメータを決定してもよい。又は、第1領域(第1グリッド)を直接操作して、第1領域の変形効果を取得して変形パラメータを決定してもよい。更に変形パラメータに基づいて事前設定アルゴリズムによって第1領域内の各画素点を変形操作してもよい。ここで、変形パラメータは目標対象の各画素点の前記事前設定変形効果によって生じる位置ずれを決定することに利用可能であり、即ち、変形パラメータは、目標対象の各画素点の変形後の位置を含んでもよく、またはそれを決定でき、この位置によって第2画像を対応的に形成できる。本開示の実施例における変形パラメータは、その中のそれぞれのパラメータが目標対象の対応画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられる変形画素行列であってよい。変形画素行列は、次元(サイズ)が第1グリッドに対応してもよく、即ち変形画素行列におけるパラメータ値が第1グリッド内の画素点に一対一に対応してもよく、上記パラメータ値は、画素点に対応する位置ずれ量を決定することに利用可能である。変形画素行列のパラメータは、各画素点の変形処理時の位置変化量、即ち上記位置ずれを決定することに利用可能である。本開示の実施例では事前設定変形効果に基づいて変形パラメータを決定するステップは、事前設定アルゴリズムを用いて事前設定変形効果に基づいて変形パラメータを決定するステップを含む。前記事前設定アルゴリズムはベジェ曲面アルゴリズムを含んでよい。例えば、変形パラメータ又は変形画素行列は、事前設定変形効果内の各画素点の位置ずれ量を含んでよく、この位置ずれ量は位置ずれ値を含むだけでなく、ずれ方向を更に含み、それによって目標画像の各画素点の変形後の位置を容易に決定できる。又は、変形画素行列は事前設定変形効果内の現在座標箇所の画素点の未変形時の最初位置座標を含んでもよく、それによってこの最初位置座標と現在座標との間のずれに基づいて上記位置ずれを決定できる。
【0058】
S300において、前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得する。
【0059】
上述したように、例えば、変形画素行列の変形パラメータは、対応画素点の変形処理時の位置ずれを決定することに利用可能であり、そのため、この位置ずれにより目標対象の各画素点の変形後の位置を決定し、それに基づいて変形操作を実行して第2画像を取得することができる。
【0060】
本開示の実施例では、バイリニア補間アルゴリズムによって画素を推定してよく、それによって変形画像をより円滑にすることができる。
【0061】
上記構成によって、第1画像から第2画像への変形処理を完了することができ、ここで、本開示の実施例は事前設定変形効果に対応する変形パラメータにより第1画像を変形処理できるので、より容易且つ簡便な変形効果を有すると共に、各種画像に適用可能であり、ユーザ体験がよりよくなる。
【0062】
以下、本開示の実施例を詳細に説明し、ここで、ステップS100において、目標対象によりそれとマッチングする第1領域を決定してよい。ここで、第1画像における目標対象とマッチングする第1領域を決定するステップは、
第1画像における目標対象の特徴点の位置を決定するステップと、
各前記特徴点同士の相対的位置に基づいて前記第1領域を決定するステップと、を含んでよい。
【0063】
図6に本開示に係る実施例の画像処理方法で第1領域を決定する模式図を示す。ここで、本開示の実施例では、変形処理を実行しようとする第1画像における目標対象が決定された後、この目標対象の特徴点を認識し、各特徴点の位置に基づいて第1グリッドを決定するようにしてよい。ここで、目標対象のエッジ特徴点を取得してよく、例えば画像エッジ検出アルゴリズムによって目標対象のエッジ特徴点を抽出し、エッジ特徴点を連結することで第1グリッドを決定する。ここで、画像エッジ検出アルゴリズムは、Canny演算子エッジ検出アルゴリズム又はSobel演算子エッジ検出を含んでよく、他の実施例では他のエッジ検出手法によってエッジ特徴点を決定してもよい。ここで、エッジ特徴点に基づいて目標対象の輪郭を決定してよく、第1領域がこの輪郭に対応してもよく、この輪郭に基づいて生成した方形グリッドであってもよい。即ち、輪郭の上側、下側、左側及び右側のエッジでこの第1領域の外枠を決定してよく、即ち、最も上側のエッジの特徴点と最も下側のエッジの特徴点で第1領域の高さを決定し、最も左側のエッジの特徴点と最も右側のエッジの特徴点との間の距離で第1領域の幅を決定して、目標画像に対応する第1領域を決定するようにしてよい。
【0064】
又は、本開示の別の実施例では、目標対象内の各部分の特徴点により第1領域を決定してもよく、例えば、目標対象が面部である場合、鼻、目、耳、眉等の特徴部分の特徴点に基づいて第1領域を決定してよい。
【0065】
ここで、
図2に本開示に係る実施例の画像処理方法において目標対象が面部である場合第1領域を決定するフローチャートを示す。ここで、各前記特徴点同士の相対的位置に基づいて前記第1領域を決定するステップは、以下のステップを含んでよい。
【0066】
S101において、鼻筋中心を第1領域の中心とする。
【0067】
S102において、両目の外側縁の間の距離に基づいて前記第1領域の幅を決定する。
【0068】
S103において、眉間と鼻先との間の距離に基づいて前記第1領域の高さを決定する。
【0069】
本開示の実施例では、目標対象が面部である場合、面部認識により面部の鼻、目、耳、眉、口等の特徴部分の位置を決定でき、更にこれらの特徴部分に依存する第1領域を決定できる。ここで、鼻筋の中心位置を第1領域の中心としてよく、即ち、本開示の実施例の第1領域はこの鼻筋の中心位置に対して対称設置されている。また、左目の外側縁と右目の外側縁との間の第1距離で第1領域の幅を決定してよく、ここで、第1距離を直接第1領域の幅としてもよいし、第1事前設定対応関係、例えば第1距離の所定倍数に基づいて、第1領域の幅を決定してもよく、当業者であれば必要に応じてこの第1事前設定対応関係を設定してもよく、本開示の実施例はそれを限定するものではない。また、眉間と鼻先との間の第2距離で第1領域の高さを決定してよく、ここで、眉間とは2つの眉の中心位置を指し、ここで、面部認識によって上記第1距離と第2距離を算出可能であり、当業者であれば適切なアルゴリズムを選択して上記第1距離と第2距離を取得してよく、例えばPCAアルゴリズムで特徴を認識する。それに対応するように、第1グリッドの高さと第2距離との間に第2事前設定対応関係が存在してもよく、例えば、第1領域の高さが第2距離の2倍であってもよく、当業者であれば必要に応じて、この第2事前設定対応関係を設定してもよく、本開示の実施例はそれを限定するものではない。
【0070】
上記に基づいて、認識された各特徴点により、目標対象の位置に対応する第1領域の高さと幅を決定して、第1領域のサイズを決定することができる。第1領域のサイズと位置が決定された後、第1領域を複数のサブグリッドに区画して第1グリッドを形成するようにしてもよく、この複数のサブグリッドは同じであってもよく、本開示の実施例では事前設定次元で第1グリッドを区画してもよい。ここで、この第1次元は第1グリッドのサイズに基づいて決定されてもよく、事前設定次元情報に基づいて決定されてもよい。
【0071】
例えば、本開示の実施例では、第1グリッドのサイズに基づいて、第1グリッドを事前設定次元のサブグリッドに区画し、ここで、このサブグリッドのサイズがサイズ閾値より小さく、即ち、本開示の実施例では、第1グリッドをサイズ閾値より小さいサブグリッドに区画する必要がある。また、事前設定次元情報に基づいて第1グリッドを区画してもよく、上記サイズ閾値及び事前設定次元情報は、いずれも予め設定されたものであってもよく、当業者であれば、必要に応じて自ら設定可能である。
【0072】
上述したように、第1領域が決定された後、事前設定変形効果により、この変形操作を実行する変形画素行列(変形パラメータ)を決定してもよい。ここで、事前設定変形効果を有する画像テンプレートにより変形パラメータを決定してもよく、第1領域の変形操作により変形パラメータを決定してもよい。
【0073】
図3に本開示に係る実施例の画像処理方法のステップS200のフローチャートを示す。ここで、ステップS200は、以下のステップを含んでよい。
【0074】
S201において、事前設定変形テンプレートが存在するか否かを決定し、存在すればS202を実行し、存在しなければステップS203を実行する。
【0075】
S202において、前記事前設定変形テンプレートに基づいて前記変形パラメータを決定する。
【0076】
S203において、画像変形のための、変形グリッドである第2グリッドを取得する。
【0077】
S204において、事前設定アルゴリズム及び前記第2グリッドにおける第2画素点の第2位置を用いて、前記変形パラメータを決定する。
【0078】
本開示の実施例では、まず、事前設定変形テンプレートが存在するか否かを判断してもよく、この事前設定変形テンプレートは事前設定変形効果を有する画像テンプレートであってもよい。ここで、事前設定変形テンプレートが存在するか否かを決定するステップは、
変形画像の選択情報が受信されたか否かを判断し、受信された場合、事前設定変形テンプレートが存在すると決定し、そうでない場合、この事前設定変形テンプレートが存在しないと決定するステップ、又は事前設定変形画像に基づいて変形操作を実行する第1コマンドが受信された時に、前記事前設定変形テンプレートが存在すると決定するステップを含んでよい。即ち、ユーザは必要な変形効果の画像を選択して、事前設定変形効果の画像テンプレート、即ち上記事前設定変形テンプレートとしてよい。
【0079】
この事前設定変形テンプレートが存在すると決定された場合に、この事前設定変形テンプレートに対応する変形効果により変形パラメータを決定してもよく、事前設定変形テンプレートが存在しないと決定された場合に、画像変形のための第2グリッドを取得し、第1グリッドと第2グリッドとの間の差に基づいて変形パラメータを決定する。
【0080】
ここで、第2グリッドは、ユーザが直接第1グリッドに施す変形操作に基づいて取得されたものであってもよく、他の手法で取得されたグリッドであってもよく、例えば記憶されている第2グリッドを取得する。以下、2種の手法をそれぞれ詳細に説明する。
【0081】
図4に本開示に係る実施例の画像処理方法において前記事前設定変形テンプレートに基づいて前記変形パラメータを決定するフローチャートを示し、ここで、ステップS202は、以下のステップを含んでよい。
【0082】
S2021において、前記事前設定変形テンプレートの変形領域とマッチングする第3グリッドを決定する。
【0083】
S2022において、前記第3グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、事前設定アルゴリズム及び各サブグリッドの4つの制御点に基づいて、第3グリッドにおける各第1画素点の変形前の第3位置を決定する。
【0084】
S2023において、各第1画素点の変形前の第3位置と前記各第1画素点の第3グリッドにおいて対応する第4位置とに基づいて、前記変形パラメータを決定する。
【0085】
本開示の実施例では事前設定変形テンプレートは変形操作を実行する変形領域を対応的に有してもよく、この変形領域が第1画像における目標対象の所在する領域に相当する。ここで、ステップS2021を実行する時に、事前設定変形テンプレートの変形領域とマッチングする第3グリッドを取得してもよく、この第3グリッドが事前設定変形テンプレート内の変形領域の変形後の第3グリッドであってもよく、この第3グリッドが変形領域の大きさ及び位置とマッチングする。
【0086】
第3グリッドが決定された後、この第3グリッド内の各サブグリッドの4つの制御点により、第3グリッドにおける各第1画素点の、変形操作されていない当時の第3位置を決定してよい。ここで、事前設定アルゴリズムにより各第1画素点の未変形時の第3位置を取得してよく、事前設定アルゴリズムはベジェ曲面アルゴリズムであってよく、以下の式で表してよい。
【0087】
p(u,v)=d_1*u+d_2*v+d_3*u*v+d_4 式1
ただし、d_i=(a_i,b_i)について、第3グリッド内の各サブグリッドの制御点の座標により決定され、iは5より小さい正整数であり、uとvは第3グリッドにおける各第1画素点の未変形時の第3位置の横座標と縦座標であり、p(u,v)は第3グリッドにおける各第1画素点の変形後の第4位置の座標値であり、上記の式によって、各第1画素点の変形前の第3位置(u,v)と変形後の第4位置P(u,v)との間の対応関係を確立でき、第3グリッドが既知のものである場合に、第3グリッド内の各サブグリッドの4つの制御点及びそれに対応する第1画素点の第3位置が全て既知のものであり、例えば、直角座標系を確立して第3グリッドの直角座標系での位置及び第3グリッド内の各画素点の直角座標系での位置を決定することができ、更に上記手法で変形前の第1画素点の位置、即ち第3位置を取得することができる。
【0088】
ただし、d_1=b10-b00、d_2=b01-b00、d_3=b11+b00-b01-b10、d_4=b00
ここで、b00、b01、b10及びb11はそれぞれ第3グリッドのサブグリッドの左上、左下、右上及び右下に位置する4つの制御点の座標値である。
【0089】
上記手法によって第3グリッドにおける各画素点の変形前の第3位置を取得することができ、それによって、第3位置と第4位置との間の差により変形パラメータを決定する。
【0090】
上記実施例に記載したように、変形パラメータは事前設定変形テンプレートの変形領域内の各画素点の初期位置を含んでもよく、画素点の現在位置とこの初期位置との間の差に基づいて、各画素点のこの変形効果に対応する位置ずれを決定可能である。また、本開示の他の実施例では、変形パラメータ内のパラメータ値は各画素点の変形操作に対応する位置ずれであってよい。ここで、本開示の実施例の位置ずれはいずれもベクトル値であり、長さ方向と幅方向のずれを含む。
【0091】
更に、変形パラメータが取得された後、変形画素行列の画素点と第1グリッド内の画素点が一対一に対応するように、第1グリッドのサイズに応じて、変形パラメータの次元、例えば変形画素行列の次元を調節してもよい。即ち、本開示の実施例においてステップS2023で取得された変形パラメータは、事前設定変形テンプレート内の変形領域に対応する変形パラメータであってよく(以下、第1画素行列で区別する)、事前設定変形テンプレートと同じ変形効果を実現するために、この第1画素行列に基づいて、第1画像の変形操作を実行してよい。ここで、第1グリッドの変形画素行列と第1グリッドのサイズがマッチングすることを確保するために、即ち第1グリッドにおける長さ方向と幅方向の画素点を変形画素行列の各画素点のパラメータと一対一に対応させるために、第1グリッドのサイズに応じて第1変形画素行列の次元を調節する必要がある。
【0092】
ここで、第1グリッドにおける長さ方向と幅方向の画素点の数量を決定し、この数量に基づいて、事前設定変形テンプレート内の変形領域に対応する第1変形テンプレートの次元を調整するようにしてよく、例えば、均一にサンプリングすることによって、この変形領域において画素点をサンプリングしてよく、ここで、サンプリング数量が第1グリッドの対応する画素点の数量と同じであり、それによって、サンプリング画素点の位置ずれに基づいて、次元が調整後の第1画素行列を決定し、第1画素行列の画素点と第1グリッド内の画素点が一対一に対応するようにし、次元が調整された後の第1画素行列が本開示の実施例における変形パラメータとなる。
【0093】
上記実施例では事前設定変形テンプレートによって変形パラメータを決定し、以下、取得された第2グリッドによって変形パラメータを決定することを詳細に説明する。
【0094】
ここで、本開示の実施例では、ユーザは直接第1領域にドラッグ又は他の変形操作を実行してもよく、即ち、第1領域の形状を変更して変形パラメータを決定してもよい。この過程は、
第1領域へのタッチ操作を受信するステップと、
このタッチ操作により第1グリッドの形状を対応的に調節するステップと、
第1領域内の各画素点のこのタッチ操作による位置ずれを取得するステップと、
前記位置ずれに基づいて変形パラメータを決定するステップと、を含んでよい。
【0095】
ここで、本開示の実施例では、ユーザは第1領域にタッチ操作を実行してもよく、即ち、第1領域の形状を変更し、形状変更後の各画素点の位置と形状変更前の位置との間の差により、各画素点のタッチ操作による位置ずれを決定し、それに基づいて変形パラメータを確立するようにしてもよい。
【0096】
又は、本開示の実施例では、更に直接取得された第2グリッドに基づいて、変形パラメータを決定してもよく、ここで、第2グリッドが変形後のグリッドである。
図5に本開示に係る実施例の画像処理方法におけるステップS204のフローチャートを示し、ここで、このステップS204は、以下のステップを含んでよい。
【0097】
S2041において、前記第2グリッド内の各サブグリッドの4つの頂点を4つの制御点とする。
【0098】
S2042において、前記事前設定アルゴリズムに基づいて、第2グリッドにおける各第2画素点の変形前の第1位置を決定する。
【0099】
S2043において、各第2画素点の、変形前の第1位置と第2グリッドにおいて対応する第2位置とに基づいて前記変形パラメータを決定する。
【0100】
ここで、上記実施例の手法と同様に、第2グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、更に第2グリッドにおける各第2画素点の変形操作されていない当時の第1位置を決定してよい。ここで、事前設定アルゴリズムにより、各第2画素点の未変形時の第1位置を取得してよく、事前設定アルゴリズムはベジェ曲面アルゴリズムであってよく、以下の式で表してよい。
【0101】
p(u,v)=d_1*u+d_2*v+d_3*u*v+d_4 式1
ただし、d_i=(a_i,b_i)、それは第2グリッド内の各サブグリッドの制御点の座標により決定され、iは5より小さい正整数であり、uとvは第2グリッドにおける各第2画素点の未変形時の第1位置の横座標と縦座標であり、p(u,v)は第2グリッドにおける各第2画素点に対応する変形後の第2位置の座標値である。上記の式によって、各第2画素点の変形前の第1位置(u,v)と変形後の第2位置P(u,v)との間の対応関係を確立でき、第2グリッドが既知のものである場合に、第2グリッド内の各サブグリッドの4つの制御点及びそれに対応する第2画素点の第2位置が全て既知のものであり、例えば、直角座標系を確立して第2グリッドの直角座標系での位置及び第2グリッド内の各画素点の直角座標系での位置を決定することができ、更に上記手法によって変形前の第2画素点の位置、即ち第1位置を取得できる。
【0102】
ただし、d_1=b10-b00、d_2=b01-b00、d_3=b11+b00-b01-b10、d_4=b00
ここで、b00、b01、b10及びb11はそれぞれ第2グリッドのサブグリッドの左上、左下、右上及び右下に位置する4つの制御点の座標値である。
【0103】
本開示の実施例では、サブグリッドに基づく変形アルゴリズムはグリッド頂点をドラッグすることでグリッド形状を変更し、次にグリッド変形を画像に反映して、画像の自由変形を実現することができる。従来の制御点変形アルゴリズム(例えば、TPS、MLSやMRLS等)は、制御点数量が多いほど、アルゴリズムの複雑度が高く、画像変形のリアルタイム性効果が悪く、このようなアルゴリズムをグリッド構造に応用して画像を変形させれば、更にエッジが不連続になることがある。本開示の実施例で使用されるベジェ曲面アルゴリズムは応用する機能の制御点数量が少なく、優れるグリッド変形効果を達成でき、更に、ベジェ曲面アルゴリズムを最適化することで複雑度を低下させ、リアルタイム性を向上させることができる。ここで、電子機器側のプロセッサによって本開示の実施例のアルゴリズムの計算効率を確認したところ、720p画像の面部変形で、正方向に計算したベジェ曲面アルゴリズムの合計消費時間が40-50ms程度であり、本開示の実施例のアルゴリズムによる同じ画像の面部変形で消費時間が8ms程度であった。また、ベジェ曲面公式の逆演算によって変形画素行列を直接取得することも可能であり、変形速度を更に向上させた。
【0104】
上記手法によって第2グリッドにおける各画素点の変形前の第1位置を取得して、第1位置と第2位置との間の差により変形パラメータを決定することができる。
【0105】
上記実施例に記載したように、変形パラメータは事前設定変形テンプレートの第2グリッド内の各第2画素点の初期位置を含んでもよく、第2画素点の現在位置とこの初期位置との間の差に基づいて、各画素点のこの変形効果に対応する位置ずれを決定可能である。また、本開示の他の実施例では、変形パラメータ内のパラメータ値は各画素点の変形操作に対応する位置ずれであってよい。ここで、本開示の実施例の位置ずれはいずれもベクトル値であり、長さ方向と幅方向のずれを含む。
【0106】
即ち、本開示の実施例では、第2グリッドは変形を実行する時に各画素点に発生した位置ずれを対応的に有してもよく、この時に、形状変更後の各画素点の位置と形状変更前の位置との間の差により、各画素点のタッチ操作による位置ずれを決定し、それに基づいて変形パラメータを確立するようにしてよい。ここで、第2グリッドは第1グリッドのサイズとマッチングするグリッドであってもよいし、マッチングしないグリッドであってもよく、第2グリッドと第1グリッドのサイズがマッチングしない場合、第2グリッドの変形効果を保留するように第2グリッドのサイズを変更してよい。例えば、均一にサンプリングすることによって、この第2グリッドに基づいて第1グリッドのサイズとマッチングするグリッドを取得してよい。他の実施例では、他の手法によって第1グリッドと第2グリッドをマッチングするようにしてもよく、本開示の実施例はそれを限定するものではない。
【0107】
又は、変形パラメータの画素点と第1グリッド内の画素点が一対一に対応するように、第1グリッドのサイズに応じて変形パラメータの次元を調節してもよい。即ち、本開示の実施例においてステップS2023で取得された変形パラメータは事前設定変形テンプレート内の変形領域に対応する変形パラメータであってよく(以下、第1画素行列で区別する)、事前設定変形テンプレートと同じ変形効果を実現するために、この第1画素行列で第1画像の変形操作を実行してよい。ここで、第1グリッドの変形パラメータと第1グリッドのサイズがマッチングすることを確保するために、即ち、第1グリッドにおける長さ方向と幅方向の画素点を変形パラメータの各画素点のパラメータと一対一に対応させるために、第1グリッドのサイズに応じて第1変形画素行列の次元を調節する必要がある。
【0108】
上記構成によれば、変形効果に対応する変形パラメータを取得でき、それによってこの変形パラメータにより第1画像の変形操作を実行できる。
【0109】
ここで、本開示の実施例では、前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得する前記ステップは、
線形補間アルゴリズムを用いて、前記変形パラメータにおける各画素点の位置ずれに基づいて、目標対象における対応画素点の位置を調節するステップと、位置が調節された後の画素点の階調値を位置調節が実行されていない時の画素点の階調値とするステップと、を含んでよい。前記位置ずれに基づいて、前記目標対象の画素点を元の位置から新しい位置に調節する場合に、前記画素点の元の位置での画素値で新しい位置での画素値を置き換える。即ち、画素点に位置処理を実行し、画素点を元の位置から新しい位置に調整する時に、元の位置の時の画素点の画素値を新しい位置に保留してもよく、それによって目標対象の変形処理を実現する。ここで、画素値を階調値で表してもよいが、本開示を具体的に限定しない。
【0110】
ここで、例えば、上記実施例の線形補間アルゴリズムはバイリニア補間アルゴリズムであってよく、このアルゴリズムによれば各画素点の画素値を高速に取得できる。
図7に本開示に係る実施例で変形パラメータに基づいて変形処理を実行する構造模式図を示し、
図8に本開示に係る実施例で取得された第2画像の模式図を示し、ここで、本開示の実施例は、画像の変形処理を容易且つ高速に実行できる。
【0111】
そのため、本開示の実施例は、単にドラッグし、又はイメージ、ラベルを追加することで変形操作を実行することではなく、必要な変形効果に応じて画像を直接変形処理できる。本開示の実施例によれば、画像の変形をより簡便且つ容易に実行でき、適用可能性がより優れる。また、ベジェ曲面アルゴリズムに基づいて最適化したグリッド変形アルゴリズムに基づいて、制御点によって画像変形を制御でき、最適化された後の、制御点によって制御する画像変形アルゴリズムの複雑度が大幅に低減され、面部娯楽化変形以外の自由変形要求のある他の画像処理アルゴリズムに適応可能であり、更にグリッド変形によって画像変形処理の複雑度を低減することも可能である。また、本開示の実施例は、グリッドと面部キーポイントを組み合わせることで豊富な面部変形効果を実現でき、異なる回転角度、異なる大きさの面部画像に対しても優れる変形結果を達成でき、ビデオ内の面部の変形処理の時にも安定的な効果を達成できる。
【0112】
本開示で言及される上記各方法の実施例は、原理と論理に違反しない限り、相互に組み合わせて、組合せ後の実施例を形成することができることが理解され、ページ数に限りがあるので、本開示では詳細な説明を省略する。
【0113】
また、本開示は画像処理装置、電子機器、コンピュータ読取可能記憶媒体、プログラムを更に提供し、それらはいずれも本開示で提供されるいずれか1種の画像処理方法を実現することに利用可能であり、対応する技術的解決手段及び説明については方法部分の対応の記載を参照してもよく、ここで詳細な説明を省略する。
【0114】
本開示の実施例は、コンピュータプログラムコマンドが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムコマンドがプロセッサにより実行される時に上記方法を実現するコンピュータ可読記憶媒体を更に提案する。コンピュータ可読記憶媒体は非揮発性コンピュータ可読記憶媒体又は揮発性コンピュータ可読記憶媒体であってよい。
【0115】
本開示の実施例は、プロセッサと、プロセッサ実行可能コマンドを記憶するためのメモリと、を含み、前記プロセッサが上記方法を実行するように構成される電子機器を更に提案する。
【0116】
電子機器は、端末、サーバ又は他の形態のデバイスとして提供されてよい。
【0117】
図9は本開示に係る実施例の画像処理装置のブロック図であり、ここで、この装置は、
第1画像における目標対象とマッチングする第1領域を決定するように構成される第1決定モジュール100と、
事前設定変形効果に基づいて、変形パラメータを決定するように構成される第2決定モジュール200であって、前記変形パラメータが、目標対象の各画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられる第2決定モジュール200と、
前記変形パラメータに基づいて前記第1画像における目標対象を変形処理して第2画像を取得するように構成される変形モジュール300と、を含んでよい。
【0118】
本開示の実施例では、前記第1決定モジュールは、更に、前記目標対象に対応する第1グリッドを形成することによって、前記第1領域を決定するように構成され、前記第1グリッドが第1領域とマッチングする。
【0119】
本開示の実施例では、前記変形パラメータは、変形画素行列であり、前記変形画素行列における各パラメータが、目標対象の対応画素点の前記事前設定変形効果によって生じる位置ずれを決定するために用いられる。
【0120】
本開示の実施例では、前記第1決定モジュールは、更に、第1画像における目標対象の特徴点の位置を決定し、各前記特徴点同士の相対的位置に基づいて前記第1領域を決定するように構成される。
【0121】
本開示の実施例では、前記第2決定モジュールは、更に、事前設定変形テンプレートが存在するか否かを決定し、事前設定変形テンプレートが存在する場合に、事前設定アルゴリズムを用いて前記事前設定変形テンプレートに基づいて前記変形パラメータを決定するように構成される。
【0122】
本開示の実施例では、前記第2決定モジュールは、更に、前記事前設定変形テンプレートが存在しない場合に、画像変形のための、変形グリッドである第2グリッドを取得し、事前設定アルゴリズム及び前記第2グリッドにおける第2画素点の第2位置を用いて、前記変形パラメータを決定するように構成される。
【0123】
本開示の実施例では、前記第2決定モジュールは、更に、事前設定変形画像に基づいて変形操作を実行する第1コマンドが受信された時に、前記事前設定変形テンプレートが存在すると決定するように構成される。
【0124】
本開示の実施例では、前記第2決定モジュールは、更に、前記事前設定変形テンプレートの変形領域とマッチングする第3グリッドを決定し、
前記第3グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、事前設定アルゴリズム及び各サブグリッドの4つの制御点に基づいて、第3グリッドにおける各第1画素点の変形前の第3位置を決定し、
各第1画素点の変形前の第3位置と前記各第1画素点の第3グリッドにおいて対応する第4位置とに基づいて、前記変形パラメータを決定するように構成される。
【0125】
本開示の実施例では、前記第2決定モジュールは、更に、前記第2グリッド内の各サブグリッドの4つの頂点を4つの制御点とし、
前記事前設定アルゴリズムに基づいて、第2グリッドにおける各第2画素点の変形前の第1位置を決定し、
各第2画素点の、変形前の第1位置と第2グリッドにおいて対応する第2位置とに基づいて前記変形パラメータを決定するように構成される。
【0126】
本開示の実施例では、前記事前設定アルゴリズムの数式は以下のとおりである。
【0127】
p(u,v)=d_1*u+d_2*v+d_3*u*v+d_4 式1
ただし、d_i=(a_i,b_i)、それは変形グリッドにおける各サブグリッドの制御点の座標によって決定され、iは5より小さい正整数であり、uとvは変形グリッドにおける各画素点の未変形時の位置の横座標と縦座標であり、p(u,v)は変形グリッドにおける各画素点の変形後の位置座標であり、前記変形グリッドは第2グリッド又は第3グリッドである。
【0128】
本開示の実施例では、前記第2決定モジュールは、更に、第1領域に対する変形操作を受信し、前記変形操作に基づいて前記第2グリッドを取得するか、又は記憶されている第2グリッドを取得するように構成される。
【0129】
本開示の実施例では、前記第2決定モジュールは、更に、変形画素行列における画素点と第1領域内の画素点が一対一に対応するように、前記第1領域の長さ方向の画素点数量と幅方向の画素点数量に基づいて、前記変形画素行列の次元を調節するように構成され、
前記変形モジュールは、更に、次元調節後の変形画素行列を用いて、第2画像を取得するように構成される。
【0130】
本開示の実施例では、前記変形モジュールは、更に、線形補間アルゴリズムを用いて、前記変形パラメータにおける各画素点の位置ずれに基づいて、目標対象における対応画素点の位置を調節するように構成される。
【0131】
本開示の実施例では、前記第1決定モジュールは、更に、前記目標対象が面部を含む場合、鼻筋中心を第1領域の中心とし、
両目の外側縁の間の距離に基づいて前記第1領域の幅を決定し、
眉間と鼻先との間の距離に基づいて前記第1領域の高さを決定するように構成される。
【0132】
本開示の実施例では、前記第1決定モジュールは、更に、前記第1画像における目標対象の位置及びサイズとマッチングする、複数のサブグリッドに等分された第1グリッドを決定するように構成される。
【0133】
要約すると、本開示の実施例は、簡単にドラッグし、又はイメージ、ラベルを加えることで変形操作を実行することではなく、直接必要な変形効果に応じて画像を変形処理できる。本開示の実施例によれば、画像の変形をより簡便且つ容易に実行でき、適用可能性がより優れる。また、ベジェ曲面アルゴリズムに基づいて最適化したグリッド変形アルゴリズムに基づいて、制御点によって画像変形を制御でき、最適化された後の、制御点によって制御する画像変形アルゴリズムの複雑度が大幅に低減され、面部娯楽化変形以外の自由変形要求のある他の画像処理アルゴリズムに適応可能であり、更にグリッド変形によって画像変形処理の複雑度を低減することも可能である。また、本開示の実施例は、グリッドと面部キーポイントを組み合わせることで豊富な面部変形効果を実現でき、異なる回転角度、異なる大きさの面部画像に対しても優れる変形結果を達成でき、ビデオ内の面部の変形処理の時にも安定的な効果を達成できる。
【0134】
図10に本開示に係る実施例の電子機器のブロック図を示す。電子機器は端末、サーバ又は他の形態のデバイスとして提供されてよい。電子機器は画像処理装置800を含んでよい。例えば、この装置800は携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信装置、ゲームコンソール、タブレット装置、医療機器、フィットネス器具、パーソナル・デジタル・アシスタントなどの端末であってよい。
【0135】
図10を参照すると、装置800は処理コンポーネント802、メモリ804、電源コンポーネント806、マルチメディアコンポーネント808、オーディオコンポーネント810、入力/出力(I/O)インタフェース812、センサコンポーネント814、および通信コンポーネント816の一つ以上を含むことができる。
【0136】
処理コンポーネント802は通常、装置800の全体的な動作、例えば表示、電話の呼び出し、データ通信、カメラ動作および記録動作に関連する動作を制御する。処理コンポーネント802は、上記方法の全てまたは一部のステップを完了するために、一つ以上のプロセッサ820を含んで命令を実行することができる。また、処理コンポーネント802は、他のコンポーネントとの対話のために、一つ以上のモジュールを含むことができる。例えば、処理コンポーネント802は、マルチメディアコンポーネント808との対話のために、マルチメディアモジュールを含むことができる。
【0137】
メモリ804は装置800での動作をサポートするために様々なタイプのデータを記憶するように構成される。これらのデータの例は装置800において運用するためのあらゆるアプリケーションプログラムまたは方法の命令、連絡先データ、電話帳データ、メッセージ、ピクチャー、ビデオなどを含む。メモリ804は、例えば静的ランダムアクセスメモリ(SRAM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、プログラマブル読み取り専用メモリ(PROM)、読み取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスクまたは光ディスクなどの様々なタイプの揮発性または非揮発性記憶機器またはそれらの組み合わせによって実現できる。
【0138】
電源コンポーネント806は装置800の各コンポーネントに電力を供給する。電源コンポーネント806は電源管理システム、一つ以上の電源、および装置800のための電力生成、管理および配分に関連する他のコンポーネントを含むことができる。
【0139】
マルチメディアコンポーネント808は前記装置800とユーザとの間で出力インタフェースを提供する画面を含む。いくつかの実施例では、画面は液晶ディスプレイ(LCD)およびタッチパネル(TP)を含むことができる。画面がタッチパネルを含む場合、ユーザからの入力信号を受信するために、タッチ画面として実現してもよい。タッチパネルは、タッチ、スライドおよびタッチパネルでのジェスチャを検知するために、一つ以上のタッチセンサを含む。前記タッチセンサはタッチまたはスライド動きの境界を検知するのみならず、前記タッチまたはスライド操作に関連する持続時間および圧力を検出することもできる。いくつかの実施例では、マルチメディアコンポーネント808は前面カメラおよび/または後面カメラを含む。装置800が動作モード、例えば撮影モードまたは撮像モードになる場合、前面カメラおよび/または後面カメラは外部のマルチメディアデータを受信することができる。各前面カメラおよび後面カメラは固定された光学レンズ系または焦点距離および光学ズーム能力を有するものであってもよい。
【0140】
オーディオコンポーネント810はオーディオ信号を出力および/または入力するように構成される。例えば、オーディオコンポーネント810は、装置800が動作モード、例えば呼び出しモード、記録モードおよび音声認識モードになる場合、外部のオーディオ信号を受信するように構成されたマイク(MIC)を含む。受信されたオーディオ信号はさらにメモリ804に記憶されるか、または通信コンポーネント816によって送信されてもよい。いくつかの実施例では、オーディオコンポーネント810はさらに、オーディオ信号を出力するためのスピーカーを含む。
【0141】
I/Oインタフェース812は処理コンポーネント802と周辺インタフェースモジュールとの間でインタフェースを提供し、上記周辺インタフェースモジュールはキーボード、クリックホイール、ボタンなどであってもよい。これらのボタンはホームボタン、音量ボタン、スタートボタンおよびロックボタンを含むことができるが、これらに限定されない。
【0142】
センサコンポーネント814は装置800に各面での状態評価を提供するための一つ以上のセンサを含む。例えば、センサコンポーネント814は装置800のオン/オフ状態、コンポーネントの相対的位置決め、例えば前記コンポーネントが装置800の表示装置およびキーパッドであることを検出でき、センサコンポーネント814はさらに、装置800または装置800のあるコンポーネントの位置の変化、ユーザと装置800との接触の有無、装置800の方位または加減速および装置800の温度変化を検出できる。センサコンポーネント814は、いかなる物理的接触もない場合に近傍の物体の存在を検出するために用いられるように構成された近接センサを含む。センサコンポーネント814はさらに、CMOSまたはCCDイメージセンサのような、イメージングアプリケーションにおいて使用するための光センサを含むことができる。いくつかの実施例では、該センサコンポーネント814はさらに、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサまたは温度センサを含むことができる。
【0143】
通信コンポーネント816は装置800と他の機器との間の有線または無線通信を実現するように配置される。装置800は通信規格に基づく無線ネットワーク、例えばWiFi、2Gまたは3G、またはそれらの組み合わせにアクセスできる。一例示的実施例では、通信コンポーネント816は放送チャネルによって外部の放送管理システムの放送信号または放送関連情報を受信する。一例示的実施例では、前記通信コンポーネント816はさらに、近距離通信を促進させるために、近距離無線通信(NFC)モジュールを含む。例えば、NFCモジュールでは無線周波数識別(RFID)技術、赤外線データ協会(IrDA)技術、超広帯域(UWB)技術、ブルートゥース(BT)技術および他の技術によって実現できる。
【0144】
例示的な実施例では、装置800は一つ以上の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサまたは他の電子要素によって実現し、上記方法を実行するために用いることができる。
【0145】
例示的な実施例では、さらに、コンピュータプログラムコマンドが記憶されているものであって、前記コンピュータプログラムコマンドがプロセッサにより実行される時に上記実施例に記載の画像処理方法を実現する非揮発性コンピュータ読み取り可能記憶媒体、例えばコンピュータプログラムコマンドを含むメモリ804が提供され、上記コンピュータプログラムコマンドは装置800のプロセッサ820によって実行して上記方法を完了することができる。
【0146】
図11は本開示に係る実施例の別の電子機器のブロック図である。例えば、電子機器1900はサーバとして提供できる。
図11を参照すると、電子機器1900は、さらに一つ以上のプロセッサを含む処理コンポーネント1922、および、処理コンポーネント1922によって実行可能な命令、例えばアプリケーションプログラムを記憶するための、メモリ1932を代表とするメモリ資源を含む。メモリ1932に記憶されたアプリケーションプログラムはそれぞれが1グループの命令に対応する一つ以上のモジュールを含むことができる。また、処理コンポーネント1922は命令を実行し、それによって上記方法を実行するように構成される。
【0147】
電子機器1900はさらに、電子機器1900の電源管理を実行するように構成された電源コンポーネント1926、電子機器1900をネットワークにアクセスするように構成された有線または無線ネットワークインタフェース1950、および入出力(I/O)インタフェース1958を含むことができる。電子機器1900はメモリ1932に記憶されたオペレーティングシステム、例えばWindows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTMまたは類似するものに基づいて動作できる。
【0148】
例示的な実施例では、さらに、非揮発性コンピュータ読み取り可能記憶媒体、例えばコンピュータプログラム命令を含むメモリ1932が提供され、上記コンピュータプログラム命令は電子機器1900の処理コンポーネント1922によって実行して上記方法を完了することができる。
【0149】
本開示はシステム、方法および/またはコンピュータプログラム製品であってもよい。コンピュータプログラム製品はプロセッサに本開示の各態様を実現させるためのコンピュータ読み取り可能プログラム命令がロードされているコンピュータ読み取り可能記憶媒体を含むことができる。
【0150】
コンピュータ読み取り可能記憶媒体は命令実行機器により使用される命令を保存および記憶可能な有形機器であってもよい。コンピュータ読み取り可能記憶媒体は例えば、電気記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置または上記の任意の適当な組み合わせであってもよいが、これらに限定されない。コンピュータ読み取り可能記憶媒体のさらに具体的な例(非包括的リスト)としては、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、機械的符号化装置、例えば命令が記憶されているせん孔カードまたはスロット内突起構造、および上記の任意の適当な組み合わせを含む。ここで使用されるコンピュータ読み取り可能記憶媒体は瞬時信号自体、例えば無線電波または他の自由に伝播される電磁波、導波路または他の伝送媒体を経由して伝播される電磁波(例えば、光ファイバーケーブルを通過するパルス光)、または電線を経由して伝送される電気信号と解釈されるものではない。
【0151】
ここで記述したコンピュータ読み取り可能プログラム命令はコンピュータ読み取り可能記憶媒体から各計算/処理機器にダウンロードされてもよいし、またはネットワーク、例えばインターネット、ローカルエリアネットワーク、広域ネットワークおよび/または無線ネットワークによって外部のコンピュータまたは外部記憶装置にダウンロードされてもよい。ネットワークは銅伝送ケーブル、光ファイバー伝送、無線伝送、ルーター、ファイアウォール、交換機、ゲートウェイコンピュータおよび/またはエッジサーバを含むことができる。各計算/処理機器内のネットワークアダプタカードまたはネットワークインタフェースはネットワークからコンピュータ読み取り可能プログラム命令を受信し、該コンピュータ読み取り可能プログラム命令を転送し、各計算/処理機器内のコンピュータ読み取り可能記憶媒体に記憶する。
【0152】
本開示の動作を実行するためのコンピュータプログラム命令はアセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語、および「C」言語または類似するプログラミング言語などの一般的な手続き型プログラミング言語を含む一つ以上のプログラミング言語の任意の組み合わせで書かれたソースコードまたは目標コードであってもよい。コンピュータ読み取り可能プログラム命令は、完全にユーザのコンピュータにおいて実行されてもよく、部分的にユーザのコンピュータにおいて実行されてもよく、スタンドアロンソフトウェアパッケージとして実行されてもよく、部分的にユーザのコンピュータにおいてかつ部分的にリモートコンピュータにおいて実行されてもよく、または完全にリモートコンピュータもしくはサーバにおいて実行されてもよい。リモートコンピュータに関与する場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを経由してユーザのコンピュータに接続されてもよく、または、(例えばインターネットサービスプロバイダを利用してインターネットを経由して)外部コンピュータに接続されてもよい。いくつかの実施例では、コンピュータ読み取り可能プログラム命令の状態情報を利用して、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブル論理アレイ(PLA)などの電子回路をパーソナライズすることで、該電子回路はコンピュータ読み取り可能プログラム命令を実行し、それにより本開示の各態様を実現できるようになる。
【0153】
なお、ここで本開示の実施例に係る方法、装置(システム)およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照しながら本開示の各態様を説明しが、フローチャートおよび/またはブロック図の各ブロックおよびフローチャートおよび/またはブロック図の各ブロックの組み合わせは、いずれもコンピュータ読み取り可能プログラム命令によって実現できることを理解すべきである。
【0154】
これらのコンピュータ読み取り可能プログラム命令は、機械を製造するために、共通コンピュータ、専用コンピュータまたは他のプログラマブルデータ処理装置のプロセッサへ提供されてもよく、それにより、これらの命令はコンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行され、フローチャートおよび/またはブロック図の一つ以上のブロックにおいて指定された機能/動作を実現する手段を創出する。また、これらのコンピュータ読み取り可能プログラム命令は、コンピュータ読み取り可能記憶媒体に記憶し、それによってコンピュータ、プログラマブルデータ処理装置および/または他の機器を特定の方式で動作させるようにしてもよく、それにより、中に保存された命令を有するコンピュータ読み取り可能記憶媒体は、フローチャートおよび/またはブロック図の一つ以上のブロックにおいて指定された機能/動作の各態様を実現する命令を含む製品を備える。
【0155】
コンピュータ読み取り可能プログラムはコンピュータ、他のプログラマブルデータ処理装置、または他の機器にロードすることにより、コンピュータ実施プロセスを生成するように、コンピュータ、他のプログラマブルデータ処理装置または他の機器において一連の動作ステップを実行させるようにしてもよく、それにより、コンピュータ、他のプログラマブルデータ処理装置、または他の機器において実行される命令はフローチャートおよび/またはブロック図の一つ以上のブロックにおいて指定された機能/動作を実現する。
【0156】
図面のうちフローチャートおよびブロック図は本開示の複数の実施例に係るシステム、方法およびコンピュータプログラム製品の実現可能なシステムアーキテクチャ、機能および動作を示す。この点では、フローチャートまたはブロック図における各ブロックは一つのモジュール、プログラムセグメントまたは命令の一部分を代表することができ、前記モジュール、プログラムセグメントまたは命令の一部分は指定された論理機能を実現するための一つ以上の実行可能命令を含む。いくつかの置換としての実現形態では、ブロックに表記される機能は図面に付したものと異なる順序で実現してもよい。例えば、二つの連続的なブロックは実質的に同時に実行してもよく、また、係る機能によって、それらは逆な順序で実行してもよい場合がある。なお、ブロック図および/またはフローチャートにおける各ブロック、およびブロック図および/またはフローチャートにおけるブロックの組み合わせは、指定される機能または動作を実行するハードウェアに基づく専用システムによって実現してもよいし、または専用ハードウェアとコンピュータ命令との組み合わせによって実現してもよいことに注意すべきである。
【0157】
以上、本開示の各実施例を記述したが、上記説明は例示的なものに過ぎず、網羅的なものではなく、かつ披露された各実施例に限定されるものでもない。当業者にとって、説明された各実施例の範囲および精神から逸脱することなく、様々な修正および変更が自明である。本明細書に選ばれた用語は、各実施例の原理、実際の適用または市場における技術への技術的改善を好適に解釈するか、または他の当業者に本文に披露された各実施例を理解させるためのものである。