(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143214
(43)【公開日】2024-10-11
(54)【発明の名称】画像処理方法
(51)【国際特許分類】
G06F 30/12 20200101AFI20241003BHJP
G06F 3/0484 20220101ALI20241003BHJP
G06T 11/80 20060101ALI20241003BHJP
G06Q 10/20 20230101ALI20241003BHJP
【FI】
G06F30/12
G06F3/0484
G06T11/80 E
G06Q10/20
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2023055766
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】000002967
【氏名又は名称】ダイハツ工業株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】和田 淳
【テーマコード(参考)】
5B050
5B146
5E555
5L049
【Fターム(参考)】
5B050AA03
5B050BA06
5B050BA10
5B050BA13
5B050BA18
5B050BA20
5B050CA07
5B050EA12
5B050EA19
5B050FA02
5B050FA13
5B050FA15
5B050FA16
5B050GA08
5B146AA05
5B146BA04
5B146DJ15
5E555AA04
5E555AA22
5E555BA02
5E555BB02
5E555BC18
5E555CA02
5E555CB05
5E555CB46
5E555DB20
5E555DB51
5E555DB56
5E555FA00
5L049CC15
(57)【要約】 (修正有)
【課題】車両部品の試作等における不具合等発生箇所を効率的に表現する画像処理方法を提供する。
【解決手段】画像処理方法は、画像上における注目すべき領域を表す画像を取得するステップと、画像と所定数のセルで構成されるフォームとを表示装置に重畳表示させる表示制御ステップと、ユーザの指示に従い、フォーム上で注目領域に対応する1又は複数のセルを選択する選択ステップと、選択された選択セルの各々について、当該選択セルの上下左右に位置する前記セルの各々が前記選択セルであるか否かを判定する判定ステップと、判定結果に応じて、判定の対象とした選択セルの上、下、左又は右に他の前記選択セルが存在しないことを表すマークを付すマーキングステップと、選択セルの各々について、マークの有無を判定する座標取得ステップと、前記座標で表される頂点を結ぶことで形成される形状を注目領域の形状として出力するステップと、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
画像処理装置による画像処理方法であって、
画像上における注目すべき領域を表す注目領域を含む画像を取得する画像取得ステップと、
前記画像と所定数のセルで構成されるフォームとを表示装置に重畳表示させる表示制御ステップと、
ユーザの指示に従い、前記フォーム上で前記注目領域に対応する1又は複数の前記セルを選択する選択ステップと、
選択された選択セルの各々について、当該選択セルの上下左右に位置する前記セルの各々が前記選択セルであるか否かを判定する判定ステップと、
判定結果に応じて、判定の対象とした前記選択セルの上、下、左又は右に他の前記選択セルが存在しないことを表すマークを付すマーキングステップと、
前記選択セルの各々について、当該選択セルの所定の頂点から、第1方向に前記マークの有無を確認し、
前記選択セルの各々について、当該選択セルの所定の頂点から、時計回り又は反時計回りの第1方向に前記マークの有無を判定し、
前記マークが存在する場合、前記マークに対応する頂点の座標を取得し、
前記マークが存在しない場合、前記第1方向とは反対方向である第2方向に位置する頂点を含む所定のセル及び前記第1方向に直交する第3方向に位置する頂点を含む所定のセルの各々について、前記マークが存在しないと判定された頂点を始点に前記第1方向に向かって前記マークの有無を判定する座標取得ステップと、
前記座標で表される頂点を結ぶことで形成される形状を前記注目領域の形状として出力する出力ステップと、
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理方法に関する。
【背景技術】
【0002】
車両開発の過程で、車両部品の試作が繰り返し行われることがある。従来、不具合や改善すべき点等の試作における指摘を行いたい箇所(以下、不具合等発生箇所ともいう)をExcel(登録商標)等の表計算ソフトの添付された画像に対し、楕円形状のオートシェイプによってマーキングを施すことによって表現して出力することが行われている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、不具合等発生箇所にオートシェイプの指示を行うための形状を挿入する等の操作が必要になり、不具合等発生箇所の形状を変更する場合に時間がかかる、画像のサイズを変更した場合の追従性が無い等の課題がある。つまり、車両部品の試作等における不具合等発生箇所を表現する手法には改善の余地がある。
【0005】
本開示が解決しようとする課題は、車両部品の試作等における不具合等発生箇所を効率的に表現することができる、画像処理方法を提供することである。
【課題を解決するための手段】
【0006】
本開示にかかる画像処理方法は、画像上における注目すべき領域を表す注目領域を含む画像を取得する画像取得ステップと、前記画像と所定数のセルで構成されるフォームとを表示装置に重畳表示させる表示制御ステップと、ユーザの指示に従い、前記フォーム上で前記注目領域に対応する1又は複数の前記セルを選択する選択ステップと、選択された選択セルの各々について、当該選択セルの上下左右に位置する前記セルの各々が前記選択セルであるか否かを判定する判定ステップと、判定結果に応じて、判定の対象とした前記選択セルの上、下、左又は右に他の前記選択セルが存在しないことを表すマークを付すマーキングステップと、前記選択セルの各々について、当該選択セルの所定の頂点から、第1方向に前記マークの有無を確認し、前記選択セルの各々について、当該選択セルの所定の頂点から、時計回り又は反時計回りの第1方向に前記マークの有無を判定し、前記マークが存在する場合、前記マークに対応する頂点の座標を取得し、前記マークが存在しない場合、前記第1方向とは反対方向である第2方向に位置する頂点を含む所定のセル及び前記第1方向に直交する第3方向に位置する頂点を含む所定のセルの各々について、前記マークが存在しないと判定された頂点を始点に前記第1方向に向かって前記マークの有無を判定する座標取得ステップと、前記座標で表される頂点を結ぶことで形成される形状を前記注目領域の形状として出力する出力ステップとを含む。
【発明の効果】
【0007】
本開示にかかる画像処理方法によれば、車両部品の試作等における不具合等発生箇所を効率的に表現することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る画像処理システムの一例を説明する図である。
【
図2】
図2は、実施形態に係る画像処理装置のハードウェア構成の一例を示すブロック図である。
【
図3】
図3は、実施形態に係る画像処理装置の機能の一例を示すブロック図である。
【
図4】
図4は、実施形態に係る入力フォームの一例を説明する図である。
【
図5】
図5は、実施形態に係る不具合等発生箇所の選択処理の一例を説明する図である。
【
図6】
図6は、実施形態に係る不具合等発生箇所の選択処理の一例を説明する図である。
【
図7】
図7は、実施形態に係る不具合等発生箇所の選択処理の一例を説明する図である。
【
図8】
図8は、実施形態に係る不具合等発生箇所の選択処理の一例を説明する図である。
【
図9】
図9は、実施形態に係る枠作成処理の一例を説明する図である。
【
図10】
図10は、実施形態に係る枠作成処理の一例を説明する図である。
【
図11】
図11は、実施形態に係る判定処理の一例を説明する図である。
【
図12】
図12は、実施形態に係る座標要素の取得処理の一例を説明する図である。
【
図13】
図13は、実施形態に係る合成処理の一例を説明する図である。
【
図14】
図14は、実施形態に係る合成処理の一例を説明する図である。
【
図15】
図15は、実施形態に係る補正処理の一例を説明する図である。
【
図16】
図16は、実施形態に係る補正処理の一例を説明する図である。
【
図17】
図17は、実施形態に係る補正処理の一例を説明する図である。
【
図18】
図18は、実施形態に係る補正処理の一例を説明する図である。
【
図19】
図19は、実施形態に係る補正処理の一例を説明する図である。
【
図20】
図20は、実施形態に係る補正処理の一例を説明する図である。
【
図21】
図21は、実施形態に係る出力処理の一例を説明する図である。
【
図22】
図22は、実施形態に係る出力処理の一例を説明する図である。
【
図23】
図23は、実施形態に係る画像処理装置が実行する処理の一例を示すフローチャートである。
【
図24】
図24は、実施形態に係る画像処理装置が実行する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、本開示に係る画像処理方法の実施形態を説明する。
【0010】
図1は、本実施形態の画像処理システム1の一例を説明する図である。
【0011】
画像処理システム1は、画像処理装置10とデータベース(DB)装置20とを備える。画像処理装置10とDB装置20とは、相互に通信可能に有線又は無線ネットワークで接続されている。
【0012】
画像処理装置10は、入力された車両画像20Aに画像処理を施してレポート20Bを出力する情報処理装置である。
【0013】
車両画像20Aは、試作を行った車両部品を含む車両の画像データである。なお、車両画像20Aは、車両の全体を表す画像であってもよいし、車両の一部分を表す画像であってもよい。車両画像20Aは、DB装置20から入力されたものであってもよいし、画像処理装置10が有する記憶装置(図示しない)等に記憶されているものであってもよい。
【0014】
レポート20Bは、車両部品の試作等における不具合等を報告するための報告書である。例えば、レポート20Bは、車両画像20A上の不具合等発生箇所と、当該不具合等発生箇所の不具合等の詳細とを表す画像を含むデータである。不具合等発生箇所は、注目領域の一例である。
【0015】
DB装置20は、車両部品の試作等における不具合等に関する情報を管理する装置である。例えば、DB装置20は、車両画像20Aと不具合等発生箇所と不具合等の詳細とを対応付けて記憶したDBを有する。
【0016】
画像処理装置10は、DB装置20のDBの情報に基づいて、レポート20Bを出力する。出力されたレポート20Bは、DB装置20で管理される。
【0017】
なお、本実施形態では、画像処理装置10とDB装置20が別の装置であるものとして説明するが、画像処理装置10がDB装置20の構成の一部又は全部を備えていてもよい。
【0018】
まず、画像処理装置10のハードウェア構成について説明する。
図2は、画像処理装置10のハードウェア構成の一例を示すブロック図である。
【0019】
画像処理装置10は、CPU(Central Processing Unit)11A、ROM(Read Only Memory)11B、RAM(Random Access Memory)11C、およびI/F11D等がバス11Eにより相互に接続され、通常のコンピュータを利用したハードウェア構成である。
【0020】
CPU11Aは、本実施形態の画像処理装置10を統括的に制御する演算装置である。ROM11Bは、CPU11Aによる各種処理を実現するプログラム等を記憶する。RAM11Cは、CPU11Aによる各種処理に必要なデータを記憶する。I/F11Dは、データを送受信するためのインタフェースである。
【0021】
本実施形態の画像処理装置10で実行される情報処理を実行するためのプログラムは、ROM11B等に予め組み込んで提供される。なお、本実施形態の画像処理装置10で実行されるプログラムは、画像処理装置10にインストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供するように構成してもよい。
【0022】
次に、画像処理装置10の機能的構成について説明する。
図3は、画像処理装置10のCPU11Aが有する機能構成の一例を示すブロック図である。
【0023】
画像処理装置10のCPU11Aは、受付部101、取得部102、登録部103、選択部104、処理部105、補正部106、及び出力部107を機能部として有する。
【0024】
受付部101は、各種情報の入力を受け付ける。例えば、受付部101は、ユーザから車両画像20Aを画像処理装置10に入力するための入力フォームの起動指示を受け付ける。また、例えば、受付部101は、入力フォーム上でユーザから車両画像20Aの指定入力を受け付ける。また、例えば、受付部101は、入力フォーム上でユーザから不具合等発生箇所の選択指示を受け付ける。不具合等発生箇所は注目領域の一例である。
【0025】
取得部102は、車両画像20Aを取得する。取得部102は、画像取得部の一例である。例えば、取得部102は、受付部101が登録済の車両画像20Aの指定入力を受け付けた場合、DB装置20のDBを参照し、指定された車両画像20Aを取得する。また、例えば、取得部102は、画像処理装置10の記憶装置等に記憶された未登録の車両画像20Aが指定された場合、記憶装置等から指定された車両画像20Aを読み出す。
【0026】
登録部103は、車両画像20AをDBに登録する。例えば、登録部103は、ユーザから車両画像20Aの登録指示を受け付けた場合、取得部102が取得したDBに未登録の車両画像20Aを加工してDB装置20のDBに登録する。
【0027】
選択部104は、車両画像20Aの不具合等発生箇所を選択する。例えば、選択部104は、受付部101で受け付けた不具合等発生箇所の選択指示に従って、車両画像20A上の不具合等発生箇所に対応する入力フォーム上のセルを選択する。
【0028】
処理部105は、不具合等発生箇所の形状を表す情報を取得するための各種処理を実行する。処理部105は、判定部、マーキング部、及び座標取得部の一例である。例えば、処理部105は、選択部104で選択されたセルの各々について、不具合等発生箇所を表すセルに該当するか否かを判定する。また、例えば、処理部105は、上記の判定結果に応じたマークを付し、不具合等発生箇所の形状を表す座標位置を取得する。
【0029】
補正部106は、不具合等発生箇所の形状を表す情報を補正する。例えば、補正部106は、処理部105で取得した不具合発生箇所の形状に各種画像処理を施す。
【0030】
出力部107は、処理部105で取得された座標で表される頂点を結ぶことで形成される形状を不具合等発生箇所の形状として出力する。例えば、出力部107は、不具合発生箇所の形状の各頂点の座標を比率に変換し、変換結果に基づいて、表計算ソフトのオートシェイプ機能等を用いて描画を行う。
【0031】
また、例えば、出力部107は、不具合等発生箇所の形状を表す画像データに、不具合等を識別するための識別番号、不具合等の詳細を付したレポート20Bを生成し、DB装置20へ送出する。以下、
図4乃至
図23を用いて各機能部の動作の一例について説明する。まず、入力フォームへの車両画像20Aの入力における各機能部の動作について説明する。
【0032】
図4は、入力フォーム12の一例を説明する図である。本実施形態では、入力フォーム12は、縦25横40のセルで構成される。なお、入力フォームは、Microsoft Excel(登録商標)等の表計算ソフトを利用することで実現できる。なお、入力フォームの実現のために利用する表計算ソフトは、上記に限定されるものではない。
【0033】
図4の入力フォーム12は、画面構成として選択方法指定ボタンSL、画像追加ボタンAB、リセットボタンRB、及び決定ボタンDBを有する。
【0034】
選択方法指定ボタンSLは、不具合等発生箇所の選択方法を指定するためのボタンである。
図4の例では、個別選択モード、範囲選択モード、及び直線選択モードの中から選択方法を指定することができる。各選択方法については後述する。
【0035】
画像追加ボタンABは、入力する画像を選択するためのボタンである。ユーザが画像追加ボタンABを押下すると、受付部101は、車両画像20Aの指定入力を受け付けるための指定画面(図示しない)の表示指示を受け付ける。ユーザは、当該指定画面を介して、車両画像20Aの指定入力を行う。
【0036】
リセットボタンRBは、現在行っている処理をキャンセルするためのボタンである。また、決定ボタンDBは、現在行っている処理を保存するためのボタンである。
【0037】
ユーザが上述の指定画面を介して車両画像20Aの指定入力を行うと、受付部101は、入力フォーム12上で車両画像20Aの指定入力を受け付ける。車両画像20Aは、既にDB装置20のDBに登録されている車両画像20Aであってもよいし、画像処理装置10の記憶装置等に記憶されたDBに未登録の車両画像20Aであってもよい。
【0038】
例えば、受付部101がユーザから、DBに未登録の車両画像20Aの指定入力を受け付けた場合、取得部102は、画像処理装置10の記憶装置等から指定された車両画像20Aを読み出す。
【0039】
次いで、登録部103は、取得された車両画像20Aの縦横の何れかが所定のアスペクト比(例えば、1280:960)に収まるように、車両画像20Aの倍率を修正してRAM11C等にテンプレート画像として一時的に記憶する。
【0040】
次いで、登録部103は、テンプレート画像の画像サイズが1280*960になるように、画像サイズが1280*960の白一色の画像にテンプレート画像を合成して合成画像を生成する。登録部103は、生成した合成画像を保存するためのファイル名を生成する。登録部103は、DB装置20の所定のフォルダに、生成されたファイル名を付して合成画像を保存する。
【0041】
そして、登録部103は、当該ファイル名と合成画像を識別する画像識別番号とを対応付けて、DBに登録する。その後、選択部104は、登録部103が登録した合成画像を入力フォーム12上に表示させる。この場合の選択部104は、合成画像と入力フォーム12とを画像処理装置10のディスプレイ等の表示装置に表示させるため表示制御部の一例である。なお、入力フォーム12を、一度に複数の合成画像を登録可能に構成してもよい。この場合、1つの合成画像に1つの不具合等が登録される。
【0042】
次に、不具合等発生箇所の選択処理における各機能部の動作の一例について説明する。
図5乃至
図8は、不具合等発生箇所の選択処理の一例を説明する図である。
【0043】
選択方法が個別選択モードである場合、
図5に示すように、ユーザが入力フォーム12上のセルをマウス等の入力デバイスでクリックすると、非選択状態NAと選択状態SAとが切り替わる。
【0044】
図5に示すように、選択状態SAになったセルは網掛け状態で表示される。ユーザは、不具合等発生箇所に該当するセルを選択状態SAに切り替えることで、不具合等発生箇所の選択を行う。受付部101は、当該選択の内容に従って、不具合等発生箇所の選択入力を受け付ける。
【0045】
また、選択方法が範囲選択モード又は直線選択モードである場合、ユーザによる1回目のセルのクリックで始点の指定指示が入力される。受付部101はが当該入力を受け付けると、
図6に示すように、入力フォーム12上では「始」の文字SPが表示される。また、始点の指定指示が入力されている場合、例えば、マウスのカーソルを合わせた入力フォーム12上のセルに「終」の文字EPが点滅表示される。
【0046】
そして、ユーザの2回目のクリックで終点の指定指示が入力される。選択方法が範囲選択モードである場合、
図7に示すように、始点と終点を対角線とする四角形上の範囲の複数のセルが選択状態SAに切り替わる。また、選択方法が直線選択モードである場合、
図8に示すように、始点セルの中央と終点セルの中央とを結ぶ線の通過するセルが全て選択状態SAに切り替わる。
【0047】
ユーザが決定ボタンDBを押下した場合、登録部103は、合成画像のファイル名と、合成画像の画像識別番号と、不具合等発生箇所の選択内容とを対応付けてDBに登録する。
【0048】
具体的には、入力フォーム12は、縦列がA~Xまでの英字、横行は1~40までの数字によって管理されるため、登録部103は、選択状態SAとなっているセルの所在を表す情報(A1、A2等)を、不具合等発生箇所の選択内容としてDBに登録する。また、選択状態SAとなっているセルが複数存在する場合、不具合等発生箇所の選択内容は、A1,A2…のようにカンマ区切りの1つのStringとして管理される。
【0049】
なお、ユーザはリセットボタンRBを押下することで、入力フォーム12上で行った不具合等発生箇所の選択入力を解除することができる。
【0050】
次に、処理部105の動作について、
図9乃至
図14を用いて説明する。まず、枠作成処理について説明する。
図9及び
図10は、枠作成処理の一例を説明する図である。枠は、不具合等発生箇所を表すセルを表示させるために用いられる枠である。
【0051】
一例として、
図9に示すように、B2,C3,C4,C5,D5が選択状態SAとなっている場合、処理部105は、選択状態SAとなっているセルが存在する縦列B~Dと、横行2~5とを辺とする長方形状の枠FRを作成する。
【0052】
次に、各セルについて、不具合等発生箇所を表すセルであるかどうかを判定する判定処理の一例について説明する。
図11は、判定処理の一例を説明する図である。
図11の例では、
図9及び
図10と同様に、B2,C3,C4,C5,D5が選択状態SAとなっている。
【0053】
枠FRを作成する処理を行った後、処理部105は、選択状態SAとなっているセルの範囲と同サイズの2元配列(1)を作成する。配列(1)は、(縦列位置,横行位置)でセルの位置を表したものである。なお、縦列位置は、A=1、B=2・・・X=24として、数値で表す。
図11の例では、処理部105は、配列(1)として(2,2)、(3,3)、(3,4)、(3,5)、(4,5)を作成する。
【0054】
次に、処理部105は、枠FR内のセルの検索を行い、選択状態SAのセルの場合、当該セルの上(Top)、下(Bottom)、左(Left)、右(Light)に位置するセルの各々について、不具合等発生箇所を表すセルであるか否かを判定する。本実施形態では、上記の検索は、横行方向、縦列方向の順で行われる。具体的には、処理部105は、B2、B3・・・B5、C2・・・C5、D2・・・D5の順で検索を行う。
【0055】
例えば、B2を対象として、不具合等発生箇所を表すセルであるか否かを判定する場合、処理部105は、Topの判定としてA2が選択状態SAのセルであるか否かを判定する。同様に、処理部105は、Bottomの判定として、C2が選択状態SAのセルであるか否かを判定する。同様に、処理部105は、Leftの判定として、B1が選択状態SAのセルであるか否かを判定する。同様に、処理部105は、Rightの判定として、B3が選択状態SAのセルであるか否かを判定する。
【0056】
処理部105は、Top、Bottom、Left、Rightの夫々について、対応するセルが非選択状態NAのセルである場合、該当する配列(1)に、Top=T、Bottom=B、Left=L、Right=Rを入力する。なお、対象とするセルが四方を選択状態SAのセルで囲まれている場合、処理部105は、該当する配列(1)に、@を入力する。
【0057】
B2を対象とした
図11の例では、Top(A2)、Bottom(C2)、Left(B1)、Right(B3)全てが非選択状態NAのセルであるため、処理部105は、B2に該当する配列(2,2)に、TBLRを入力する。
【0058】
また、図示しないが、処理部105は、C2に該当する配列(3,2)にはTBLを、C3に該当する配列(3,3)に該当する配列にはTBを、C4に該当する配列(3,4)にはTBを、C5に該当する配列(3,5)にはTを、D5に該当する配列(4,5)には、Lを夫々入力する。
【0059】
次に、座標要素の取得処理の一例について説明する。
図12は、座標要素の取得処理の一例を説明する図である。
図12の例では、
図11と同様に、B2を対象として処理を行う場合について説明する。
図12のB2に該当する配列(2,2)には、TBLRが入力されているものとする。
【0060】
対象セル毎にTBLRのマークを付す処理を行った後、処理部105は、出力ワイヤ確認用配列(2)を作成する。配列(2)は、(1,0)サイズで定義を行い、2要素目以降は処理するセルの個数に応じて追加する。
【0061】
処理部105は、配列(1)を横方向に検索を行い、配列(1)が空であるか否かを判定する。配列が空ではない場合、処理部105は、Bottom、Left、Top、Rightの順序でマークが付されているかを判定する。
【0062】
また、処理部105は、マークが付されている場合、マークに対応する対象セルの頂点の座標要素を取得する。言い換えると、処理部105は、時計回りに座標要素を取得する処理を行う。時計回りは第1方向の一例である。なお、本実施形態では、時計回りに処理を行っているが、反時計回りに処理を行ってもよい。
【0063】
処理部105は、配列(2)である「(2)(0,Y)=X0 (2)(1,Y)=X1」について、X0には縦座標要素、X1には横座標要素、Yには頂点番号を入力する。例えば、縦座標要素が1、横座標要素が1、頂点番号が1の場合、配列(2)は、(2)(0,1)=1 (2)(1,1)=1となる。
【0064】
図12の例では、まず、処理部105は、B2のBottomについて、マークが付されているか否かの判定を行う。B2に該当する配列(1)にはBのマークが付されている。このため、処理部105は、
図12に★で示した位置(縦座標要素:2、横座標要素:2)を頂点番号1として、配列(2)に入力する。つまり、配列(2)の1要素目は、(2)(0,1)=2 (2)(1,1)=2となる。
【0065】
同様に、処理部105は、
図12に☆で示した位置(縦座標要素:2、横座標要素:2)を頂点番号2として、配列(2)に入力する。つまり、配列(2)の2要素目は、(2)(0,2)=2 (2)(1,2)=1となる。2要素目の座標要素の取得でB2のBottomについては、座標要素の取得が終了したため、処理部105は、B2の該当する配列(1)のBのマークを消去する。
【0066】
次に、処理部105は、B2のLeftについて、マークが付されているか否かの判定を行う。B2に該当する配列(1)にはLのマークが付されている。このため、処理部105は、
図12に黒の△で示した位置(縦座標要素:1、横座標要素:1)を頂点番号3として、配列(2)に入力する。つまり、配列(2)の3要素目は、(2)(0,3)=1 (2)(1,3)=1となる。
【0067】
3要素目の座標要素の取得でB2のLeftについては、座標要素の取得が終了したため、処理部105は、B2の該当する配列(1)のLのマークを消去する。
【0068】
次に、処理部105は、B2のTopについて、マークが付されているか否かの判定を行う。B2に該当する配列(1)にはTのマークが付されている。このため、処理部105は、
図12に白の△で示した位置(縦座標要素:1、横座標要素:2)を頂点番号4として、配列(2)に入力する。つまり、配列(2)の4要素目は、(2)(0,4)=1 (2)(1,4)=2となる。
【0069】
4要素目の座標要素の取得でB2のTopについては、座標要素の取得が終了したため、処理部105は、B2の該当する配列(1)のTのマークを消去する。
【0070】
次に、処理部105は、B2のRightについて、マークが付されているか否かの判定を行う。B2に該当する配列(1)にはRのマークが付されている。このため、処理部105は、
図12に★で示した位置(縦座標要素:2、横座標要素:2)を頂点番号5として、配列(2)に入力する。つまり、配列(2)の5要素目は、(2)(0,5)=2 (2)(1,5)=2となる。
【0071】
5要素目の座標要素の取得でB2のRightについては、座標要素の取得が終了したため、処理部105は、B2の該当する配列(1)のRのマークを消去する。B2のTop、Bottom、Left、Rightに選択状態SAのセルは存在せず、B2に係る座標要素の取得は終了している(マークが全て消去されている)。このため、配列(2)の1~5要素は、1つの閉じたループを形成していると言える。
【0072】
1つの閉じたループについて、座標要素の取得が終了した場合、処理部105は、一元配列(3)(1)を作成する。配列(3)の(1)は、配列(3)の要素の数を表している。配列(3)の要素の数は、閉じたループの個数に応じて変動する。処理部105は、配列(3)に、配列(2)に入力された情報を文字列形式で入力する。
図12の例では、処理部105は、配列(3)(1)に「2@2,2@1,1@1,1@2,2@2」を入力する。
【0073】
次に、Top、Bottom、Left、Rightの何れか1つ以上のマークがない場合の処理部の動作について説明する。この場合、処理部105は、不具合等発生箇所の形状が反時計回り方向に広がっているかを判定する処理と、不具合等発生箇所の形状が直進方向に広がっているかを判定する処理とを行う。
【0074】
例えば、Tがマークされていなかった場合、処理部105は、対象セルの左上のセルに該当する配列(1)にBがマークされているか否かを判定する。Bがマークされていた場合、対象セルの左上のセルを対象として、Bottom、Left、Top、Rightの順で対象セルの左上のセルに該当する配列(1)の判定処理を行う。この場合の対象セルの左上のセルは、第2方向に位置する頂点を含む所定のセルの一例である。
【0075】
また、上記の対象セルの左上のセルに該当する配列(1)の判定処理の終了後、処理部105は、対象セルの上のセルに該当する配列(1)にLがマークされているか否かを判定する。Lがマークされていた場合、対象セルの上のセルを対象として、Left、Top、Right、Bottomの順で対象セルの上のセルに該当する配列(1)の判定処理及び座標要素の取得処理を行う。この場合の対象セルの上のセルは、第3方向に位置する頂点を含む所定のセルの一例である。
【0076】
同様に、Bottomがマーク無しの場合、処理部105は、対象セルの右下のセルのTがマークされているか、対象セルの下のセルのRがマークされているかの順で判定処理及び座標要素の取得処理を行う。この場合の対象セルの右下のセルは、第2方向に位置する頂点を含む所定のセルの一例であり、対象セルの下のセルは、第3方向に位置する頂点を含む所定のセルの一例である。
【0077】
同様に、Leftがマーク無しの場合、処理部105は、対象セルの左下のセルのRがマークされているか、対象セルの左のセルのBがマークされているかの順で判定処理及び座標要素の取得を行う。この場合の対象セルの左下のセルは、第2方向に位置する頂点を含む所定のセルの一例であり、対象セルの左のセルは、第3方向に位置する頂点を含む所定のセルの一例である。
【0078】
同様に、Rightがマーク無しの場合、処理部105は、対象セルの右上のセルのLがマークされているか、対象セルの右のセルのTがマークされているかの順で判定処理及び座標要素の取得を行う。この場合の対象セルの右上のセルは、第2方向に位置する頂点を含む所定のセルの一例であり、対象セルの右のセルは、第3方向に位置する頂点を含む所定のセルの一例である。
【0079】
そして、処理部105は、全てのマークを消去するまで、上記の処理を繰り返す。
【0080】
以下、
図12のC3を対象として処理を行う場合を例に説明する。
図12の例では、C3に該当する配列(1)にはRがマークされていない。したがって、処理部105は、C3の右上のセルであるB4に該当する配列(1)にLがマークされているか否かを判定する。
【0081】
図12の例では、B4に該当する配列(1)にLはマークされていない。このため、処理部105は、C3の右のセルであるC4に該当する配列(1)にTがマークされているか否かを判定する。C4に該当する配列(1)にはTがマークされている。したがって、処理部105は、C4を対象として、Top、Right、Bottom、Leftの順で判定処理及び座標要素の取得を行う。
【0082】
図12の例では、処理部105による判定処理及び座標要素の取得処理の結果は以下のようになる。以下は、ステップ番号.処理の対象セル/確認するマーク=判定結果の形で、処理部105による処理及び処理結果を表している。また、Trueはマークが存在すること、Falseはマークが存在しないことを表している。また、Trueの場合には、取得した座標要素も合わせて記載している。
【0083】
1.C3/B=True (2)(0,1)=3 (2)(1,1)=3,(2)(0,2)=3 (2) (1,2)=2
2.C3/L=True (2)(0,3)=2 (2)(1,3)=2
3.C3/T=True (2)(0,4)=2 (2)(1,4)=3
4.C3/R=False
5.B4/L=False
6.C4/T=True (2)(0,5)=2 (2)(1,5)=4
7.C4/R=false
8.B5/L=false
9.C5/T=True (2)(0,6)=2 (2)(1,6)=5
10.C5/R=True (2)(0,7)=3 (2)(1,7)=5
11.C5/B=false
12.D6/T=False
13.D5/R=True (2)(0,8)=4 (2)(1,8)=5
14.D5/B=True (2)(0,9)=4 (2)(1,9)=4
15.D5/L=True (2)(0,10)=3 (2)(1,10)=4
16.D5/T=False
17.C4/B=True (2)(0,11)=3 (2)(1,11)=3
18.C4/L=False
19.D3/R=false
20.C3/B=false
【0084】
なお、上記のステップ番号20.で処理が終了するのは、処理部105が、ステップ1.でC3のBを消去しているからである。上記の処理後、処理部105は、一元配列(3)(2)を作成する。そして、処理部105は、配列(3)(2)に上記のステップ番号1.~20.の処理で取得した座標要素の情報を入力する。
図12の例では、配列(3)(2)は、「3@3,3@2,2@2,2@3,2@4,2@5,3@5,4@5,4@4,3@4,3@3」となる。
【0085】
次に、閉じたループの合成処理の一例について説明する。合成処理は、閉じたループが複数ある場合に、ループ同士で共有されている座標を確認して両者を合成する処理である。これにより、処理部105は、複数の閉じたループがある場合に、不具合等発生箇所の形状を一つの閉じたループとして表現できる。
【0086】
図13及び
図14は、合成処理の一例を説明する図である。
図13は、
図12の例の座標要素の取得処理の結果を表している。
図13の入力フォーム12には、ループL1及びループL2が表示されている。また、ループL1とループL2とは、共有座標JPを共有している。
図13の例では、共有座標JPは、配列(3)では、「2@2」で表される。
【0087】
処理部105は、
図14に示すように、配列(3)(2)の「2@2」の位置に、配列(3)(1)である「2@2,2@1,1@1,1@2,2@2」を入れ込むことで両者を合成する。
図13及び
図14の例では、閉じたループの合成結果は、「3@3,3@2,2@2,2@1,1@1,1@2,2@2,2@3,2@4,2@5,3@5,4@5,4@4,3@4,3@3」となる。
【0088】
次に、
図15乃至
図20を用いて、補正部106の動作について説明する。
図15乃至
図20は、補正処理の一例を説明する図である。補正部106は、形状OLを枠FRに近づけるための座標位置の補正を行う。
【0089】
例えば、補正部106は、
図15に示すように、形状OLにおける2セル以上が突き出した形状について、辺をカットする処理を行う。具体的には、補正部106は、
図16に示すように、形状OLにおける2セル以上が突き出した形状について、セルの1辺の25%位置で面取りを行う。なお、
図16では、縦列方向のセル1辺の長さをYで表している。
【0090】
また、例えば、補正部106は、
図17に示すように、縦横2セル以上が連なる角部について、角を丸める処理を行う。具体的には、補正部106は、
図18に示すように、セルの1辺の25%位置で面取りを行う。なお、
図18では、縦列方向のセル1辺の長さをY、横行方向のセル1辺の長さをXで表している。
【0091】
また、例えば、補正部106は、
図19に示すように、斜めにマスが接している部分について、肉盛りする処理を行う。具体的には、補正部106は、
図20に示すように、セルの1辺の25%位置で肉盛りを行う。なお、
図20では、縦列方向のセル1辺の長さをY、横行方向のセル1辺の長さをXで表している。
【0092】
次に、
図21及び
図22を用いて、出力部107の動作について説明する。
図21及び
図22は、出力処理の一例を説明する図である。
【0093】
例えば、出力部107は、
図21に示すように、入力フォーム12上に配置した車両画像20A上に、補正部106で補正された形状の各頂点の座標を比率に変換した情報に基づいてオートシェイプ描画を行う。これにより、出力部107は、車両画像20A上に不具合等発生箇所を表す指摘枠MOを出力できる。
【0094】
また、例えば、出力部107は、
図22に示すように、指摘枠MOの中央部にマークMKを付す処理を行う。また、出力部107は、マークMKから引き出し線LLを引く処理を行う。また、出力部107は、不具合番号Nを記載したテキストボックスを先端に作成する。これにより、当該指摘枠MOがデータベース上のどの不具合に対応しているものかを明確にすることができる。
【0095】
次に、本実施形態の画像処理装置10で実行する処理について説明する。まず、車両画像20A及び不具合等発生箇所の登録処理について説明する。
図23は、画像処理装置10が実行する処理の一例を示すフローチャートである。
【0096】
まず、受付部101は、ユーザから入力フォーム12の起動指示を受け付ける(ステップS101)。次いで、受付部101は、入力フォーム12を介して、ユーザから車両画像20Aの指定指示を受け付ける(ステップS102)。
【0097】
次いで、登録部103は、車両画像20AをDBに登録するか否かを判断する(ステップS103)。例えば、登録部103は、ユーザからDB上の車両画像20Aが指定された場合には、登録を行わないと判断し、ユーザから画像処理装置10の記憶装置等に記憶された車両画像20Aが指定された場合には、登録を行うと判断する。
【0098】
登録を行わない場合(ステップS103:No)、取得部102は、DBから指定された車両画像20Aを読み出し(ステップS104)、ステップS107の処理に移行する。このとき、入力フォーム12上には、ステップS104で読み出された車両画像20Aが表示される。
【0099】
一方、登録を行う場合ステップS103:Yes)、取得部102は、画像処理装置10の記憶装置等から指定された車両画像20Aを取得する(ステップS105)。次いで、登録部103は、ステップS105で取得された車両画像20AをDBに登録する(ステップS106)。このとき、入力フォーム12上には、ステップS105で取得された車両画像20Aが表示される。
【0100】
次いで、選択部104は、車両画像20A上の不具合等発生箇所を選択する(ステップS107)。例えば、受付部101が入力フォーム12上で不具合等発生箇所の選択入力を受け付け、選択部104は、当該選択入力に従って、車両画像20A上の不具合等発生箇所を選択する。
【0101】
次いで、登録部103は、ステップS107で選択された不具合等発生箇所の情報を保存する。そして、登録部103は、車両画像20Aと不具合等発生箇所の情報とを対応付けてDBに登録し(ステップS108)、本処理を終了する。
【0102】
次に、不具合等発生箇所の出力処理について説明する。
図23は、画像処理装置10が実行する処理の一例を示すフローチャートである。
【0103】
まず、処理部105は、DBを参照し、処理対象となる車両画像20Aと不具合等発生箇所の選択情報とを対応付けた情報を読み出す(ステップS201)。例えば、受付部101は、ユーザから処理対象となる車両画像20Aと不具合発生箇所の選択情報との組み合わせの指定入力を受け付ける。処理部105は、当該指定入力に対応する情報をDBから読み出す。
【0104】
次いで、処理部105は、不具合等発生箇所として選択されたセル(以下、選択セルともいう)の数と同数の2元配列(1)を作成する(ステップS202)。なお、処理部105は、
図23のステップS108から連続してステップS202の処理を実行してもよい。この場合、処理対象となる車両画像20Aと不具合等発生箇所の選択情報とを対応付けた情報は既に読み出された状態であるため、ステップS201の処理は省略される。
【0105】
次いで、処理部105は、ステップS202で作成した配列(1)に、ステップS201で読み出した情報を反映させる(ステップS203)。例えば、処理部105は、不具合等発生箇所として選択されたセルの縦列位置及び横行位置を表す情報を、ステップS202で作成した配列(1)に入力する。
【0106】
次いで、処理部105は、選択セルの各々について、当該選択セルの上下左右に存在するセルが選択セルであるか否かを判定し(ステップS204)、判定結果に応じてマークを入力する(ステップS205)。
【0107】
例えば、上のセルが選択セルでないセル(以下、非選択セルともいう)である場合、処理部105は、当該非選択セルに該当する配列(1)にTを入力する。同様に、処理部105は、下のセルが非選択セルである場合はBを、左のセルが非選択セルである場合はLを、右のセルが非選択セルである場合はRを入力する。
【0108】
次いで、処理部105は、配列(2)を作成する(ステップS206)。次いで、処理部105は、ステップS205で配列(1)に入力されたマークに基づいて、選択セルの各々の座標要素を取得する(ステップS207)。そして、処理部105は、取得した座標要素の情報を配列(2)に入力する(ステップS208)。なお、処理部105は、座標要素の取得結果に応じて、配列(2)を追加で作成する処理を行う。
【0109】
例えば、処理部105は、横行、縦列の順で選択セルの検索を行い、Bottom、Left、Top、Rightの順で時計回りにマークの有無を判定し、マークがある場合は、当該マークに対応するセルの頂点の座標を座標要素として取得する。そして、処理部105は、マークに対応する座標要素の取得が終了した場合、当該マークを配列(1)から消去する処理を行う。
【0110】
また、例えば、処理部105は、マークがない場合、不具合等発生箇所の形状が反時計回り方向に広がっているかを判定する処理と、不具合等発生箇所の形状が直進方向に広がっているかを判定する処理とを行う。この場合、処理部105は、どのマークがないかに応じて、夫々に対応するセルについて、時計回りにマークの有無を判定する。
【0111】
ステップS208の処理の後、処理部105は、取得した座標要素により閉じたループが形成されるか否かを判定する(S209)。例えば、処理部105は、1要素目に取得した座標要素と同じ座標要素を取得した場合、取得した座標要素により閉じたループが形成されると判定する。
【0112】
閉じたループが形成されると判定しない場合(ステップS209:No)、ステップS207の処理に戻る。閉じたループが形成されると判定した場合(ステップS209:Yes)、処理部105は、一元配列(3)を作成する処理を行う(ステップS210)。
【0113】
次いで、処理部105は、ステップS210で作成した配列(3)に取得した座標要素を文字列形式で入力する(ステップS211)。また、入力完了後、処理部105は、閉じたループに関わる選択セルの配列(2)を初期化する処理を行う。
【0114】
次いで、処理部105は、全ての座標要素の取得が終了したか否かを判定する(ステップS212)。例えば、処理部105は、配列(1)の全てのマークが消去されているか否かを判定し、全てのマークが消去されている場合、全ての座標要素の取得が終了したと判定する。一方、マークが1つでも存在する場合、処理部105は、座標要素の取得が終了していないと判定する。
【0115】
全ての座標要素の取得が終了していない場合(ステップS212:No)、ステップS207の処理に戻る。例えば、処理部105は、横行、縦列の順で選択セルを検索し、選択セルを発見した場合、当該選択セルを対象として、ステップS207の処理を実行する。
【0116】
一方、全ての座標要素の取得が終了している場合(ステップS212:Yes)、処理部105は、閉じたループの合成処理を行う(ステップS213)。例えば、処理部105は、複数の閉じたループが存在する場合、配列(3)を確認し、ループ同士で共有されている共有座標があれば、当該共有座標を用いてループ同士を合成する。なお、閉じたループが1つしか存在しない場合は、ステップS213はスキップする。
【0117】
次いで、補正部106は、ステップS213で合成されたループの座標位置を補正する(ステップS214)。例えば、補正部106は、上述の
図15~20に示した処理を行い、座標位置を補正する。
【0118】
次いで、出力部107は、座標位置を補正されたループを不具合等発生箇所の形状として出力する(ステップS215)。例えば、出力部107は、補正部106で補正された位置座標を比率に変換した情報に基づいてオートシェイプ描画を行うことで、不具合等発生箇所の形状を出力する。
【0119】
次いで、出力部107は、ステップS215で出力した不具合等発生箇所の形状に、引き出し線、不具合の識別番号等を追加する処理を行い(ステップS216)、本処理を終了する。
【0120】
以上説明したように、本実施形態の画像処理装置10は、ユーザによって不具合等発生箇所として選択された選択範囲について、当該選択範囲に含まれるセルの各々について、当該セルの上下左右に位置するセルの各々が選択範囲であるか否かに応じて、T、B、L、Rのマークを付し、所定の手順で、マークに応じたセルの頂点の座標を取得し、当該座標で表される頂点を結ぶことで形成される形状を不具合等発生箇所の形状として出力する。
【0121】
これにより、ユーザは、入力フォーム12上で不具合等発生箇所に相当するセルを指定するだけで不具合等発生箇所の形状を出力することができる。したがって、本実施形態に係る画像処理装置10は、不具合等発生箇所について、表計算ソフトに添付された画像に対し、楕円形状のオートシェイプによってマーキングを施す等の従来の手法と比較して少ない工数で不具合等発生箇所を表現することができる。つまり、本実施形態に係る画像処理装置10によれば、車両部品の試作等における不具合等発生箇所を効率的に表現することができる。
【0122】
また、例えば、車両画像20Aの画像サイズを変更した場合でも、縦横比が維持されていれば、出力する不具合等発生箇所の形状のサイズを車両画像20Aと同様に変更することで、車両画像20A上における不具合等発生箇所の相対的な位置が、画像サイズ変更前と変更後で変化しないようにすることができる。ここで、例えば、不具合等発生箇所のレポートを複数の提出先に提出しなければならない場合、提出先毎に指定の画像サイズが異なることがある。この場合、従来手法では、ユーザは、画像サイズ毎に楕円形状のオートシェイプによってマーキングを施す等の処理を行わなければならず、非常に手間がかかってしまうことがあった。これに対し、本実施形態に係る画像処理装置10では、車両画像20Aの縮尺に合わせて出力する不具合等発生箇所の形状のサイズを変更するだけで、画像サイズに応じた不具合等発生箇所を表現したレポートを作成することができる。
【0123】
なお、上記実施形態の画像処理装置10で実行される上記各処理を実行するためのプログラムは、HDD(ハードディスクドライブ)に記憶されていてもよい。また、上記実施形態の画像処理装置10で実行される上記各処理を実行するためのプログラムは、ROM11Bに予め組み込まれて提供されていてもよい。
【0124】
また、上記実施形態の画像処理装置10で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。
【0125】
また、上記実施形態の画像処理装置10で実行される上記処理を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施形態の画像処理装置10で実行される上記処理を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。
【0126】
なお、上記には、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態およびその変形は、発明の範囲および要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0127】
(付記)
以下、本発明の好ましい態様について付記する。
【0128】
(付記1)
本発明の一態様によれば、画像処理装置による画像処理方法であって、
画像上における注目すべき領域を表す注目領域を含む画像を取得する画像取得ステップと、
前記画像と所定数のセルで構成されるフォームとを表示装置に重畳表示させる表示制御ステップと、
ユーザの指示に従い、前記フォーム上で前記注目領域に対応する1又は複数の前記セルを選択する選択ステップと、
選択された選択セルの各々について、当該選択セルの上下左右に位置する前記セルの各々が前記選択セルであるか否かを判定する判定ステップと、
判定結果に応じて、判定の対象とした前記選択セルの上、下、左又は右に他の前記選択セルが存在しないことを表すマークを付すマーキングステップと、
前記選択セルの各々について、当該選択セルの所定の頂点から、第1方向に前記マークの有無を確認し、
前記選択セルの各々について、当該選択セルの所定の頂点から、時計回り又は反時計回りの第1方向に前記マークの有無を判定し、
前記マークが存在する場合、前記マークに対応する頂点の座標を取得し、
前記マークが存在しない場合、前記第1方向とは反対方向である第2方向に位置する頂点を含む所定のセル及び前記第1方向に直交する第3方向に位置する頂点を含む所定のセルの各々について、前記マークが存在しないと判定された頂点を始点に前記第1方向に向かって前記マークの有無を判定する座標取得ステップと、
前記座標で表される頂点を結ぶことで形成される形状を前記注目領域の形状として出力する出力ステップと、
を含む。
【0129】
(付記2)
上記の付記1に記載の画像処理方法において、
取得された前記座標の位置を表す位置情報に所定の処理を施して前記座標の前記位置情報を補正する補正ステップを更に含む。
【符号の説明】
【0130】
10 画像処理装置
101 受付部
102 取得部
103 登録部
104 選択部
105 処理部
106 補正部
107 出力部