(57)【要約】【課題】認識後の文字列をＮＣプログラムとして機能させるように変換する。【解決手段】入力された画像から文字列を認識するＯＣＲ処理部３と、１文字のアルファベットと各アルファベットに続く数字の桁数とを対応づけて記憶する第１記憶部４と、１文字のアルファベットと２文字の数字との組合せからなるプログラムコードとそれに続く１文字のアルファベットからなる有効文字とを対応づけて記憶する第２記憶部４と、これら第１記憶部４および第２記憶部４を参照して、ＯＣＲ処理部３により認識された文字列の各行を、１文字のアルファベットと第１記憶部４に対応づけて記憶されている桁数分の数字とからなるプログラムコードに区画する文字列区画部５とを備えるＮＣプログラム変換装置１を提供する。【選択図】図１
2019016001.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像から文字列を認識するＯＣＲ処理部と、
１文字のアルファベットと各アルファベットに続く数字の桁数とを対応づけて記憶する第１記憶部と、
１文字のアルファベットと２文字の数字との組合せからなるプログラムコードとそれに続く１文字のアルファベットからなる有効文字とを対応づけて記憶する第２記憶部と、
前記第１記憶部および前記第２記憶部を参照して、前記ＯＣＲ処理部により認識された前記文字列の各行を、１文字のアルファベットと前記第１記憶部に対応づけて記憶されている桁数分の数字とからなるプログラムコードに区画する文字列区画部とを備えるＮＣプログラム変換装置。
【請求項２】
数字と、該数字と誤り易いアルファベットとを対応づけて記憶する第３記憶部を備え、
前記文字列区画部が、前記ＯＣＲ処理部により認識された前記文字列のうち、各区画の先頭の文字が数字である場合に、該数字を前記第３記憶部に対応づけて記憶されているいずれかのアルファベットに置き換える請求項１に記載のＮＣプログラム変換装置。
【請求項３】
前記文字列区画部は、前記ＯＣＲ処理部により認識された前記文字列のうち、先頭の文字が前記第１記憶部に記憶されているいずれかのアルファベットである場合に、該アルファベットに続く文字列を、前記第１記憶部に対応して記憶されている桁数分の数字に置き換える請求項１または請求項２に記載のＮＣプログラム変換装置。
【請求項４】
前記文字列区画部は、前記ＯＣＲ処理部により認識された前記文字列のうち、先頭の文字が「Ｏ」であり、それに続く数字が４桁より少ない場合に、先頭の文字と数字との間にゼロを追加して４桁の数字に置き換える請求項３に記載のＮＣプログラム変換装置。
【請求項５】
前記文字列区画部は、前記ＯＣＲ処理部により認識された前記文字列のうち、いずれのプログラムコードにも当てはまらない文字をコメント文に変換する請求項１から請求項４のいずれかに記載のプログラム変換装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣプログラム変換装置に関するものである。
【背景技術】
【０００２】
従来、申請書の画像を読み取り、読み取った画像に対してＯＣＲ（オプティカルキャラクタリーダ）処理を施すことにより文字認識して記載データの入力作業を効率化する文字認識装置が知られている（例えば、特許文献１参照。）。
この文字認識装置は、誤り易い文字を登録しておき、文字認識の結果、誤認識された文字を、登録されている文字の中で最も可能性の高い文字に置き換えるようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１０８９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、誤認識された文字を最も可能性の高い文字に置き換えるだけでは、必ずしも変換後の文字列をＮＣプログラムとして機能させることができるとは限らない。
本発明は上述した事情に鑑みてなされたものであって、認識後の文字列をＮＣプログラムとして機能させるように変換することができるＮＣプログラム変換装置を提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の一態様は、入力された画像から文字列を認識するＯＣＲ処理部と、１文字のアルファベットと各アルファベットに続く数字の桁数とを対応づけて記憶する第１記憶部と、１文字のアルファベットと２文字の数字との組合せからなるプログラムコードとそれに続く１文字のアルファベットからなる有効文字とを対応づけて記憶する第２記憶部と、前記第１記憶部および前記第２記憶部を参照して、前記ＯＣＲ処理部により認識された前記文字列の各行を、１文字のアルファベットと前記第１記憶部に対応づけて記憶されている桁数分の数字とからなるプログラムコードに区画する文字列区画部とを備えるＮＣプログラム変換装置を提供する。
【０００６】
本態様によれば、ＯＣＲ処理部により、入力された画像が文字列に変換されると、文字列区画部が、第１記憶部および第２記憶部を参照して、文字列の各行を１文字のアルファベットと第１記憶部に対応づけて記憶されている桁数分の数字とからなるプログラムコードに区画される。ＮＣプログラムにおいては、プログラムコードは必ずアルファベット１文字と数字との組合せにより構成されるので、例えば、文字列内に第１記憶部に記憶されているアルファベット１文字と数字２文字とからなるプログラムコードが認識された場合には、その後に続く文字がいずれかの第２記憶部に記憶されている有効文字と第１記憶部に記憶されている桁数の数字であると推定できる。これにより、認識後の文字列をＮＣプログラムとして機能させるように変換することができる。
【０００７】
上記態様においては、数字と、該数字と誤り易いアルファベットとを対応づけて記憶する第３記憶部を備え、前記文字列区画部が、前記ＯＣＲ処理部により認識された前記文字列のうち、各区画の先頭の文字が数字である場合に、該数字を前記第３記憶部に対応づけて記憶されているいずれかのアルファベットに置き換えてもよい。
【０００８】
このようにすることで、各区画の先頭の文字が数字であるプログラムコードは存在しないので、先頭の文字が数字である場合には第３記憶部に数字に対応づけて記憶されているアルファベットに置き換えることにより、ＮＣプログラムとして機能させるように変換することができる。
【０００９】
また、上記態様においては、前記文字列区画部は、前記ＯＣＲ処理部により認識された前記文字列のうち、先頭の文字が前記第１記憶部に記憶されているいずれかのアルファベットである場合に、該アルファベットに続く文字列を、前記第１記憶部に対応して記憶されている桁数分の数字に置き換えてもよい。
このようにすることで、認識された文字列を複数のプログラムコードに容易に区画することができ、ＮＣプログラムとして機能させるように変換することができる。
【００１０】
また、上記態様においては、前記文字列区画部は、前記ＯＣＲ処理部により認識された前記文字列のうち、先頭の文字が「Ｏ」であり、それに続く数字が４桁より少ない場合に、先頭の文字と数字との間にゼロを追加して４桁の数字に置き換えてもよい。
このようにすることで、「Ｏ」で始まる行をプログラム番号として認識し、「Ｏ」に続く数字が４桁より少ない桁数に省略されている場合であっても、数字の前にゼロを追加して４桁の数字に置き換えることにより、ＮＣプログラムとして機能させるように変換することができる。
【００１１】
また、上記態様においては、前記文字列区画部は、前記ＯＣＲ処理部により認識された前記文字列のうち、いずれのプログラムコードにも当てはまらない文字をコメント文に変換してもよい。
このようにすることで、いずれのプログラムコードにも当てはまらない文字、すなわち、第１記憶部に記憶されたいずれのアルファベットにも、アルファベットに対応して記憶されている桁数の数字にも、第２記憶部に記憶されたいずれかの有効文字にも当てはまらない場合に、当てはまらない部分をコメント文とすることにより、ＮＣプログラムとして機能させるように変換することができる。
【発明の効果】
【００１２】
本発明によれば、認識後の文字列をＮＣプログラムとして機能させるように変換することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るＮＣプログラム変換装置を示すブロック図である。
【図２】図１のＮＣプログラム変換装置に備えられる記憶部内に記憶された数値形式フォーマットの一例を示す図である。
【図３】図１のＮＣプログラム変換装置に備えられる記憶部内に記憶されたコード形式フォーマットの一例を示す図である。
【図４】図１のＮＣプログラム変換装置に備えられる記憶部内に記憶された数値アルファベット変換リストの一例を示す図である。
【図５】図１のＮＣプログラム変換装置の作用を説明するフローチャートである。
【図６】（ａ）入力される手書き文書の一例、（ｂ）（ａ）の手書き文書のＯＣＲ処理結果の一例、（ｃ）本実施形態に係るＮＣプログラム変換装置により生成されたＮＣプログラムの一例をそれぞれ示す図である。
【図７】（ａ）入力される手書き文書の他の例、（ｂ）（ａ）の手書き文書のＯＣＲ処理結果の他の例、（ｃ）本実施形態に係るＮＣプログラム変換装置により生成されたＮＣプログラムの他の例をそれぞれ示す図である。
【発明を実施するための形態】
【００１４】
本発明の一実施形態に係るＮＣプログラム変換装置１について、図面を参照しながら以下に説明する。
本実施形態に係るＮＣプログラム変換装置１は、図１に示されるように、手書き文字、印刷された文書あるいはファクシミリにより送信されてきた文書を撮影して画像を取得する画像取得部２と、該画像取得部２により取得された画像から文字列を認識するＯＣＲ処理部３と、数値形式フォーマット（第１記憶部）、コード形式フォーマット（第２記憶部）および数値アルファベット変換リスト（第３記憶部）を記憶する記憶部４と、該記憶部４に記憶されたフォーマットおよびリストに基づいてＯＣＲ処理部３により認識された文字列を変換する文字列区画部５とを備えている。
【００１５】
数値形式フォーマットには、図２に示されるように、１文字のアルファベットと各アルファベットに続く数字の桁数とが対応づけてられて複数記憶されている。
コード形式フォーマットには、図３に示されるように、１文字のアルファベットと２文字の数字との組合せからなるプログラムコードと、それに続く１文字のアルファベットからなる１以上の有効文字とが対応づけられて記憶されている。
数値アルファベット変換リストには、図４に示されるように、数字と、該数字と誤り易いアルファベットとが対応づけられて記憶されている。
【００１６】
文字列区画部５は、ＯＣＲ処理部３により画像から求められた文字列の各行に対して、行頭から、数値形式フォーマットに記憶されているいずれかのアルファベットを探索し、発見されたアルファベットに続く数字の桁数を数値形式フォーマットから読み出すようになっている。
【００１７】
そして、読み出されたアルファベットとそれに続く所定の桁数の数字がコード形式フォーマット内に存在するか否かが探索され、存在する場合には、そのアルファベットと数字との組合せがプログラムコードとして区画される。これと同時に、プログラムコードに続く文字が、コード形式フォーマットに対応づけて記憶されている有効文字であるか否かが判定される。いずれかの有効文字である場合には、その後に続く数字が、数値形式フォーマットに対応づけて記憶されている桁数の数字であると判定し、有効文字と数字とからなるプログラムコードとして区画され、その後の文字に対しても同様の処理が行われるようになっている。
【００１８】
そして、このようにして、ＯＣＲ処理部３により変換された全ての文字列を、複数のプログラムコードの集合に区画することにより、ＮＣコントローラに入力されて工作機械等の機械を作動させることができるＮＣプログラムを生成することができるようになっている。
【００１９】
このように構成された本実施形態に係るＮＣプログラム変換装置１の作用について以下に説明する。
本実施形態に係るＮＣプログラム変換装置１を用いて、紙に印刷された文書からＮＣプログラムを生成するには、図５に示されるように、画像取得部２により文書の画像を取得し（ステップＳ１）、ＯＣＲ処理部３によって画像を認識して文字列を生成する（ステップＳ２）。
【００２０】
次いで、生成された文字列を挟む位置にＮＣプログラムの開始と終了を示す文字、例えば、「％」を付することによりＮＣプログラム形式に変更する（ステップＳ３）。
この状態で、「％」以降の認識された文字列からＮＣプログラムとして機能するプログラムコードを生成していく。
【００２１】
すなわち、文字列区画部５は、まず、最初の行の文字列の先頭の文字がアルファベットであるか否かを判定し（ステップＳ４）、アルファベットである場合には、記憶部４に記憶されている数値形式フォーマットを参照し（ステップＳ５）、当該アルファベットに対応して記憶されている桁数分の数字をアルファベットに後続する文字列から抽出し（ステップＳ６）、プログラムコードとして区画する（ステップＳ７）。
【００２２】
例えば、図６（ａ）に示されるような手書きの文書の画像が取得された場合に、ＯＣＲ処理部３により図６（ｂ）に示されるように文字列が認識された場合に、最初の文字「Ｇ」がアルファベットであるか否かが判定され（ステップＳ４）、アルファベットであるため、数値形式フォーマットが参照されて（ステップＳ５）、「Ｇ」に後続する数字の桁数「２」が読み出され（ステップＳ６）、図６（ｂ）の文字列の「Ｇ」に続く２文字「４３」が数字であると認識されて、プログラムコード「Ｇ４３」が区画される（ステップＳ７）。
【００２３】
次に、後続の文字があるか否かが判定され（ステップＳ８）、存在する場合には、ステップＳ４からの工程が繰り返される。
上記例においては、「Ｇ４３」に後続する文字列「２５０．Ｈ０１」が存在するので、ステップＳ４からの工程が繰り返される。
【００２４】
この場合に、ステップＳ４において、先頭文字「２」がアルファベットではないと判定される。ＮＣプログラムにおいて数字あるいは記号のみからなるプログラムコードは存在しないので、ステップＳ９に進んで、その文字「２」が数字であるか否かが判定される。
「２」は数字なので、記憶部４に記憶されている数値アルファベット変換リストが参照され（ステップＳ１０）、「２」に対応づけて記憶されている候補である「Ｚ」が読み出される（ステップＳ１１）。
【００２５】
次いで、記憶部４に記憶されているコード形式フォーマットが参照され（ステップＳ１２）、ステップＳ１１において読み出された「Ｚ」が適正であるか否かが判定される（ステップＳ１３）。適正であるか否かについては、コード形式フォーマット内のプログラムコードに対応して記憶されている有効文字であるか否かによって判定される。
【００２６】
上記例においては、アルファベット「Ｚ」はプログラムコード「Ｇ４３」における有効文字であるため、適正であると判定され、数字「２」がアルファベット「Ｚ」に置き換えられる（ステップＳ１４）。そして、数値形式フォーマットが再度参照され（ステップＳ５）、置き換えられた「Ｚ」に続く数字の桁数が読み出される（ステップＳ６）。「Ｚ」には小数点以下３桁または４桁の数値形式が対応づけられているので、「Ｚ」に後続する数字から、小数点「．（ピリオド）」を挟んで３桁または４桁の数字が読み出されるが、小数点以下の「０（ゼロ）」は省略可能である。
【００２７】
上記例では、「．」に後続する文字は「Ｈ」であるため、全ての「０」が省略されているものと判定して、「Ｚ」に後続する数字として、「５０．」が読み出される。すなわち、「Ｚ５０．」がプログラムコードとして区画される（ステップＳ７）。
ステップＳ４において、先頭文字がアルファベットではないと判定され、ステップＳ９において記号でもないと判定された場合において、例えば、先頭文字が「０」である場合には、数値アルファベット変換リストには複数の候補が対応づけて記憶されているので、ステップＳ１３において、候補１から適正か否かが判定され、適正ではないと判定された場合には、他の候補があるか否かが判定され（ステップＳ１５）、他の候補がある場合にはステップＳ１０からの工程が繰り返される。
【００２８】
上記例において、最初の行の末尾の「Ｈ０１」がプログラムコードとして区画された場合には、その行には後続文字が存在しないので（ステップＳ８）、後続行があるか否かが判定され（ステップＳ１６）、後続行が存在する場合にはステップＳ４からの工程が繰り返される。
すなわち、上記例においては、２行目の「５１０００」はプログラムコード「Ｓ１０００」と置き換えられ、３行目の「２−１０．」は「Ｚ−１０．」と置き換えられ、４行目の「１５０．」は「Ｉ（アイ）５０．」と置き換えられ、５行目の「Ｇ２８２０」は「Ｇ２８Ｚ０」と置き換えられる。
【００２９】
そして、全ての行の文字列についてプログラムコードの区画が終了した場合には処理を終了する。
また、ステップＳ９において、先頭文字が文字ではないと判定された場合、および、ステップＳ１３において、適正な候補が見つからないまま、ステップＳ１５において他の候補がなくなった場合には、その文字がコメント文に変更される（ステップＳ１７）。文字のコメント文への変更は、当該文字を「（）（括弧）」で囲むことにより行われる。そして、文字がコメント文に変更された後は、ステップＳ８からの工程が繰り返される。
【００３０】
例えば、図７（ａ）に示される画像がＯＣＲ処理されることにより、図７（ｂ）に示される文字列が認識された場合に、１行目の末尾および２行目の末尾の「．」は、ステップＳ４においてアルファベットではないと判定され、ステップＳ９において文字でもないと判定されるので、ステップＳ１７において（）によって囲まれることにより、図７（ｃ）に示されるようにコメント文になる。
【００３１】
図６（ｃ）および図７（ｃ）においては、プログラムコードの区画部分を明確にするためにスペースで区切っているが、実際にはスペースは不要である。また、図６（ｃ）においては、数値アルファベット変換リストに記憶されている数字と誤り易いアルファベットを太文字で示している。
【００３２】
このように、本実施形態に係るＮＣプログラム変換装置１によれば、手書きあるいは印刷物の画像を認識して得られた文字列からＮＣコントローラにおいて機能することができるＮＣプログラムを生成することができる。すなわち、単に、最も確からしい文字に変換するだけでは、ＮＣプログラムとして機能しない文字列に変換されたり、本来不要な文字や記号までそのまま変換されてしまったりすることがあるが、本実施形態に係るＮＣプログラム変換装置１によれば、実行可能なＮＣプログラムを生成でき、ＮＣプログラムを実行させてその不具合の有無の調査を行うことが可能となるという利点がある。
【００３３】
特に、本来不要な文字についてはＮＣプログラムとして機能させるために支障を来さないコメント文により記録に残すことにより、元々の不具合を見落とすことなくＮＣプログラムを生成することができる。
また、特に、機械毎にＮＣプログラムフォーマットが異なることが多い工作機械において、ＮＣプログラムの不具合が発生する該当機械の調査は、該当機械を熟知している必要があるため容易ではなく、不具合調査を機械メーカに依頼する場合がある。この場合、情報漏洩防止の観点から電子情報としてのデータ出力が制限されることが多く、ＮＣプログラムについても印刷物や手書きによる紙媒体に記録して機械メーカに依頼することがある。    
【００３４】
本実施形態に係るＮＣプログラム変換装置１によれば、紙媒体等により提供されたＮＣプログラムを単に電子情報に変換するだけではなく、実行可能なＮＣプログラムとして機能するものを生成することができる。これにより、機械メーカにおいて不具合調査を速やかに実行することができるという利点がある。
【００３５】
なお、本実施形態においては、例えば、プログラム番号を示すアルファベット「Ｏ（オー）」が先頭文字として認識された場合に、これに続く４桁の文字は「数字」であると判定でき、例えば、画像から認識した文字列が「Ｏｏｏｏ１」であった場合に。数値アルファベット変換リストから「ｏ（小文字のオー）」を「０（ゼロ）」に置換することとして、プログラムコード「Ｏ０００１」を生成してもよい。
【００３６】
また、同様にして、アルファベット「Ｏ」が先頭文字として認識され、これに続く文字列が４桁の数字ではない場合、例えば、「１」である場合には、「Ｏ」と「１」との間に３つの「０（ゼロ）」を補って、プログラムコード「Ｏ０００１」を生成してもよい。
【００３７】
また、Ｇコード等の幾つかのプログラムコードは、直前のモーダル指令として機能するので、同じ行にＧコードが存在せず、認識された先頭文字がＧコード等を前提とする有効文字列であっても、それ以前の行のＧコードの有効文字としてプログラムコードを生成することにしてもよい。
【符号の説明】
【００３８】
１  ＮＣプログラム変換装置
３  ＯＣＲ処理部
４  記憶部（第１記憶部、第２記憶部、第３記憶部）
５  文字列区画部
【図１】
2019016001.tif 000003
【図２】
2019016001.tif 000004
【図３】
2019016001.tif 000005
【図４】
2019016001.tif 000006
【図５】
2019016001.tif 000007
【図６】
2019016001.tif 000008
【図７】
2019016001.tif 000009