JP7227479B2 - 情報処理装置及び画像分割プログラム - Google Patents

情報処理装置及び画像分割プログラム Download PDF

Info

Publication number
JP7227479B2
JP7227479B2 JP2019056454A JP2019056454A JP7227479B2 JP 7227479 B2 JP7227479 B2 JP 7227479B2 JP 2019056454 A JP2019056454 A JP 2019056454A JP 2019056454 A JP2019056454 A JP 2019056454A JP 7227479 B2 JP7227479 B2 JP 7227479B2
Authority
JP
Japan
Prior art keywords
rectangular
area
dilation
rectangular area
line segment
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.)
Active
Application number
JP2019056454A
Other languages
English (en)
Other versions
JP2020160549A (ja
Inventor
貴史 布施
哲男 肥塚
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019056454A priority Critical patent/JP7227479B2/ja
Publication of JP2020160549A publication Critical patent/JP2020160549A/ja
Application granted granted Critical
Publication of JP7227479B2 publication Critical patent/JP7227479B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置及び画像分割プログラムに関する。
設計図などが紙図面などでしか提供されていない場合、その図面の情報をコンピュータ上で再利用するために、スキャナなどを用いた図面のデジタル化が行われている。
また、機構図面など1つの図面に複数の部品が描かれている場合、各部品に関する線分データを部品ごとに個別に扱えるようにするため、従来、人がマウスなどを用いてコンピュータの画面上で目視により複数の部品に関する線分データを部品ごとに分割していた。
なお、従来、画像に含まれるオブジェクトの形状輪郭線を複数に分割して符号化する際、分割点で領域に隙間ができ、領域内を着色するときに色が領域の外部にもれだすことを防ぐために、形状輪郭線を膨張させる技術があった(たとえば、特許文献1参照)。
特開2001-351110号公報
目視により複数の部品に関する線分データを部品ごとに分割する作業は、図面の枚数や部品数が増大するにしたがって煩雑となり、分割の誤りが発生する可能性が高まる。そこで、コンピュータに自動的に複数の部品に関する線分データを部品ごとに分割させればよいが、以下のような問題がある。コンピュータによる図形分割のための画像処理方法の1つとして、連続する複数の線分を1つの固まりとして抽出する方法がある。しかし、機構図面などには部品の形状を表す形状線とその部品の寸法線が含まれており、これらは分離して描かれることが多く、これらを1つの固まりとして抽出することができない。各線分を膨張させて形状線と寸法線を接触させて1つの固まりとして認識できるようにしてもよいが、部品ごとに適切な膨張量が異なる場合があり、一律の膨張量を設定した場合、分割誤りが生じる可能性がある。
1つの側面では、本発明は、複数の部品に関する線分データを部品ごとに分割する際の分割誤りの発生を抑制可能な情報処理装置及び画像分割プログラムを提供することを目的とする。
1つの実施態様では、複数の部品が描画された図面を変換したデジタルデータである図面データに基づいて、前記複数の部品の何れかに関する1または連続する複数の線分をそれぞれ囲う複数の矩形領域を生成し、設定された膨張量に基づいて、前記複数の矩形領域のそれぞれに含まれる各線分を膨張させ、膨張後の前記各線分に基づいて、前記複数の矩形領域を更新するとともに、前記各線分の膨張によって互いに接触する線分を含む矩形領域同士を統合し、前記各線分を膨張させる膨張処理を所定回数以上続けて行っても、各膨張処理の前の面積に対する面積増加率が閾値以下である矩形領域に含まれる前記各線分についての膨張前の線分データを抽出する、処理部と、前記閾値を記憶する記憶部と、を有する情報処理装置が提供される。
また、1つの実施態様では、画像分割プログラムが提供される。
1つの側面では、複数の部品に関する線分データを部品ごとに分割する際の分割誤りの発生を抑制できる。
第1の実施の形態の情報処理装置の一例を示す図である。 第2の実施の形態の情報処理装置のハードウェア例を示すブロック図である。 情報処理装置の機能例を示すブロック図である。 分割処理の手順の一例を示すフローチャートである。 紙図面の一例を示す図である。 2値化処理及びノイズ除去処理後の図面データの一例を示す図である。 粒子処理を説明する図である。 図6に示した図面データに対する粒子処理結果の例を示す図である。 膨張処理後の粒子処理例を示す図である。 膨張処理が行われていないときに生成される矩形領域と左上頂点の位置の変化の許容範囲の例を示す図である。 1回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 2回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 3回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 4回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 5回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 上記各膨張処理前後の粒子処理によって生成される矩形領域についての情報の例を示す図である。 膨張画素数と面積との関係の例を示す図である。 膨張画素数と面積増加率との関係を示す図である。 図面データに対して適切に決定された各分割対象領域の例を示す図である。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の情報処理装置の一例を示す図である。
情報処理装置10は、処理部10aと記憶部10bを有する。
処理部10aは、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、処理部10aは、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、メモリに記憶されたプログラムを実行する。たとえば、画像分割プログラムが実行される。なお、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」ということがある。
処理部10aは、複数の部品が描画された図面を変換したデジタルデータである図面データに基づいて、複数の部品に関する線分データを部品ごとに分割させる分割処理を行う。図面データは、たとえば、図1に示すように、図面データを取得する図面データ取得装置11から供給される。図面データ取得装置11は、たとえば、スキャナまたは撮像装置などである。
なお、処理部10aが、図面データ取得装置11から供給される画面データに対して、分割処理の前に、2値化処理やノイズ除去処理を行ってもよい。また、図面データが記憶部10bに記憶されている場合には、処理部10aは記憶部10bから図面データを読み出してもよい。
記憶部10bは、RAM(Random Access Memory)などの揮発性の記憶装置、または、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性の記憶装置である。記憶部10bは、たとえば、後述する閾値や、処理部10aが実行するプログラムなどを記憶する。
処理部10aは、以下のような分割処理を行う。処理部10aは、図面データに基づいて、複数の部品の何れかに関する1または連続する複数の線分をそれぞれ囲う複数の矩形領域を生成する。そして、処理部10aは、設定された膨張量に基づいて、複数の矩形領域のそれぞれに含まれる各線分を膨張させ、膨張後の各線分に基づいて複数の矩形領域を更新するとともに、各線分の膨張によって互いに接触する線分を含む矩形領域同士を統合する。処理部10aは、このような処理を繰り返し、各線分を膨張させる膨張処理を所定回数以上続けて行っても、各膨張処理の前の面積に対する面積増加率が閾値以下である矩形領域に含まれる各線分についての膨張前の線分データを抽出する。
1つの部品に関する線分(形状線や寸法線など)は近接していることが多く、また、ある部品に関する線分は、他の部品に関する線分とは位置的に比較的離れていることが多い。そのため、ある回数の膨張処理により1つの部品に関する線分が1つの矩形領域内に収まった後、さらに膨張処理が行われた場合、面積増加率は小さくなる。このため、膨張処理を所定回数続けて行っても矩形領域の面積があまり変化しないとき(面積増加率が閾値以下のとき)、その矩形領域内に1つの部品に関する線分が含まれているものとみなすことができる。
図1には、分割処理の一例の様子が示されている。
紙図面12には、2つの部品12a,12bの形状(輪郭)を表す形状線と、部品12a,12bについての寸法を表す寸法線が描画されている。このような紙図面12から変換され、図面データ取得装置11から供給される図面データに対して、処理部10aは、上記のような矩形領域の生成処理(以下、粒子処理と呼ぶ場合もある)を行う。部品12a,12bのそれぞれの形状線と寸法線とは分離して描かれているため、それぞれ異なる矩形領域が生成される。図1の例では、部品12aに関して矩形領域13a,13bが生成され、部品12bに関して矩形領域13c,13d,13eが生成されている。
処理部10aは、矩形領域13a~13eのそれぞれに含まれる各線分を膨張させる。図1の例では、各線分を3画素膨張させた例が示されている。処理部10aは、膨張処理後に各矩形領域の更新や統合を行う。図1の例では、3画素膨張の結果、矩形領域13a,13bに含まれている形状線と寸法線とが接触するため、矩形領域13a,13bは統合されて、矩形領域14aが生成されている。矩形領域13c~13eのそれぞれに含まれる各線分は、3画素膨張を行っても矩形領域13c~13eの間での接触は生じない。そのため、統合は生じず、矩形領域13c~13eは、それぞれ膨張処理によって面積が広がり、矩形領域14b,14c,14dに更新されている。
図1の例では、各線分がさらに3画素膨張され、6画素膨張とした例が示されている。6画素膨張の結果、矩形領域14aに含まれている各線分は、他の矩形領域に含まれている各線分とは接触しない。そのため、統合は生じず、矩形領域14aは、膨張処理によって面積が広がり、矩形領域15aに更新されている。一方、矩形領域14b~14dに含まれる線分は、6画素膨張の結果、矩形領域14b~14dの線分との間での接触が生じ、矩形領域14b~14dは統合されて、矩形領域15bが生成されている。
図1の例では、各線分がさらに3回、3画素膨張され、9画素膨張、12画素膨張、15画素膨張とした例が示されている。9画素膨張、12画素膨張では、統合は生じず、矩形領域15aは、膨張処理によって面積が広がり、矩形領域16a、矩形領域17aに順に更新され、矩形領域15bも同様に面積が広がり、矩形領域16b、矩形領域17bに更新される。15画素膨張としたとき、矩形領域17a,17bに含まれる線分が膨張により互いに接触するため、矩形領域17a,17bは統合されて、矩形領域18が生成されている。
処理部10aは、上記のような粒子処理と膨張処理とを行うとともに、各膨張処理による各矩形領域の面積増加率ΔSRを算出し、面積増加率ΔSRが閾値TH以下であるか否かを判定する。
図1では、部品12aについての形状線が含まれる矩形領域(ハッチングが施されている矩形領域)の面積増加率ΔSRと、閾値THとの比較例が示されている。部品12aについての形状線が含まれる矩形領域の面積が大きく変化する最初の膨張処理における面積増加率ΔSRは、閾値THよりも大きいが、その後の3回の膨張処理における面積増加率ΔSRは閾値TH以下となっている。5回目の膨張処理における面積増加率ΔSRは、矩形領域17a,17bの統合が行われるため、大きな値となり、閾値THより大きくなっている。
処理部10aは、膨張処理を所定回数以上続けて行っても、面積増加率ΔSRが閾値TH以下である矩形領域に含まれる各線分についての膨張前の線分データを抽出する。たとえば、3回以上続けて膨張させても、面積増加率ΔSRがTH以下である矩形領域から線分データを抽出する場合、図1の例では、12画素膨張を行ったときの矩形領域17aが、分割(抽出)対象領域となる。
たとえば、処理部10aは、矩形領域17a内の各線分を12画素分縮小した線分データを抽出する。また、処理部10aは、矩形領域17a内の線分と、膨張処理を行う以前の図面データとの論理積処理を行うことで、両データにおいて位置が重なる線分についての線分データを抽出するようにしてもよい。
なお、処理部10aは、3回以上続けて膨張させても面積増加率ΔSRがTH以下である矩形領域があるとき、面積増加率ΔSRがTH以下である初回の膨張処理後の矩形領域やそれ以降の膨張処理後の矩形領域を分割対象領域としてもよい。図1の例では、処理部10aは、矩形領域15aや矩形領域16aを分割対象領域としてもよい。矩形領域17aと面積があまり変わらない矩形領域15a,16aは、矩形領域17aと同じ部品についての全線分を含んでいる可能性が高いためである。
処理部10aは、抽出した線分データを、図示しない表示装置に表示してもよいし、他の部品についての線分データとは区別して、記憶部10bに記憶してもよい。なお、図面データにおける線分データは、画素値の配列によって表せる。たとえば、線分の部分(黒い部分)の画素値は0、線分以外の部分(白い部分)の画素値は255である。
なお、処理部10aは、以下のように分割対象領域を決定してもよい。ある膨張処理により、ある矩形領域がΔSR>THとなるか、またはその矩形領域が他の矩形領域に統合される場合があるものとする。その場合、処理部10aは、その矩形領域が以前の膨張処理において所定回数以上続けてΔSR≦THであったときに、ΔSR>THとなるか他の矩形領域に統合される膨張処理の直前の矩形領域を分割対象領域としてもよい。
たとえば、上記所定回数が2回である場合、図1において、部品12bの形状線を含む矩形領域17bは、15画素膨張としたときに、矩形領域17aと統合される。しかし、矩形領域15bからの2回の膨張処理のそれぞれについての面積増加率ΔSRが閾値TH以下である場合、矩形領域17bも分割対象領域となる。
なお、上記の例では各線分を3画素ずつ膨張させる例を示したが、この値に限定されるものではない。膨張量や、上記所定回数の値は、図面のサイズや、各部品の形状線と寸法線との間隔や、複数の部品に関する線分の、各部品間での空白の広さなどに応じて適宜設定される。また、処理部10aは、膨張量を自動的に変えてもよい。たとえば、処理部10aは、ある回数の膨張処理を行っても、ΔSR>THとならない場合に、膨張させる画素数を増加させて分割処理が促進されるようにしてもよい。
また、閾値は、たとえば、予め設定される分割対象領域の最小面積や、最大アスペクト比、膨張量などに基づいて、予め処理部10aにより計算され、記憶部10bに記憶される。
以上のような第1の実施の形態の情報処理装置10では、粒子処理と膨張処理を繰り返したとき、面積増加が安定している(所定回数以上続けて面積増加率ΔSRが閾値TH以下)である矩形領域を分割対象領域としている。このため、部品ごとに適切な膨張量のときに分割対象領域が決定される。つまり分割対象領域が最適化される。これにより、複数の部品に関する線分データを部品ごとに分割する際の分割誤りの発生を抑制できる。
(第2の実施の形態)
図2は、第2の実施の形態の情報処理装置のハードウェア例を示すブロック図である。
情報処理装置20は、CPU21、RAM22、HDD23、画像信号処理部24、入力信号処理部25、媒体リーダ26、通信インタフェース27、インタフェース28を有する。上記ユニットは、バスに接続されている。
CPU21は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU21は、HDD23に記憶されたプログラムやデータの少なくとも一部をRAM22にロードし、プログラムを実行する。なお、CPU21は複数のプロセッサコアを備えてもよく、情報処理装置20は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM22は、CPU21が実行するプログラムやCPU21が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置20は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD23は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。プログラムには、たとえば、図面データを部品ごとの図形データに分割する処理を情報処理装置20に実行させる画像分割プログラムが含まれる。なお、情報処理装置20は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部24は、CPU21からの命令にしたがって、情報処理装置20に接続されたディスプレイ24aに画像を出力する。ディスプレイ24aとしては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ(PDP:Plasma Display Panel)、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
入力信号処理部25は、情報処理装置20に接続された入力デバイス25aから入力信号を取得し、CPU21に出力する。入力デバイス25aとしては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置20に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ26は、記録媒体26aに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体26aとして、たとえば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
媒体リーダ26は、たとえば、記録媒体26aから読み取ったプログラムやデータを、RAM22やHDD23などの他の記録媒体にコピーする。読み取られたプログラムは、たとえば、CPU21によって実行される。なお、記録媒体26aは、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体26aやHDD23を、コンピュータ読み取り可能な記録媒体ということがある。
通信インタフェース27は、ネットワーク27aに接続され、ネットワーク27aを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース27は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
インタフェース28は、図面データ取得装置28aに接続され、図面データ取得装置28aが送信する図面データの受信や、図面データ取得装置28aに対する、各種制御信号の送信などを行う。
次に、情報処理装置20の機能及び処理手順を説明する。
図3は、情報処理装置の機能例を示すブロック図である。なお、図3では、図2に示した図面データ取得装置28aが、撮像素子28a1、撮像素子コントローラ28a2、ステージコントローラ28a3、ステージ28a4を有する装置である例が示されている。
情報処理装置20は、データ読込部31、撮像素子制御部32、ステージ制御部33、前処理部34、粒子処理部35、膨張処理部36、図形追跡部37、設定情報入力部38、閾値処理部39、分割処理部40、出力部41、記憶部42を有する。記憶部42は、たとえば、RAM22またはHDD23に確保した記憶領域を用いて実装できる。その他のユニットは、たとえば、CPU21が実行するプログラムモジュールを用いて実装できる。
データ読込部31は、撮像素子コントローラ28a2からデジタルデータである図面データを読み込む。
撮像素子制御部32は、撮像素子コントローラ28a2を制御して撮像素子28a1による撮像を行わせる。
ステージ制御部33は、ステージコントローラ28a3にステージ28a4の位置調整を行わせる。
前処理部34は、データ読込部31から読み込まれた図面データに対して、2値化処理やノイズ除去処理などの前処理を行う。
粒子処理部35は、前処理後の図面データ、または膨張処理後の図面データに対して、粒子処理を行う。粒子処理は、前述のように1または連続する複数の線分をそれぞれ囲う複数の矩形領域を生成する処理である。
膨張処理部36は、各矩形領域に含まれる各線分を膨張させる膨張処理を行う。1回の膨張処理で膨張させる画素数(膨張量)は、たとえば、設定情報入力部38から供給される。
図形追跡部37は、粒子処理部35が生成した複数の矩形領域の位置を特定する位置特定点の座標情報と、複数の矩形領域のそれぞれの更新後の位置特定点の位置の変化の許容範囲を示す許容範囲情報と、を記憶部42に保持させる。以下では、位置特定点は、各矩形領域の左上頂点であるものとするが、これに限定されず、たとえば、右上頂点、左下頂点、または右下頂点などであってもよい。また、許容範囲は、たとえば、各矩形領域の左上頂点を中心に設定され、その大きさは、膨張量の大きさなどに基づいて適宜設定される。図形追跡部37は、複数の矩形領域の更新が行われるたびに左上頂点座標を更新する。
さらに、図形追跡部37は、左上頂点座標及び許容範囲情報に基づいて、ある矩形領域の更新後の位置特定点が、その矩形領域についての許容範囲内にない場合、その矩形領域が別の矩形領域に統合されたものとして、その矩形領域を更新対象から除外する。
また、図形追跡部37は、粒子処理部35が生成した複数の矩形領域のそれぞれの面積を算出する。
設定情報入力部38は、入力デバイス25aから各種設定情報を入力する。設定情報には、たとえば、膨張量のほか、閾値THを算出するための分割対象領域の最小面積、最大アスペクト比、前述の許容範囲の大きさなどを含む。
閾値処理部39は、閾値THを計算するとともに、矩形領域の面積増加率ΔSRを算出する。閾値THは、たとえば、分割対象領域の最小面積と最大アスペクト比と、膨張量とから計算される。閾値処理部39は、たとえば、最小面積ms=mx×myの、mx(xy座標系のx方向の画素数)とmy(xy座標系のy方向の画素数)を、mx/myが最大アスペクト比mrになるように決める。そして、膨張量をdとすると、閾値処理部39は、閾値THを、TH=((mx+d)×(my+d))/msという式により算出することができる。たとえば、最小面積ms=5000、最大アスペクト比mr=2の場合、mx=100(画素)、my=50(画素)となり、d=3の場合、TH=(103×53)/(100×50)=1.0918となる。
また、閾値処理部39は、所定回数以上続けて膨張処理を行っても、面積増加率ΔSRが閾値TH以下である矩形領域を、分割対象領域として決定する。なお、この所定回数は、たとえば、設定情報入力部38が入力する設定情報に含まれる。
分割処理部40は、決定された分割対象領域に含まれる各線分についての膨張前(0画素膨張時)の線分データを抽出する。分割処理部40は、たとえば、分割対象領域内の各線分を、これまで膨張させた画素数分縮小することで、各線分を元の太さに戻し、その線分についての線分データを抽出する。また、分割処理部40は、決定された分割対象領域に含まれる各線分と、膨張処理を行う以前の図面データとの論理積処理を行うことで、両データにおいて位置が重なる線分についての線分データを抽出するようにしてもよい。
出力部41は、抽出した線分データを、ディスプレイ24aに表示させる。なお、出力部41は、線分データを、他の部品に関する線分データとは区別して、記憶部42に記憶してもよい。また、出力部41は、分割処理途中の情報である、各膨張処理の結果や、各粒子処理の結果についても、ディスプレイ24aに表示させてもよい。
記憶部42は、各矩形領域の左上頂点座標、各矩形領域の更新後の左上頂点の位置の変化の許容範囲を示す許容範囲情報、各矩形領域の面積、閾値THなどを記憶する。
図4は、分割処理の手順の一例を示すフローチャートである。
まず、データ読込部31は、撮像素子コントローラ28a2からデジタルデータである図面データを読み込む(ステップS1)。なお、図面データの読み込みのための準備として、たとえば、以下の処理が行われる。まず、図示していないハンドラ装置などによって紙図面がステージ28a4上に設置される。
図5は、紙図面の一例を示す図である。
図5に示されている紙図面50には、複数の部品の形状を表す形状線と、複数の部品についての寸法を表す寸法線などが描画されている。
なお、紙図面50において、各部品の形状線や寸法線などは、他の部品についての形状線や寸法線などと見分けがつくように、部品ごとに位置的に適切に離れて描画されている。また、各部品の形状線と寸法線などは、隣接部品の一部だと誤認されない程度の距離以下、離して描画されている。
紙図面50のステージ28a4上への設置が完了した場合、設置が完了したことを示す信号が、たとえば、入力デバイス25aによってステージ制御部33に通知される。ステージ制御部33は、ステージコントローラ28a3を制御してステージ28a4を動かし、紙図面50全体または紙図面50において分割(抽出)対象とする各部品を含む領域が、撮像素子28a1の視野内に入るように調整を行う。調整が完了したことを示す信号が、たとえば、入力デバイス25aによって撮像素子制御部32に通知されると、撮像素子制御部32は、撮像素子コントローラ28a2を制御して撮像素子28a1による撮像を行わせる。撮像素子コントローラ28a2は、撮像素子28a1から供給される図面データをデジタルデータに変換する。
データ読込部31による図面データの読み込み後、前処理部34は、読み込まれた図面データに対して、2値化処理やノイズ除去処理を行う(ステップS2)。ノイズ除去処理は、たとえば、孤立点の除去などを含む。
図6は、2値化処理及びノイズ除去処理後の図面データの一例を示す図である。
図6の例では、図5に示した紙図面50に対応した図面データ51の例が示されている。
粒子処理部35は、前処理部34による処理後の図面データ51に対して、粒子処理を行う(ステップS3)。
図7は、粒子処理を説明する図である。
図7には、1つの部品に関する形状線51aと寸法線51b,51cが示されている。形状線51a、寸法線51b,51cのそれぞれは、値が0の画素値をもつ複数の画素(矩形で図示されている)の連なりで表される。粒子処理は、1または連続する複数の線分をそれぞれ囲う複数の矩形領域を生成する処理である。すなわち、値が0の画素値をもつ複数の画素の連なりが1つの固まりとして認識される。図7の例では、粒子処理によって、形状線51aを囲う矩形領域52a、寸法線51bを囲う矩形領域52b、寸法線51cを囲う矩形領域52cが生成されている。
図8は、図6に示した図面データに対する粒子処理結果の例を示す図である。
図面データ51に対する粒子処理により、図8に示すような複数の矩形領域(破線で示されている)が生成される。図7に示したように、1つの部品に関する形状線や寸法線は離れて配置されているため、それぞれに対して別々の矩形領域が生成されている。
なお、矩形領域には最小面積や最大面積が設定されていてもよく、たとえば、矩形領域の面積が非常に小さくなる文字などの線分データや、矩形領域の面積が非常に大きくなる図枠などの線分データに対しては、矩形領域が生成されないようにしてもよい。
次に、図形追跡部37は、粒子処理部35が生成した複数の矩形領域を注目図形(更新対象の矩形領域)として設定する(ステップS4)。ステップS4の処理において、図形追跡部37は、注目図形である複数の矩形領域の位置を特定する各矩形領域の左上頂点座標と、複数の矩形領域のそれぞれの更新後の左上頂点の位置の変化の許容範囲を示す許容範囲情報と、を記憶部42に保持させる。
また、図形追跡部37は、粒子処理部35が生成した複数の矩形領域のそれぞれの面積を算出する(ステップS5)。なお、図形追跡部37は、算出した面積を記憶部42に保持させる。
その後、設定情報入力部38から供給される膨張量が、膨張処理部36に設定され(ステップS6)、膨張処理部36は、各矩形領域に含まれる図形データの各線分を膨張させる膨張処理を行う(ステップS7)。
そして、粒子処理部35は、膨張処理後の図面データに対して、再び粒子処理を行う(ステップS8)。
図9は、膨張処理後の粒子処理例を示す図である。
図9には、図7に示した1つの部品に関する形状線51aと寸法線51b,51cに対する、膨張量を1画素とした膨張処理の例が示されている。図9の例では、膨張処理により、形状線51aと寸法線51b,51cが互いに接触している。そのため、粒子処理により、形状線51a、寸法線51b,51cを含む1つの矩形領域52が生成される。なお、部品ごとに、1つの部品に関する形状線や寸法線などが全て互いに接触する膨張量は異なる場合が多い。
その後、図形追跡部37は、ステップS8の粒子処理によって生成された各矩形領域の面積を算出する(ステップS9)。なお、図形追跡部37は、算出した面積を記憶部42に保持させる。
また、図形追跡部37は、左上頂点座標及び許容範囲情報に基づいて、膨張処理による各矩形領域の位置特定点(左上頂点)の位置の変化と許容範囲との関係を検出する(ステップS10)。そして、図形追跡部37は、ある矩形領域の左上頂点が、膨張処理前(更新前)のその矩形領域についての許容範囲内にない場合、その矩形領域を更新対象(注目図形)から除外するように、注目図形の更新を行う(ステップS11)。
閾値処理部39は、記憶部42に記憶されている矩形領域の更新前の面積と更新後の面積(統合される場合は統合によって生成された矩形領域の面積)に基づいて、各矩形領域の面積増加率ΔSRを算出する(ステップS12)。
そして、閾値処理部39は、面積増加率ΔSRが、予め計算した閾値THより大きい矩形領域があるか否かを判定する(ステップS13)。閾値THより大きい矩形領域がない場合、ステップS6からの処理が繰り返される。閾値THより大きい矩形領域がある場合、閾値処理部39は、所定回数(n回)以上続けて膨張処理を行っても、面積増加率ΔSRが閾値TH以下であった矩形領域があるか否かを判定する(ステップS14)。そのような矩形領域がない場合、ステップS6からの処理が繰り返される。そのような矩形領域がある場合、その矩形領域に対する図形分割及び出力が行われる(ステップS15)。ステップS15の処理では、閾値処理部39は、その矩形領域を、分割対象領域として決定し、分割処理部40は、分割対象領域に含まれる各線分についての膨張前の線分データを抽出する。そして、出力部41は、抽出した線分データを、ディスプレイ24aに表示させる。
その後、閾値処理部39は、注目図形のうち未分割のもの(未分割図形)があるか否かを判定する(ステップS16)。未分割図形がある場合、ステップS6からの処理が繰り返され、未分割図形がない場合、分割処理が終了する。
なお、上記の各ステップの順序は上記の順序に限定されるものではない。
以下、説明を簡単にするために、2つの部品についての上記フローチャートの手順を用いた分割処理の例を説明する。なお、以下の例では、ステップS14の処理で用いられる所定回数(n回)が2回であるものとして説明する。
図10は、膨張処理が行われていないときに生成される矩形領域と左上頂点の位置の変化の許容範囲の例を示す図である。
図10では、2つの部品についての線分データに対して生成された矩形領域60a,60b,60c,60d,60eの例が示されている。矩形領域60aは、1つ目の部品の形状線を囲うように生成され、矩形領域60bは、1つ目の部品の寸法線を囲うように生成されている。矩形領域60cは、2つ目の部品の形状線を囲うように生成され、矩形領域60d,60eは、2つ目の部品の各寸法線を囲うように生成されている。許容範囲61aは、矩形領域60aの左上頂点を中心に設定されており、許容範囲61bは、矩形領域60bの左上頂点を中心に設定されている。許容範囲61cは、矩形領域60cの左上頂点を中心に設定されており、許容範囲61dは、矩形領域60dの左上頂点を中心に設定されており、許容範囲61eは、矩形領域60eの左上頂点を中心に設定されている。
図11は、1回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 図11の例では、1回目の膨張処理後の粒子処理によって、図10に示した矩形領域60a,60bに含まれていた形状線と寸法線とが接触するため、矩形領域60a,60bは統合されて、図11では矩形領域62aが生成されている。矩形領域62aの左上頂点は許容範囲61a内にあるため、矩形領域62aは、図10の矩形領域60aと紐付けられ、ステップS11の処理では、注目図形として採用される。一方、許容範囲61bには、図10の矩形領域60bに対応する矩形領域の左上頂点がないため、矩形領域60bに対応する矩形領域は注目図形から除外される。なお、矩形領域60bは、2回以上続けて膨張処理を行っても面積増加率ΔSRが閾値TH以下であった注目図形には該当しないため、分割対象領域にはならない。
また、図10に示した矩形領域60c~60eのそれぞれに含まれていた各線分は、1回目の膨張処理を行っても、矩形領域60c~60eの間での接触は生じない。そのため統合は生じず、矩形領域60c~60eは、それぞれ膨張処理によって面積が広がり、図11に示すように、矩形領域62b,62c,62dに更新されている。矩形領域62bの左上頂点は許容範囲61c内にあるため、矩形領域62bは、図10の矩形領域60cと紐付けられる。矩形領域62cの左上頂点は許容範囲61d内にあるため、矩形領域62cは、図10の矩形領域60dと紐付けられる。矩形領域62dの左上頂点は許容範囲61e内にあるため、矩形領域62dは、図10の矩形領域60eと紐付けられる。これにより、矩形領域62b~62dは、ステップS11の処理では、注目図形として採用される。
図12は、2回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 図11に示した矩形領域62aに含まれていた各線分は、2回目の膨張処理を行っても、他の矩形領域の各線分との接触は生じない。そのため統合は生じず、矩形領域62aは、膨張処理によって面積が広がり、図12に示すように、矩形領域63aに更新されている。矩形領域63aの左上頂点は許容範囲61a内にあるため、矩形領域63aは、図11の矩形領域62aと紐付けられ、ステップS11の処理では、注目図形として採用される。
一方、2回目の膨張処理後の粒子処理によって、図11に示した矩形領域62b~62dに含まれていた図形データの各線分が、矩形領域62b~62dの間で互いに接触する。そのため、矩形領域62b~62dは統合されて、図12では矩形領域63bが生成されている。矩形領域63bの左上頂点は許容範囲61d内にあるため、矩形領域63bは、図11の矩形領域62cと紐付けられ、ステップS11の処理では、注目図形として採用される。一方、許容範囲61c,61eには、図11の矩形領域62b,62dに対応する矩形領域の左上頂点がないため、矩形領域62b,62dに対応する矩形領域は注目図形から除外される。
図13は、3回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 図12に示した矩形領域63aに含まれていた各線分は、3回目の膨張処理を行っても、矩形領域63bの各線分との接触は生じない。そのため統合は生じず、矩形領域63a,63bは、膨張処理によって面積が広がり、図13に示すように、矩形領域64a,64bに更新されている。矩形領域64aの左上頂点は許容範囲61a内にあるため、矩形領域64aは、図12の矩形領域63aと紐付けられ、矩形領域64bの左上頂点は許容範囲61d内にあるため、矩形領域64bは、図12の矩形領域63bと紐付けられる。そのため、矩形領域64a,64bは、ステップS11の処理では、注目図形として採用される。
図14は、4回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 図13に示した矩形領域64aに含まれていた各線分は、4回目の膨張処理を行っても、矩形領域64bの各線分との接触は生じない。そのため統合は生じず、矩形領域64a,64bは、膨張処理によって面積が広がり、図14に示すように、矩形領域65a,65bに更新されている。矩形領域65aの左上頂点は許容範囲61a内にあるため、矩形領域65aは、図13の矩形領域64aと紐付けられ、矩形領域65bの左上頂点は許容範囲61d内にあるため、矩形領域65bは、図13の矩形領域64bと紐付けられる。そのため、矩形領域65a,65bは、ステップS11の処理では、注目図形として採用される。
図15は、5回目の膨張処理後に生成される矩形領域と許容範囲の例を示す図である。 図14に示した矩形領域65aに含まれていた線分は、5回目の膨張処理によって、矩形領域65bの線分と接触する。そのため、矩形領域65a,65bは統合されて、図15では矩形領域66が生成されている。許容範囲61a,61dには、図14の矩形領域64a,64bに対応する矩形領域の左上頂点がないため、矩形領域64a,64bに対応する矩形領域は注目図形から除外される。ただし、矩形領域64a,64bは、2回以上続けて膨張処理を行っても面積増加率ΔSRが閾値TH以下であった矩形領域に該当する場合、分割対象領域となる。
図16は、上記各膨張処理前後の粒子処理によって生成される矩形領域についての情報の例を示す図である。
図16には、図10~図15に示した各膨張処理前後の粒子処理によって生成される矩形領域の左上頂点座標と面積の例が示されている。膨張画素数が0の場合、図10に示したような5つの矩形領域60a~60eの左上頂点座標と面積が求められ、1回目の膨張処理後には、図11に示した4つの矩形領域62a~62dの左上頂点座標と面積が求められる。また、2回目の膨張処理後には、図12に示した2つの矩形領域63a,63bの左上頂点座標と面積が求められ、3回目の膨張処理後には、図13に示した2つの矩形領域64a,64bの左上頂点座標と面積が求められる。また、4回目の膨張処理後には、図14に示した2つの矩形領域65a,65bの左上頂点座標と面積が求められ、5回目の膨張処理後には、図15に示した1つの矩形領域66の左上頂点座標と面積が求められる。図16に示すような情報は、記憶部42に保持される。
図17は、膨張画素数と面積との関係の例を示す図である。図17において、横軸は膨張画素数を表し、縦軸は図10に示した1つ目の部品の形状線を含む矩形領域の面積を表す。図17では、図10~図15に示した各膨張処理における膨張量を3画素としたときの、1つ目の部品の形状線を含む矩形領域の面積の変化の例が示されている。膨張画素数が0のときの面積は、図10に示した矩形領域60aの面積に相当し、膨張画素数が3画素のときの面積は、図11に示した矩形領域62aの面積に相当する。1回目の膨張処理では、矩形領域の統合が起きるため面積が大きく増加している。膨張画素数が6,9,12のときの面積は、図12~図14に示した矩形領域63a,64a,65aの面積に相当し、矩形領域の統合が起こらないため面積の増加は小さい。膨張画素数が15のときの面積は、図15に示した矩形領域66の面積に相当する。5回目の膨張処理では、矩形領域の統合が起きるため面積が大きく増加している。
図18は、膨張画素数と面積増加率との関係を示す図である。図18において、横軸は膨張画素数を表し、縦軸は図10に示した1つ目の部品の形状線を含む矩形領域についての面積増加率ΔSRを表す。図18の例では、2~4回目の膨張処理のとき(膨張画素数が6,9,12)、面積増加率ΔSRは、閾値TH以下となっている。つまり、2回以上続けて膨張処理を行っても面積増加率ΔSRが閾値TH以下である。そのため、たとえば、膨張画素数が12のときの矩形領域65aが、分割対象領域となる。
以上のような分割処理を行うことで、たとえば、図6に示したような図面データ51に対しても適切な分割処理が可能となる。
図19は、図面データに対して適切に決定された各分割対象領域の例を示す図である。
図19では、図面データ51に対して決定された、各部品に関する図形データをそれぞれ含む分割対象領域70,71,72,73が示されている。
以上のように、第2の実施の形態の情報処理装置20では、粒子処理と膨張処理を繰り返したとき、面積増加が安定している(たとえば、上記のように2回数以上続けて面積増加率ΔSRが閾値TH以下である)矩形領域を分割対象領域としている。このため、第1の実施の形態の情報処理装置10と同様に、部品ごとに適切な膨張量のときに分割対象領域が決定される。つまり分割対象領域が最適化される。これにより、複数の部品に関する線分データを部品ごとに分割する際の分割誤りの発生を抑制できる。
また、各矩形領域の位置特定点の変化と、各矩形領域の更新後の位置特定点の位置の変化の許容範囲との関係に基づいて更新対象とする矩形領域(注目図形)が更新されるため、更新前後の矩形領域の紐付けが可能となり、注目図形の追跡が可能となる。
なお、前述のように、上記の処理内容は、情報処理装置20にプログラムを実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体(たとえば、記録媒体26a)に記録しておくことができる。記録媒体として、たとえば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FD及びHDDが含まれる。光ディスクには、CD、CD-R(Recordable)/RW(Rewritable)、DVD及びDVD-R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(たとえば、HDD23)にプログラムをコピーして実行してもよい。
以上、実施の形態に基づき、本発明の情報処理装置及び画像分割プログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
10 情報処理装置
10a 処理部
10b 記憶部
11 図面データ取得装置
12 紙図面
12a,12b 部品
13a~13e,14a~14d,15a,15b,16a,16b,17a,17b,18 矩形領域

Claims (5)

  1. 複数の部品が描画された図面を変換したデジタルデータである図面データに基づいて、前記複数の部品の何れかに関する1または連続する複数の線分をそれぞれ囲う複数の矩形領域を生成し、
    設定された膨張量に基づいて、前記複数の矩形領域のそれぞれに含まれる各線分を膨張させ、
    膨張後の前記各線分に基づいて、前記複数の矩形領域を更新するとともに、前記各線分の膨張によって互いに接触する線分を含む矩形領域同士を統合し、
    前記各線分を膨張させる膨張処理を所定回数以上続けて行っても、各膨張処理の前の面積に対する面積増加率が閾値以下である矩形領域に含まれる前記各線分についての膨張前の線分データを抽出する、
    処理部と、
    前記閾値を記憶する記憶部と、
    を有する情報処理装置。
  2. 前記1または連続する複数の線分は、前記複数の部品の何れかに関する形状線または寸法線を表し、
    前記処理部は、前記膨張処理を繰り返すことで、それぞれが、1つの部品に関する前記形状線と前記寸法線を含む、前記複数の部品の数に対応した数の矩形領域を生成する、
    請求項1に記載の情報処理装置。
  3. 前記処理部は、
    前記複数の矩形領域のそれぞれの位置を特定する位置特定点の座標情報と、前記複数の矩形領域のそれぞれの更新後の前記位置特定点の位置の変化の許容範囲を示す許容範囲情報と、を前記記憶部に保持させ、前記複数の矩形領域の更新が行われるたびに前記座標情報を更新し、
    前記座標情報及び前記許容範囲情報に基づいて、前記複数の矩形領域のうちの第1の矩形領域の更新後の前記位置特定点が、前記第1の矩形領域についての前記許容範囲内にある場合、更新後の前記第1の矩形領域を再び更新対象として採用する、
    請求項1または2に記載の情報処理装置。
  4. 前記処理部は、
    前記座標情報及び前記許容範囲情報に基づいて、前記第1の矩形領域の更新後の前記位置特定点が、前記第1の矩形領域についての前記許容範囲内にない場合、前記第1の矩形領域が前記複数の矩形領域のうちの第2の矩形領域に統合されたものとして、前記第1の矩形領域を更新対象から除外する、
    請求項3に記載の情報処理装置。
  5. 複数の部品が描画された図面を変換したデジタルデータである図面データに基づいて、前記複数の部品の何れかに関する1または連続する複数の線分をそれぞれ囲う複数の矩形領域を生成し、
    設定された膨張量に基づいて、前記複数の矩形領域のそれぞれに含まれる各線分を膨張させ、
    膨張後の前記各線分に基づいて、前記複数の矩形領域を更新するとともに、前記各線分の膨張によって互いに接触する線分を含む矩形領域同士を統合し、
    前記各線分を膨張させる膨張処理を所定回数以上続けて行っても、各膨張処理の前の面積に対する面積増加率が閾値以下である矩形領域に含まれる前記各線分についての膨張前の線分データを抽出する、
    処理をコンピュータに実行させる画像分割プログラム。
JP2019056454A 2019-03-25 2019-03-25 情報処理装置及び画像分割プログラム Active JP7227479B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019056454A JP7227479B2 (ja) 2019-03-25 2019-03-25 情報処理装置及び画像分割プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019056454A JP7227479B2 (ja) 2019-03-25 2019-03-25 情報処理装置及び画像分割プログラム

Publications (2)

Publication Number Publication Date
JP2020160549A JP2020160549A (ja) 2020-10-01
JP7227479B2 true JP7227479B2 (ja) 2023-02-22

Family

ID=72643297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019056454A Active JP7227479B2 (ja) 2019-03-25 2019-03-25 情報処理装置及び画像分割プログラム

Country Status (1)

Country Link
JP (1) JP7227479B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113922A (ja) 2004-10-15 2006-04-27 Fujitsu Ltd 組み立て図面の装置部品イメージ検索装置
JP2009205343A (ja) 2008-02-27 2009-09-10 Dainippon Screen Mfg Co Ltd 線画処理装置、プログラムおよび線画処理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6184784A (ja) * 1984-10-02 1986-04-30 Mitsubishi Electric Corp 図形入力装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113922A (ja) 2004-10-15 2006-04-27 Fujitsu Ltd 組み立て図面の装置部品イメージ検索装置
JP2009205343A (ja) 2008-02-27 2009-09-10 Dainippon Screen Mfg Co Ltd 線画処理装置、プログラムおよび線画処理方法

Also Published As

Publication number Publication date
JP2020160549A (ja) 2020-10-01

Similar Documents

Publication Publication Date Title
US8970580B2 (en) Method, apparatus and computer-readable medium rendering three-dimensional (3D) graphics
JP7175197B2 (ja) 画像処理方法および装置、記憶媒体、コンピュータ装置
CN109977952B (zh) 基于局部最大值的候选目标检测方法
JP2000295532A (ja) 画像処理装置及び画像処理方法及び記録媒体及び画像処理システム
JP5849206B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
TW201945723A (zh) 檢查裝置、檢查方法及程式
US20220210511A1 (en) Method and electronic device for displaying video
JP6830712B1 (ja) ランダムサンプリング一貫性に基づく魚眼画像の有効領域抽出方法
US10121252B2 (en) Image processing apparatus and image processing method
JP7227479B2 (ja) 情報処理装置及び画像分割プログラム
JP4372066B2 (ja) 描画方法、データ放送受信装置およびプログラム
US20190347812A1 (en) Apparatus and method for image-distance transformation using bi-directional scans
JP3146232B2 (ja) パターン・マッチング法
JPH08194459A (ja) アウトライン文字描画装置
JP2016105446A (ja) 設計方法、設計装置及びプログラム
US10643312B2 (en) Smoothed image generating device, abnormality determining device, and smoothed image generating method
US11074670B2 (en) Image processing apparatus, control method thereof, recording medium, and information processing system
CN113784101A (zh) 紫边校正方法和紫边校正装置
JP7152972B2 (ja) 検査条件作成支援装置、検査条件作成支援方法、検査条件作成支援プログラムおよび記録媒体
JP6121768B2 (ja) 画像検出装置及び制御プログラム並びに画像検出方法
JP7152973B2 (ja) 検査条件作成支援装置、検査条件作成支援方法、検査条件作成支援プログラムおよび記録媒体
JP2003150898A (ja) 画像内パターン位置検出方法、装置、プログラムおよびプログラムが記録された記録媒体
TW202240533A (zh) 影像拼接方法
US20230386645A1 (en) Method for determining ciliary beat frequency
CN115222586A (zh) 图像拼接方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211208

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20211213

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20211213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221222

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: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230123

R150 Certificate of patent or registration of utility model

Ref document number: 7227479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150