JP2013254394A - 画像検証方法、画像検証装置、およびプログラム - Google Patents

画像検証方法、画像検証装置、およびプログラム Download PDF

Info

Publication number
JP2013254394A
JP2013254394A JP2012130159A JP2012130159A JP2013254394A JP 2013254394 A JP2013254394 A JP 2013254394A JP 2012130159 A JP2012130159 A JP 2012130159A JP 2012130159 A JP2012130159 A JP 2012130159A JP 2013254394 A JP2013254394 A JP 2013254394A
Authority
JP
Japan
Prior art keywords
image
verification
correct
identity
pixels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012130159A
Other languages
English (en)
Other versions
JP5764527B2 (ja
Inventor
Ippei Kumagawa
一平 熊川
Yui Kobayashi
由依 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2012130159A priority Critical patent/JP5764527B2/ja
Publication of JP2013254394A publication Critical patent/JP2013254394A/ja
Application granted granted Critical
Publication of JP5764527B2 publication Critical patent/JP5764527B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Image Analysis (AREA)

Abstract

【課題】ソフトウェア開発における画像比較処理において、ピクセル単位では異なる2つの画像についてもシステム開発プロジェクトの特性に応じて両者を実質同一であると判断することが可能な画像検証方法を提供すること。
【解決手段】比較対象である正解画像と検証画像のそれぞれから画像内の文字列を抽出して比較する。また、正解画像と検証画像のそれぞれから、各画像を構成するピクセルのRGB値のうち最もピクセル数の多いRGB値である背景色RGB値を抽出して比較する。正解画像と検証画像の各画像を構成するピクセルについての一致率を算出し、一致率が閾値未満である場合には、正解画像と検証画像とがソフトウェア開発における画像比較処理において要求される同一性の程度を満たすか検証する画像検証方法。
【選択図】図6

Description

本発明は、ソフトウェア開発における画像検証方法に関する。
ソフトウェア開発においては、画像の同一性の検証処理を行う場合がある。例えば、ソフトウェアの更改などの際には、ユーザ操作の利便性の観点から、ソフトウェアの更改前の表示画面と更改後の表示画面とが同一であることを求められる場合がある(特にユーザが入力操作等を行う画面)。このような場合、システムインテグレータは、顧客の要望に応じて同一画面を作成する。また、ソフトウェアの更改作業後には、ユーザが利用する画面の同一性を試験する試験工程が設けられる。
このような試験に資するものとして、比較対象となる画面(例えば、更改前と更改後の画面)をキャプチャした2つの画像について、各画像を構成する各ピクセルのRGB値を比較することにより、両画像が一致しているか否かを判断する技術がある。このような技術を利用することにより、非常に高い精度で両画像が一致しているか否かの判断が可能となる。そのため、例えば、システムの画面内に存在するはずのユーザ入力欄がないことを検出できるなど、システムの品質向上につながるメリットがあるとともに、画像比較処理にかかるコストの削減につながるというメリットがある。
特開2010−102639号公報
しかしながら、各画像を構成する各ピクセルのRGB値を比較する方法では、高精度に画像の比較が可能となる一方で、比較対象の2つの画像が多少相違しているが、例えば、ユーザがソフトウェアを利用するに当たっては特段の支障がない範囲の違いであっても、両者は異なる画像であると判断される。
例えば、上述したソフトウェアの更改の場合において、システム画面上においてユーザ入力欄などの入力項目に過不足はなく、画面上に表示されている文字も同じであるにも関わらず、システム起動時に利用するウェブブラウザのバージョンが異なると、入力項目や文字列のレイアウトが多少変わってしまう場合がある。また、PDFファイルを出力するソフトウェアのバージョンの違いにより、特定の文字の太さが異なる場合がある。さらに、両画像をキャプチャした際の解像度が異なることにより、厳密には両画像が同一画像ではなくなってしまう場合がある。
これらの場合、両画像に生じる差異は、ユーザがシステムを利用するための画面としては差し支えない程度の差異であるため、システム利用の観点からは両画像は同一画像であると判定されるべきである。それにもかかわらず、試験工程においてこれらが異なる画像であると判定されると、試験担当者の目視による確認等が必要となる。そのため、試験工程にかかるコストが増大してしまうという問題があった。また、ソフトウェア開発においては、このような画像比較処理は試験工程以外で行われる場合もある。
そこで、本発明は、上記課題を解決するために、ソフトウェア開発における画像比較処理において、比較対象の画像がピクセル単位では異なる場合でも、システム開発プロジェクトの特性に応じて両者が実質同一であると判断することが可能な画像検証方法を提供することを目的とする。
上記課題を解決するために、本発明の一態様は、ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行する画像検証方法であって、前記正解画像と、前記検証画像と、を取得するステップと、前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較するステップと、前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのRGB値のうち、最もピクセル数の多いRGB値である背景色RGB値を抽出して比較するステップと、前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色RGB値以外のRGB値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のRGB値を持つピクセルの比率である一致率を算出するステップと、前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証するステップと、前記文字列を抽出して比較するステップ、前記背景色RGB値を抽出して比較するステップ、および前記同一性の程度を満たすか検証するステップの実行結果を出力するステップと、を含む画像検証方法である。
また、本発明の他の態様は、ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証する画像検証装置であって、前記正解画像と、前記検証画像と、を取得する取得部と、前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較する文字列比較部と、前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのRGB値のうち、最もピクセル数の多いRGB値である背景色RGB値を抽出して比較する背景色比較部と、前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色RGB値以外のRGB値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のRGB値を持つピクセルの比率である一致率を算出する一致率算出部と、前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証する同一性検証部と、前記文字列比較部、前記背景色比較部、および前記同一性検証部の実行結果を出力する結果出力部と、を備える画像検証装置である。
また、本発明の他の態様は、ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行するプログラムであって、前記コンピュータ装置に、前記正解画像と、前記検証画像と、を取得する処理と、前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較する処理と、前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのRGB値のうち、最もピクセル数の多いRGB値である背景色RGB値を抽出して比較する処理と、前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色RGB値以外のRGB値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のRGB値を持つピクセルの比率である一致率を算出する処理と、前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証する処理と、前記文字列を抽出して比較する処理、前記背景色RGB値を抽出して比較する処理、および前記同一性の程度を満たすか検証する処理の実行結果を出力する処理と、を実行させるためのプログラムである。
本発明によれば、ソフトウェア開発において画像比較処理を行うにあたり、システム開発プロジェクトの特性に応じて許容される範囲内の誤差を考慮した画像比較を行うことができる。これにより、画像比較処理において無用なコストがかかることを回避することができる。さらに、プロジェクト特性に応じた画像比較処理の前に、画像中の文字列や背景色の比較処理を実行することにより、両画像に大きな差異を許容することを回避することができる。
本発明の一実施形態に係る画像検証方法の概要を示す図である。 画像のレンダリングによる差分の一例を示す図である。 画面上の図形の表示位置の相違による差分の一例を示す図である。 画像の解像度の相違による差分の一例を示す図である。 全体における表示位置の相違による差分の一例を示す図である。 本発明の一実施形態に係る画像検証方法の全体の処理の流れの一例を示すメインフロー図である。 正解画像と検証画像の背景のRGB値の抽出方法の一例を示すフロー図である。 一致率の算出方法の一例を示すフロー図である。 画像のレンダリングによる差分の検証処理の流れの一例を示すフロー図である。 正解画像と検証画像とにおける図形の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。 正解画像と検証画像の解像度の相違による差分の検証処理の流れの一例を示すフロー図である。 正解画像と検証画像の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。 本発明の一実施形態に係る画像検証方法の検証結果の出力の一例を示す図である。 本発明の一実施形態に係る画像検証方法を実行する画像検証装置の構成の一例を示す図である。
以下、図面を参照して、本発明の実施形態について説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
(画像検証方法の概要)
まず、本実施形態に係る画像検証方法の概要について説明する。本実施形態に係る画像検証方法は、ソフトウェア開発での試験工程において画像の比較検証を行う方法である。なお、以下の説明においては、一例として、ソフトウェアの更改作業の試験工程において、更改前のソフトウェアの表示画像(例えば、表示画面の一静止画を画像として保存したものや表示画面の全体をキャプチャして画像として保存したもの、等。以下、同様。)(以下、「正解画像」という)と、更改後のソフトウェアの表示画像(以下、「検証画像」という)とを比較して、ユーザ利用の観点から両者が実質的に同一であるか否かを考慮した画像比較検証を行う場合について説明するが、これに限定されるものではない。
本実施形態の画像検証方法では、プロジェクト特性に応じた画像比較検証の一例として、(a)画像のレンダリングによる差分を考慮した画像検証、(b)図形の表示位置の相違による差分を考慮した画像検証、(c)画像の解像度の相違による差分を考慮した画像検証、(d)全体における表示位置の相違による差分を考慮した画像検証を行う。プロジェクト特性とは、ソフトウェア開発における画像比較処理において画像の同一性をどの程度要求するかを示す特性である。本例であれば、システムの更改の内容(例えば、オペレーティングシステムの変更、ハードウェアの変更、等)によって、要求される実質同一性の幅が異なる。そこで、本実施形態の画像検証方法では、このプロジェクト特性に応じた判断を可能とする。
また、本実施形態に係る画像検証方法では、より効率的に画像検証を行うため、これらの画像比較検証を行う前処理として、図1に示されるように(1)画像上の表示文字列の比較と、(2)背景色の比較を行う。表示文字列と背景色の比較を前処理として行う理由は、比較対象の画像においてこれらの情報が異なるということは、どのようなソフトウェア開発プロジェクトにおいても許容できない重大な差異であると言うことができるからである。そして、これらの比較検証を行った上で、さらに、(3)両画像の各ピクセルのRGB値が一致するかを検証する。
そして、上記の(1)〜(3)の処理を実行した後、プロジェクト特性に応じた画像検証として(a)〜(d)の処理を実行する。図2〜図5は、画像検証(a)〜(d)において検証対象とする画像の差分について説明する図である。
(a)画像のレンダリングによる差分
図2は、画像のレンダリングによる差分の一例を示す図である。図2に示される例では、正解画像10と検証画像20はそれぞれ、ウェブブラウザにおいて、選択リストボックス51、52が表示された状態をキャプチャした画像である。このようにウェブブラウザに表示されるパーツ等は、これらを表示するウェブブラウザのバージョン等によって、形状が若干異なる、枠線の太さが異なる、陰影の有無、などの違いが起きる場合がある。しかしながら、このような差異はユーザがリストボックスを操作するにあたっては特段問題がないため、本実施形態に係る画像検証方法では両画像は実質同一であると判断する。
(b)図形の表示位置の相違による差分
図3は、画面上の図形の表示位置の相違による差分の一例を示す図である。図3に示される例では、正解画像10と検証画像20はそれぞれ、ウェブブラウザにおいて、ユーザがマウス等の入力デバイスで選択することが可能なボタン61、62、64、65とチェックボックス63、66が表示された画面をキャプチャした画像である。正解画像10と検証画像20とでは、ボタンとチェックボックスの位置が異なっているが、ユーザがこのウェブ画面を操作するにあたっては特段問題がない。
(c)画像の解像度の相違による差分
図4は、画像の解像度の相違による差分の一例を示す図である。正解画像10と検証画像20の解像度が異なる場合、ピクセル単位で比較すると両画像は異なる画像であるとして判断されてしまうが、ユーザのシステム利用においては特段問題がない。
(d)全体における表示位置の相違による差分
図5は、全体における表示位置の相違による差分の一例を示す図である。図5に示される例では、更改前の表示画面71と更改後の表示画面72のそれぞれにおいて、正解画像10と検証画像20の表示位置が異なっている。更改前と更改後とにおいて表示位置が大幅にずれているとシステムを利用するユーザにも違和感を与える可能性があるが、多少のずれであればそれほど違和感を与えることもなく、システム利用上、特段問題はない。よって、本実施形態に係る画像検証方法では、ある範囲内のずれであれば、両画像は実質同一であると判断する。
(画像検証方法の処理フロー)
以下、フローチャートを用いて、コンピュータ装置によって実行される本実施形態に係る画像検証方法の処理フローについて説明する。
(メイン処理フロー)
図6は、本実施形態の画像検証方法の全体の処理の流れの一例を示すメインフロー図である。
まず、正解画像10、検証画像20、およびプロジェクト特性情報30のデータファイルを読み込む(ステップS102)。プロジェクト特性情報30は、具体的には例えば、図2〜図5に示した各種の要因による差分について許容可能であるか否か(各種の要因による差分の検証のうちのいずれを実行するか)を示す情報である。また、プロジェクト特性情報30は、例えばシステムの更改がどのような内容であるか(オペレーティングシステムの変更、ハードウェアの変更、等)を示す情報であってもよい。そして、画像検証装置がプロジェクト特性情報30を読み込み、システムの更改の内容によって、図2〜図5に示した差分の検証処理のうちのいずれを実行するかを決定するようになっていてもよい。
具体的には例えば、プロジェクト特性情報30に示される更改内容(オペレーティングシステムの変更、ハードウェアの変更、等)と、この更改内容のそれぞれについて図2〜図5に示した各種の要因による差分のうちのいずれが許容可能であるかを示す情報とを関連付けたデータベース等を画像検証装置のメモリ等にあらかじめ記憶させておく。そして、画像検証装置はプロジェクト特性情報30を読み込むと、このデータベース等を参照して、プロジェクト特性情報30に記述されている更改内容に関連付けられている図2〜図5に示される差分の検証処理を行うようになっていてもよい。
正解画像10および検証画像20から、文字列を抽出し、抽出した文字列を比較する(ステップS104)。
比較した結果、文字列に差分がある場合には(ステップS106:Yes)、文字列比較結果として、「文字列NG」を登録する(「登録する」とは、例えば、画像検証装置のRAM(Random Access Memory)等の記憶装置に記憶することである。以下、同様。)(ステップS108)。文字列に差分がない場合には(ステップS106:No)、文字列比較結果として、「文字列OK」を登録する(ステップS110)。
正解画像10における「背景のRGB値」を抽出し(ステップS112)、さらに、検証画像20における「背景のRGB値」を抽出する(ステップS114)。ここで、各画像における「背景のRGB値」とは、一画面(静止画像)を構成するピクセルのうち、同一のRGB値を有するピクセルの数が最も多いRGB値をいう。
また、ステップS112およびステップS114における正解画像10と検証画像20における「背景のRGB値」の抽出方法は同様の方法によって行われる。この点について、図7を用いて具体的に説明する。図7は、各画像の背景のRGB値の抽出方法の一例を示すフロー図である。
まず、画像内の全ピクセルについて、ピクセルごとに、そのピクセルが持つRGB値を登録する処理を繰り返す(ステップS202、ステップS204)。具体的には、例えば、表50のようなデータベース等において、各ピクセルのRGB値を調べて、表50の該当するRGB値の「ピクセル数」に“1”加算する。図7に示される例では、表50の1行目は、Rが“1”、Gが“2”、Bが“3”(例えば16進数表記で“0x010203”等と表すことができる)であるピクセルが“5”ピクセル存在していることを表している。ステップS204の処理を各画像内の全ピクセルについて実行することで、最終的に、最もピクセル数の多いRGB値が「背景のRGB値」として決定される(ステップS206)。
以上のような処理により、正解画像10と検証画像20における「背景のRGB値」が抽出される。
図6に戻り、ステップS116において、正解画像10と検証画像20の「背景のRGB値」が同一であるか判定する。両者が同一であれば(ステップS116:Yes)、背景色比較結果として、「背景色OK」を登録する(ステップS118)。両者が同一でなければ(ステップS116:No)、背景色比較結果として、「背景色NG」を登録する(ステップS120)。
その後、正解画像10と検証画像20とを比較して一致率を算出する(ステップS122)。一致率とは、正解画像と検証画像の各画像を構成するピクセルのうち背景のRGB値以外のRGB値を持つピクセルの数と、正解画像10と検証画像20とにおいて、同一位置のピクセルであって同一のRGB値を持つピクセルの数との比率をいう。具体的には、一致率は、以下の数式によって算出される。
ここで、図8を用いてステップS121での一致率の算出方法について説明する。図8は、ステップS122における一致率の算出方法の一例を示すフロー図である。正解画像10と検証画像20の全ピクセルに対してピクセルごとに以下の処理を実行する(ステップS302)。
両画像とも(処理対象となっているピクセルが)背景のRGB値でなければ(ステップS304:Yes)、両画像のピクセルのRGB値が一致しているか判定する(ステップS306)。両画像のピクセルのRGB値が一致していれば(ステップS306:Yes)、上記の式(1)の分母と分子にそれぞれ“1”加算されて一致率が再計算される結果、一致率は上がる(ステップS310)。両画像のピクセルのRGB値が一致していなければ(ステップS306:No)、式(1)の分母に“1”加算されるが分子の数値は変わらない結果、一致率は下がる(ステップS312)。
また、ステップS304にてNoであれば(すなわち、両画像の処理対象となっているピクセルの一方が背景のRGB値ではなく、かつ他方が背景のRGB値であるか、または両ピクセルとも背景のRGB値であれば)、さらに、両画像の処理対象のピクセルが背景のRGB値であるか判定する(ステップS308)。両ピクセルとも背景のRGB値でない場合(すなわち、両ピクセルの一方が背景のRGB値ではなく、かつ他方が背景のRGB値である場合)には(ステップS308:No)、式(1)の分母に“1”加算されるが分子の数値は変わらない結果、一致率は下がる(ステップS312)。両ピクセルとも背景のRGB値である場合には(ステップS308:Yes)、何も処理を行わない(ステップS314)。
以上のステップS304からステップS314までの処理を、正解画像10と検証画像20の全ピクセルについて実行する。これにより、正解画像10と検証画像20の一致率が算出される。図8に示される処理では、画像の大部分を占める背景色を除いて一致率を計算するため、両画像のピクセルのRGB値が一致する場合と一致しない場合とにおける一致率の差が大きくなる。これにより、両画像の各ピクセルのRGB値が一致するか否かの判定をより精度良く行うことができる。
図6に戻り、ステップS122で算出された一致率が閾値以上であるか判定する(ステップS124)。一致率が閾値以上であれば(ステップS124:Yes)、検証結果として「検証OK」を登録して処理を終了する(ステップS126)。一致率が閾値未満であれば(ステップS124:No)、プロジェクト特性情報30に示されるプロジェクト特性に応じた画像検証処理を行う(ステップS128)。なお、上述したように、本実施形態の画像検証方法ではプロジェクト特性に応じた画像検証処理として、図2〜図5に示される4つの処理を具体例として挙げて説明しているが、これらに限定されるものではない。なお、この4つの画像検証処理については、後にフロー図を用いて詳述する。
ステップS128においてプロジェクト特性に応じた画像検証処理を実行しなかった場合には(ステップS130:No)、検証結果として「検証NG」を登録して処理を終了する(ステップS134)。プロジェクト特性に応じた画像検証処理を1つ以上実行した場合であって(ステップS130:Yes)、実行した画像検証処理での検証結果(後に詳述する)に「検証NG」が1つもなければ(ステップS132:Yes)、検証結果として「条件付きOK」を登録して終了する(ステップS136)。検証結果に「検証NG」が1つでもあれば(ステップS132:No)、検証結果として「検証NG」を登録して終了する(ステップS138)。
なお、プロジェクト特性に応じた画像検証についてより緩やかな判断とするならば、ステップS132においては、実行した検証処理の検証結果がすべて「検証NG」ではないか判断し、この判断結果がYesであれば(すなわち、すべての検証結果が「検証NG」ではない)、「条件付きOK」を登録して終了し、判断結果がNoであれば(すなわち、すべての検証結果が「検証NG」である)、「検証NG」を登録して終了するようになっていてもよい。
ところで、ステップS124における一致率の閾値は、変更可能となっていてもよい。例えば、検証結果の最終判断者が、上記のメイン処理フローが実行された最終結果として「検証OK」または「条件付きOK」が出力された検証画像20を目視し、出力された検証結果が妥当であると判断した場合には閾値は変更せず、出力された検証結果が妥当でないと判断した場合には閾値を上げるような設定を行うようになっていてもよい。さらに、検証結果の最終判断者が、「検証NG」の検証結果が出力された検証画像20を目視し、検証結果が妥当であると判断した場合には閾値を下げるような設定を行い、検証結果が妥当でないと判断した場合には閾値を変更しないようになっていてもよい。
より具体的には、例えば、最終判断者は画像検証装置のキーボードやマウス等の入力デバイスを用いて、検証画像20を目視して判断した結果を画像検証装置へ入力するようになっていてもよい。そして、画像検証装置は、この最終判断者の操作入力を受け付け、あらかじめ定められた所定値またはその都度入力指定されるだけ閾値を変更し、変更された閾値が画像検証装置のハードディスクやRAM等の記憶装置に記憶されるようになっていてもよい。
以下、図6のステップS128のプロジェクト特性に応じて実行される各画像検証処理の具体例について説明する。
(画像のレンダリングによる差分の検証の処理フロー)
図9は、画像のレンダリングによる差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図2も参照しつつ説明する。
正解画像10および検証画像20において、画像のレンダリングによる差分のあるピクセル群(図2のリストボックス51、52)を抽出する(ステップS402)。次に、ステップS402にて抽出された画像に含まれる図形を抽出する(ステップS404)。図2の例であれば、リストボックス51、52から、それぞれ、リストボックス51、52の全体の形状である「長方形」と、リストを表示させるための矢印部分の「小さな四角形」と、その中にある「三角形」が抽出される。なお、抽出方法は、具体的には例えば、図形の輪郭線を検出する方法や、あらかじめ検出対象とする形状を決めておき、その形状とのパターンマッチングを行うことで検出する方法が挙げられる。ただし、抽出方法はこれらに限定されるものではない。
次に、ステップS404にて抽出された図形の形状を比較する(ステップS406)。比較した結果、図形が一致している場合には(ステップS408:Yes)、「レンダリングの差分を許容」を示す検証結果データを、画像検証装置のRAM等の記憶装置に記憶する(ステップS410)。図形が一致していない場合には(ステップS408:No)、「検証NG」を示す検証結果データを記憶する(ステップS412)。
(図形の表示位置の相違による差分の検証の処理フロー)
図10は、正解画像と検証画像とにおける図形の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図3も参照しつつ説明する。
正解画像10および検証画像20において、背景色以外で囲まれた「部分図」(図3のボタン61、62、64、65、チェックボックス63、66)を抽出する(ステップS502)。ステップS502にて抽出された部分図ごとに(ステップS504)、部分図同士の一致率を算出する(ステップS506)。図2の例であれば、ボタン61とボタン64、ボタン62とボタン65、チェックボックス63とチェックボックス65のそれぞれについて一致率を算出する。なお、一致率の算出には、図8の算出方法を用いればよい。
すべての部分図において差分がなければ(ステップS508:Yes)、「表示位置の部分的差分を許容」を示す検証結果データを、画像検証装置のRAM等の記憶装置に記憶する(ステップS510)。いずれかの部分図において差分があれば(ステップS508:No)、「検証NG」を示す検証結果データを記憶する(ステップS512)。
(画像の解像度の相違による差分の検証の処理フロー)
図11は、正解画像と検証画像の解像度の相違による差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図4も参照しつつ説明する。
まず、異なる解像度である正解画像10と検証画像20の解像度を一致させる(ステップS602)。解像度を一致させる方法としては、例えば、解像度が大きいほうの画像を、もう一方の画像の解像度となるようにすると、より誤差が小さくなるため好ましい。また、画像を二値化してから拡大または縮小させるようにすると、より誤差が小さくなるため好ましい。
次に、解像度を一致させた両画像を比較する(ステップS604)。比較した結果、一致していれば(ステップS606:Yes)、「解像度の差分を許容」を示す検証結果データを、画像検証装置のRAM等の記憶装置に記憶する(ステップS608)。一致しなければ(ステップS606:No)、「検証NG」を示す検証結果データを記憶する(ステップS610)。
(全体における表示位置の相違による差分の検証の処理フロー)
図12は、正解画像と検証画像の表示位置の相違による差分の検証処理の流れの一例を示すフロー図である。なお、以下においては、適宜、図5も参照しつつ説明する。
本検証においては、表示位置がずれている検証画像20を、表示画面72上で1ピクセルごとにずらした比較検証用の画像(以下、「ずらし画像」という)を生成し、正解画像10を含む表示画面71と、ずらし画像との一致率を算出して検証を行う。
ずらし画像のx方向およびy方向におけるずらし量(単位はピクセル)を保持するための、ずらし情報(x,y)=(0,0)として初期化する(ステップS702)。なお、ずらし情報は、画像検証装置のRAM等の記憶装置に記憶されるデータである。
ずらし情報が「x<10かつy<10」であるまで(ステップS704)、以下のステップS706およびステップS708の処理を実行する。すなわち、ステップS706では、ずらし情報(x,y)のxを1加算しながら、ずらし画像(x,y)を作成する。また、x=9の場合には、ずらし情報(x=0,y)のyを1加算しながら、ずらし画像(x,y)を作成する。そして、ステップS708では、ずらし画像を作成する都度、表示画面71とずらし画像との一致率を計算する。一致率の算出には、図8の算出方法を用いればよい。また、算出した一致率は、その都度保存しておく。
なお、本例では「x<10かつy<10」であるまで、ずらし画像を作成することとしているが、これは画面上、正解画像10と検証画像20とが10ピクセル程度ずれていると、一般的にユーザが更改後の画面を視認した際に違和感を覚えやすいからである。よって、この条件値は一例に過ぎず、ずらし量(x,y)の条件値は他の値に設定されても構わない。
すべてのずらし画像を作成して一致率を算出した後、算出された一致率のうち最も良い一致率が閾値以上であれば(ステップS710:Yes)、「表示位置の全体差分を許容」を示す検証結果データを、画像検証装置のRAM等の記憶装置に記憶する(ステップS712)。最も良い一致率が閾値未満であれば(ステップS710:No)、「検証NG」を示す検証結果データを記憶する(ステップS714)。
なお、上記、図9〜図12を用いて説明した各処理は一例であり、これらに限定されるものではない。
(検証結果の出力)
上記説明した画像検証方法による検証結果は、例えば、図13に示されるような形式で画像検証装置の表示装置や印刷装置に出力される。
図13(a)の例は、検証した検証画像20の画像名81と、検証結果82とが出力されるようになっている。検証結果82については、背景色と文字列以外の検証の結果として、「検証OK」、「条件付きOK」、および「検証NG」のいずれかが出力される。また、背景色と文字列の検証結果については、「一致」または「不一致」が出力される。また、プロジェクト特性に応じた画像検証の結果については(すなわち、結果が「条件付きOK」となった場合)、プロジェクト特性情報30で許容する差分として指定されたものが出力される。例えば、図13(c)の例であれば、「レンダリング」および「解像度」を要因とする差分が、プロジェクト特性情報30にて、許容する差分として指定されていたということである。
図13(b)の(例1)の出力例は、検証結果が図6のステップS126にて「検証OK」となった場合(すなわち、この時、背景色と文字列は「一致」)の出力例である。また、図13(c)の(例2)の出力例は、検証結果が図6のステップS136にて「条件付きOK」となった場合の出力例である。この時、ステップS132で判定しているように、フローC1〜C4(図9〜図12)の検証結果において、少なくとも1つは「差分を許容する」という結果が存在するので、「差分を許容する」という検証結果になった検証処理について表示する(本例では、「レンダリング」と「解像度」)。
(画像検証装置の構成)
図14は、本実施形態に係る画像検証方法を実行するコンピュータ装置である画像検証装置の構成の一例を示す図である。
図14に示されるように、画像検証装置1は、取得部102と、文字列比較部104と、背景色比較部106と、一致率算出部108と、同一性検証部110と、結果出力部112とを備える。
取得部102は、正解画像10、検証画像20、およびソフトウェア開発における画像比較処理において要求される正解画像10と検証画像20との同一性の程度に関する情報であるプロジェクト特性情報を取得する。
文字列比較部104は、正解画像10と検証画像20のそれぞれから、画像内の文字列を抽出して比較する。
背景色比較部106は、正解画像10と検証画像20のそれぞれから、各画像を構成するピクセルのRGB値のうち、最もピクセル数の多いRGB値である背景色RGB値を抽出して比較する。
一致率算出部108は、正解画像10と検証画像20の各画像を構成するピクセルで背景色RGB値以外のRGB値を持つピクセルのうち、正解画像10と検証画像20とで同一のRGB値を持つピクセルの比率である一致率を算出する。
同一性検証部110は、一致率算出部108にて算出された一致率があらかじめ定められた閾値未満である場合に、正解画像10と検証画像20とがプロジェクト特性情報によって示される同一性の程度を満たすか検証する。
結果出力部112は、文字列比較部104における文字列の比較結果、背景色比較部106における背景色RGB値の比較結果、および一致率算出部108にて算出された一致率と閾値との比較結果を出力し、一致率が閾値未満であった場合には、さらに正解画像10と検証画像20とにおける、同一性検証部110での同一性の程度の検証結果を出力する。
なお、画像検証装置1は、図示しないCPU(Central Processing Unit)、RAM等のメモリ、ハードディスク等の記憶装置、ネットワークインターフェイス等の一般的なコンピュータの構成と同様の構成により実現することが可能である。また、画像検証装置1の機能は、例えば、CPUがハードディスク等に記憶されているプログラムを読み出して実行することにより、または、例えば、FPGA(Field Programmable Gate Array)においてシーケンサロジックをカスタム設計することに実現される機能である。また、正解画像、検証画像、プロジェクト特性情報、各RGB値、一致率、並びに各種の比較結果、算出結果、および検証結果等は、画像検証装置1のハードディスクやRAM等に記憶されるデータである。
以上、説明したように、本実施形態に係る画像検証方法によれば、ソフトウェア開発において画像比較処理を行うにあたり、システム開発プロジェクトの特性に応じて許容される範囲内の誤差を考慮した画像比較を行うことができる。これにより、画像比較処理において無用なコストがかかることを回避することができる。さらに、プロジェクト特性に応じた画像比較処理の前に、画像中の文字列や背景色の比較処理を実行することにより、両画像に大きな差異を許容することを回避することができる。
ここまで、本発明の一実施形態について説明したが、本発明は上述の実施形態に限定されず、その技術的思想の範囲内において種々異なる形態にて実施されてよいことは言うまでもない。
また、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらすすべての実施形態をも含む。さらに、本発明の範囲は、各請求項により画される発明の特徴の組み合わせに限定されるものではなく、すべての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。
1 画像検証装置
10 正解画像
20 検証画像
30 プロジェクト特性情報
102 取得部
104 文字列比較部
106 背景色比較部
108 一致率算出部
110 同一性検証部
112 結果出力部

Claims (9)

  1. ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行する画像検証方法であって、
    前記正解画像と、前記検証画像と、を取得するステップと、
    前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較するステップと、
    前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのRGB値のうち、最もピクセル数の多いRGB値である背景色RGB値を抽出して比較するステップと、
    前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色RGB値以外のRGB値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のRGB値を持つピクセルの比率である一致率を算出するステップと、
    前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証するステップと、
    前記文字列を抽出して比較するステップ、前記背景色RGB値を抽出して比較するステップ、および前記同一性の程度を満たすか検証するステップの実行結果を出力するステップと、
    を含む画像検証方法。
  2. 前記正解画像と前記検証画像とに対して実行される前記同一性の程度を満たすかの検証とは、前記正解画像および前記検証画像の一部のピクセルを生成する際のレンダリングによって発生する差異についての検証であることを特徴とする請求項1に記載の画像検証方法。
  3. 前記正解画像と前記検証画像とに対して実行される前記同一性の程度を満たすかの検証とは、前記正解画像および前記検証画像のそれぞれに含まれる図形の各画像における位置の差異についての検証であることを特徴とする請求項1又は2に記載の画像検証方法。
  4. 前記正解画像と前記検証画像とに対して実行される前記同一性の程度を満たすかの検証とは、前記正解画像および前記検証画像の解像度の違いによって発生する差異についての検証であることを特徴とする請求項1から3のいずれか一項に記載の画像検証方法。
  5. 前記正解画像と前記検証画像とに対して実行される前記同一性の程度を満たすかの検証とは、前記正解画像および前記検証画像の前記ソフトウェアにおける表示位置の違いによって発生する差異についての検証であることを特徴とする請求項1から4のいずれか一項に記載の画像検証方法。
  6. 前記ソフトウェア開発における画像比較処理において要求される前記正解画像と前記検証画像の前記同一性の程度に関する情報であるプロジェクト特性情報をさらに取得するステップをさらに含み、
    前記同一性の程度を満たすか検証するステップにおいては、前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とが前記プロジェクト特性情報によって示される前記同一性の程度を満たすか検証することを特徴とする請求項1から5のいずれか一項に記載の画像検証方法。
  7. 前記文字列の比較結果、前記背景色RGB値の比較結果、および前記一致率と前記閾値との比較結果を出力し、前記一致率が前記閾値未満であった場合には、さらに前記正解画像と前記検証画像とにおける前記同一性の程度の検証結果を出力するステップ
    をさらに含むことを特徴とする請求項1から6のいずれか一項に記載の画像検証方法。
  8. ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証する画像検証装置であって、
    前記正解画像と、前記検証画像と、を取得する取得部と、
    前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較する文字列比較部と、
    前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのRGB値のうち、最もピクセル数の多いRGB値である背景色RGB値を抽出して比較する背景色比較部と、
    前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色RGB値以外のRGB値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のRGB値を持つピクセルの比率である一致率を算出する一致率算出部と、
    前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証する同一性検証部と、
    前記文字列比較部、前記背景色比較部、および前記同一性検証部の実行結果を出力する結果出力部と、
    を備える画像検証装置。
  9. ソフトウェア開発における画像比較処理において、比較対象画像である正解画像と、検証画像と、を比較して両画像の同一性を検証するコンピュータ装置が実行するプログラムであって、前記コンピュータ装置に、
    前記正解画像と、前記検証画像と、を取得する処理と、
    前記正解画像と前記検証画像のそれぞれから、画像内の文字列を抽出して比較する処理と、
    前記正解画像と前記検証画像のそれぞれから、画像を構成するピクセルのRGB値のうち、最もピクセル数の多いRGB値である背景色RGB値を抽出して比較する処理と、
    前記正解画像と前記検証画像の各画像を構成するピクセルで前記背景色RGB値以外のRGB値を持つピクセルのうち、前記正解画像と前記検証画像とで同一のRGB値を持つピクセルの比率である一致率を算出する処理と、
    前記一致率があらかじめ定められた閾値未満である場合に、前記正解画像と前記検証画像とがあらかじめ定められた同一性の程度を満たすか検証する処理と、
    前記文字列を抽出して比較する処理、前記背景色RGB値を抽出して比較する処理、および前記同一性の程度を満たすか検証する処理の実行結果を出力する処理と、
    を実行させるためのプログラム。
JP2012130159A 2012-06-07 2012-06-07 画像検証方法、画像検証装置、およびプログラム Active JP5764527B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012130159A JP5764527B2 (ja) 2012-06-07 2012-06-07 画像検証方法、画像検証装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012130159A JP5764527B2 (ja) 2012-06-07 2012-06-07 画像検証方法、画像検証装置、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015120388A Division JP5914732B2 (ja) 2015-06-15 2015-06-15 画像検証方法、画像検証装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013254394A true JP2013254394A (ja) 2013-12-19
JP5764527B2 JP5764527B2 (ja) 2015-08-19

Family

ID=49951836

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012130159A Active JP5764527B2 (ja) 2012-06-07 2012-06-07 画像検証方法、画像検証装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP5764527B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902875A (zh) * 2014-03-04 2014-07-02 百度在线网络技术(北京)有限公司 验证码图片的生成方法和装置及验证方法和装置
JP2016071730A (ja) * 2014-09-30 2016-05-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation システムのテストを行う装置、方法およびプログラム
JP6130011B1 (ja) * 2016-03-14 2017-05-17 株式会社リクルートホールディングス ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
JP2017122954A (ja) * 2016-01-04 2017-07-13 富士ゼロックス株式会社 管理装置、管理システム及び管理プログラム
CN113391741A (zh) * 2020-11-13 2021-09-14 腾讯科技(深圳)有限公司 操作校验方法和装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265263A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ソフトウェアの自動試験プログラム、ソフトウェアの自動試験装置、およびソフトウェアの自動試験方法
US20080310736A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Smart visual comparison of graphical user interfaces
JP2009134407A (ja) * 2007-11-29 2009-06-18 Nomura Research Institute Ltd コンピュータプログラムの実行結果を検証するためのテスト装置及び方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265263A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ソフトウェアの自動試験プログラム、ソフトウェアの自動試験装置、およびソフトウェアの自動試験方法
US20080310736A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Smart visual comparison of graphical user interfaces
JP2009134407A (ja) * 2007-11-29 2009-06-18 Nomura Research Institute Ltd コンピュータプログラムの実行結果を検証するためのテスト装置及び方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902875A (zh) * 2014-03-04 2014-07-02 百度在线网络技术(北京)有限公司 验证码图片的生成方法和装置及验证方法和装置
JP2016071730A (ja) * 2014-09-30 2016-05-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation システムのテストを行う装置、方法およびプログラム
US9720791B2 (en) 2014-09-30 2017-08-01 International Business Machines Corporation Device, method and program for performing system testing
US9880914B2 (en) 2014-09-30 2018-01-30 International Business Machines Corporation Device, method and program for performing system testing
US10037255B2 (en) 2014-09-30 2018-07-31 International Business Machines Corporation Device, method and program for performing system testing
US10037254B2 (en) 2014-09-30 2018-07-31 International Business Machines Corporation Device, method and program for performing system testing
JP2017122954A (ja) * 2016-01-04 2017-07-13 富士ゼロックス株式会社 管理装置、管理システム及び管理プログラム
JP6130011B1 (ja) * 2016-03-14 2017-05-17 株式会社リクルートホールディングス ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
JP2017167642A (ja) * 2016-03-14 2017-09-21 株式会社リクルートホールディングス ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
CN113391741A (zh) * 2020-11-13 2021-09-14 腾讯科技(深圳)有限公司 操作校验方法和装置、存储介质及电子设备
CN113391741B (zh) * 2020-11-13 2023-08-29 腾讯科技(深圳)有限公司 操作校验方法和装置、存储介质及电子设备

Also Published As

Publication number Publication date
JP5764527B2 (ja) 2015-08-19

Similar Documents

Publication Publication Date Title
JP5914732B2 (ja) 画像検証方法、画像検証装置、およびプログラム
JP6928876B2 (ja) フォーム種別学習システムおよび画像処理装置
JP5764527B2 (ja) 画像検証方法、画像検証装置、およびプログラム
JP6069489B2 (ja) 物体認識装置および物体認識方法並びにプログラム
JP6557943B2 (ja) 画像照合装置、画像センサ、処理システム、画像照合方法
JP6642970B2 (ja) 注目領域検出装置、注目領域検出方法及びプログラム
CN105303156A (zh) 字符检测装置、方法及程序
WO2014045508A1 (ja) 検査装置、検査方法、および検査プログラム
JP5919212B2 (ja) 目視照合支援装置およびその制御方法
CN112396050B (zh) 图像的处理方法、设备以及存储介质
JP2016220198A (ja) 情報処理装置、方法、プログラム
JP2017208014A (ja) 針式メータ検出装置、方法およびプログラム
JP2012048393A (ja) 情報処理装置およびその動作方法
JP2011243139A (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP2018124918A (ja) 画像処理装置、画像処理方法及びプログラム
US20090129662A1 (en) Shape inspection apparatus, shape inspection method and computer readable medium
JP6883199B2 (ja) 画像処理装置、画像読み取り装置、および、プログラム
JP2011243138A (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP7467107B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JPWO2018211546A1 (ja) 画面試験装置および画面試験プログラム
JP5397103B2 (ja) 顔位置検出装置、顔位置検出方法及びプログラム
WO2019159415A1 (ja) 読取システム
JP2013246782A (ja) 図面データ管理装置及び図面データ管理プログラム
JP2015169963A (ja) オブジェクト検出システム、およびオブジェクト検出方法
JP2020057298A (ja) 判定装置、判定方法及び判定プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150615

R150 Certificate of patent or registration of utility model

Ref document number: 5764527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350