JP7375261B2 - Code processing device, code processing method, and program - Google Patents
Code processing device, code processing method, and program Download PDFInfo
- Publication number
- JP7375261B2 JP7375261B2 JP2019232631A JP2019232631A JP7375261B2 JP 7375261 B2 JP7375261 B2 JP 7375261B2 JP 2019232631 A JP2019232631 A JP 2019232631A JP 2019232631 A JP2019232631 A JP 2019232631A JP 7375261 B2 JP7375261 B2 JP 7375261B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- angle
- information
- unit
- target code
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Description
特許法第30条第2項適用 令和1年11月27日から11月29日 関西物流展 実行委員会主催の「第1回 関西物流展」おいて出展
本発明は、コードを処理する装置等に関するものである。 The present invention relates to a code processing device and the like.
従来の技術として、画像から2次元コードの領域を特定し、その2次元コードによってコード化された情報を識別する技術が知られていた(例えば、特許文献1参照)。 As a conventional technique, a technique is known in which a two-dimensional code area is specified from an image and information coded by the two-dimensional code is identified (for example, see Patent Document 1).
しかしながら、従来の技術においては、コードから読み取ることができる情報は、通常、コード毎に予め決められており、ユーザが、コードを配置する際に、コードに対して所望の情報を容易に付加することができない、という課題があった。 However, in the conventional technology, the information that can be read from the code is usually predetermined for each code, and the user easily adds desired information to the code when arranging the code. The problem was that I couldn't do it.
本発明は、上記のような課題を解消するためなされたものであり、コードを配置する際に、コードに対して所望の情報を容易に付加することができるコード処理装置等を提供することを目的とする。 The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a code processing device etc. that can easily add desired information to the code when arranging the code. purpose.
本発明のコード処理装置は、1以上のコードを撮影した撮影画像を受け付ける画像受付部と、画像受付部が受け付けた撮影画像からコードを検出するコード検出部と、コード検出部が検出した1以上のコードを読み取って情報を取得する読取取得部と、コード検出部が検出した1以上のコードが配置されている角度を取得し、取得した角度に対応する情報を取得する角度情報取得部と、コード検出部が検出した1以上のコードについて読取取得部が取得した情報と、角度情報取得部が取得した角度に対応した情報と、を出力する出力部と、を備えたコード処理装置である。 The code processing device of the present invention includes an image reception unit that receives a captured image of one or more codes, a code detection unit that detects a code from the captured image received by the image reception unit, and one or more codes detected by the code detection unit. a reading acquisition unit that acquires information by reading the code; and an angle information acquisition unit that acquires the angle at which one or more codes detected by the code detection unit are arranged and acquires information corresponding to the acquired angle; The code processing device includes an output unit that outputs information acquired by a reading acquisition unit regarding one or more codes detected by the code detection unit, and information corresponding to an angle acquired by the angle information acquisition unit.
かかる構成により、コードを配置する際の角度によって、コードに対して所望の情報を容易に付加することができることができる。 With this configuration, desired information can be easily added to the code depending on the angle at which the code is arranged.
また、本発明のコード処理装置は、前記コード処理装置において角度情報取得部は、コードが配置されている角度として、3以上の異なる角度を取得可能であり、取得した角度にそれぞれ対応する情報を取得するようにしてもよい。 Further, in the code processing device of the present invention, the angle information acquisition unit in the code processing device is capable of acquiring three or more different angles as the angle at which the code is arranged, and stores information corresponding to each of the acquired angles. You may also obtain it.
かかる構成により、コードを配置する際の角度によって、コードに対して3以上の所望の情報を付加することができることができる。 With this configuration, three or more pieces of desired information can be added to the code depending on the angle at which the code is placed.
また、本発明のコード処理装置は、前記コード処理装置において、画像受付部は、コードが配置されている角度を角度情報取得部が取得する際に角度の基準となる方向を示す基準対象をさらに撮影した撮影画像を受け付け、角度情報取得部は、コード検出部が検出したコードが配置されている角度として、撮影画像内の基準対象が示す方向と、コードの特定の向きを示す方向とがなす相対的な角度を取得するようにしてもよい。 Further, in the code processing device of the present invention, in the code processing device, the image reception unit further includes a reference object indicating a direction as a reference of the angle when the angle information acquisition unit acquires the angle at which the code is arranged. The angle information acquisition section receives the photographed image, and determines the angle between the direction indicated by the reference object in the photographed image and the direction indicating the specific orientation of the code, as the angle at which the code detected by the code detection section is arranged. A relative angle may also be obtained.
かかる構成により、コードが配置されている角度の基準となる方向を、コードが配置されている実空間において指定することができる。 With this configuration, it is possible to specify the direction that serves as a reference for the angle at which the code is arranged in the real space where the code is arranged.
また、本発明のコード処理装置は、前記コード処理装置において、基準対象を、基準となる方向を示すコードとしてもよい。 Further, in the code processing device of the present invention, the reference object may be a code indicating a reference direction.
かかる構成により、コードが配置されている角度の基準となる方向を、コードが配置されている実空間に基準となるコードを配置することで、容易に指定することができる。 With this configuration, it is possible to easily specify the reference direction of the angle at which the code is arranged by placing the reference code in the real space where the code is arranged.
また、本発明のコード処理装置は、前記コード処理装置において、画像受付部は、コードが配置されたプレートであって、コードの向きを視覚的に認識可能な1以上のプレートを撮影した撮影画像を受け付けるようにしてもよい。 Further, in the code processing device of the present invention, in the code processing device, the image receiving unit is a plate on which a code is arranged, and the photographed image is a photographed image of one or more plates in which the direction of the code can be visually recognized. It may also be possible to accept .
かかる構成により、ユーザがコードを所望の角度となるよう配置する際に、コードの向きを容易に把握することができる。 With this configuration, the user can easily grasp the orientation of the cord when arranging the cord at a desired angle.
また、本発明のコード処理装置は、前記コード処理装置において、角度情報取得部は、90度単位で各コードが配置される角度を検出するとともに、90度と270度とに対応する情報として、同じ情報を取得するようにしてもよい。 Further, in the code processing device of the present invention, in the code processing device, the angle information acquisition unit detects the angle at which each code is arranged in units of 90 degrees, and as information corresponding to 90 degrees and 270 degrees, The same information may be acquired.
かかる構成により、コードを配置する際に、ユーザが区別しにくい角度を実質的に同じ角度として扱うことができ、コードを配置する角度による情報の指定の間違いを低減することができる。 With this configuration, when placing the code, angles that are difficult for the user to distinguish can be treated as substantially the same angle, and errors in information specification due to the angle at which the code is placed can be reduced.
本発明によるコード処理装置等によれば、コードを配置する際に、コードに対して所望の情報を容易に付加することができる。 According to the code processing device and the like according to the present invention, desired information can be easily added to the code when arranging the code.
以下、コード処理装置等の実施の形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。 Embodiments of the code processing device and the like will be described below with reference to the drawings. Note that in the embodiments, constituent elements with the same reference numerals perform similar operations, and therefore, repeated explanation may be omitted.
(実施の形態)
図1は、本実施の形態におけるコード処理装置1のブロック図である。
(Embodiment)
FIG. 1 is a block diagram of a
コード処理装置1は、画像受付部100、撮影部101、コード検出部102、読取取得部103、角度情報取得部104、出力部105、読取情報格納部106、および角度情報格納部107を備える。
The
コード処理装置1は、例えば、パーソナルコンピュータであってもよく、いわゆるスマートフォン等の多機能携帯電話やタブレット端末、PDA(Personal Digital Assistant)等などの携帯可能な情報処理端末であってもよく、撮影された画像等に関して処理を行う専用の装置であってもよく、サーバ等であってもよい。
The
画像受付部100は、1または2以上のコードを撮影した撮影画像を受け付ける。撮影画像は、例えば1または2以上のコードが配置された領域を撮影した画像である。ここでの1または2以上のコードは、後述するように、配置される角度の取得対象となるコードである。以下、説明の便宜上、配置される角度の取得対象となるコードを、他のコードと区別するために、対象コードと呼ぶ。つまり、画像受付部100が受け付ける撮影画像は、1または2以上の対象コードを撮影した画像である。撮影画像は、1または2以上の対象コードとともに、他の1または2以上のコードを撮影した画像であってもよい。他のコードとしては、例えば、対象コードとして利用可能なコードと同様のコードが利用可能である。対象コードは、例えば、コードを読み取った情報により、他のコードと識別可能なコードであればよい。例えば、対象コードは、コードを読み取った識別子等の情報が、予め用意された1以上の対象コードから読取り可能な情報のうちの一つと一致するコードであればよい。また、対象コードは、例えば、コードを読み取った情報が、あらかじめ決められた対象コードであることを示す情報を有しているコードであってもよい。また、対象コードは、例えば、コードを読み取った情報を用いて生成される情報、例えばハッシュ値等が、対象コードであることを示す情報となるコードであってもよい。あるいは、対象コードは、他のコードとはコード体系や種類等が異なるコードであってもよい。
The
撮影画像は、静止画像であっても、動画像であってもよく、連続した静止画像であってもよい。撮影画像の画素数等は問わない。撮影画像のデータ形式や、ファイル形式等は問わない。また、撮影画像は、カラー画像であっても良く、モノクローム画像であってもよい。ただし、撮影画像内のコードとして、カラーコードを用いる場合、撮影画像は通常、カラー画像である必要がある。 The photographed images may be still images, moving images, or continuous still images. The number of pixels of the captured image does not matter. The data format or file format of the captured image does not matter. Further, the photographed image may be a color image or a monochrome image. However, when using a color code as a code in a photographed image, the photographed image usually needs to be a color image.
ここでの対象コード等のコードは、情報が読み取り可能なコードであり、例えば、撮影画像から対応する情報が読取り可能なコードである。コードは、例えば、文字列以外の画像等で表されるコードである。例えば、コードは、カメレオンコード(登録商標)などのカラーコードであってもよく、QRコード(登録商標)であってもよく、バーコードであってもよく、その他のコードであってもよい。ここでのコードは、撮影画像を用いて同時に複数のコードが読み取り可能なコードであることが好ましい。以下、本実施の形態では、主として、対象コードがカラーコードである場合について説明する。 The code such as the target code here is a code that can read information, for example, a code that can read corresponding information from a photographed image. The code is, for example, a code represented by an image or the like other than a character string. For example, the code may be a color code such as a Chameleon code (registered trademark), a QR code (registered trademark), a barcode, or another code. Preferably, the code here is a code that can be read simultaneously using a photographed image. Hereinafter, in this embodiment, the case where the target code is a color code will be mainly described.
撮影画像に撮影される対象コードは、配置する角度を自由に設定可能なコードや、配置する角度を自由に変更可能なコードであることが好ましい。対象コードが配置される角度については後述する。 The target code photographed in the photographed image is preferably a code whose arrangement angle can be freely set or a code whose arrangement angle can be freely changed. The angle at which the target code is arranged will be described later.
撮影画像に撮影される対象コードは、ユーザが所望の面の、所望の領域に着脱可能に取り付けることが可能なコードであることが好ましい。撮影画像に撮影される対象コードは、例えば、プレートに配置されたコードである。例えば、対象コードは、プレートに印刷されたコードや、プレートに貼付けられたコードである。対象コードが配置されるプレートの形状やサイズ、色、材質等は問わない。通常、一のプレートに一のコードが配置される。ただし、一のプレートに複数のコードが配置されてもよい。対象コードが配置されたプレートは、例えば、磁性体や面ファスナー、吸着面、粘着面等を有しており、ホワイトボード等のボードや壁面、紙面等の面に着脱可能に取り付けられるプレートである。プレートが着脱可能であることにより、プレートに配置された対象コードが、所望の領域に着脱可能に取り付け可能となる。画像受付部100は、例えば、対象コードが配置された1以上のプレートを撮影した1または2以上の撮影画像を受け付けてもよい。
The target code photographed in the photographed image is preferably a code that can be detachably attached to a desired region of a desired surface by the user. The target code photographed in the photographed image is, for example, a code arranged on a plate. For example, the target code is a code printed on a plate or a code affixed to the plate. The shape, size, color, material, etc. of the plate on which the target code is placed does not matter. Usually, one code is placed on one plate. However, a plurality of codes may be arranged on one plate. The plate on which the target code is placed has, for example, a magnetic material, a hook-and-loop fastener, an adsorption surface, an adhesive surface, etc., and is a plate that can be removably attached to a board such as a whiteboard, a wall surface, a paper surface, etc. . Since the plate is removable, the target cord arranged on the plate can be removably attached to a desired area. For example, the
画像受付部100は、例えば、対象コードが配置されたプレートであって、対象コードの向きを視覚的に認識可能な1以上のプレートを撮影した撮影画像を受け付けることが好ましい。対象コードの向きとは、例えば、対象コードの上下左右等の方向である。ここでの対象コードの向きは、後述するように、角度情報取得部104が撮影画像内の対象コードを用いて取得する対象コードの向きである。対象コードの向きを視覚的に認識可能とは、例えば、ユーザが目視によって、対象コードの向きを判断可能であることである。例えば、対象コードの向きを視覚的に認識可能なプレートは、対象コードが配置されている表面の、対象コードに隣接する位置に、対象コードの向きを視覚的に認識可能な情報が配置されたプレートである。対象コードの向きを視覚的に認識可能な情報は、例えば、以下に述べるような1以上の文字やマークである。
It is preferable that the
例えば、対象コードの向きを視覚的に認識可能なプレートは、1以上の文字が配置されたプレートであって、この文字の向きが、対象コードの向きに対応しているプレートである。例えば、対象コードの向きを視覚的に認識可能なプレートは、対象コードに隣接して文字が配置されたプレートであって、対象コードの下から上に向かう向きが、隣接して配置された文字の下から上に向かう方向と一致しており、対象コードの右から左に向かう方向が、隣接して配置される文字の右から左に向かう方向と一致しているプレートである。 For example, a plate on which the orientation of the target code can be visually recognized is a plate on which one or more characters are arranged, and the orientation of the characters corresponds to the orientation of the target code. For example, a plate on which the direction of the target code can be visually recognized is a plate in which characters are arranged adjacent to the target code, and the direction from the bottom to the top of the target code is the one in which the characters are arranged adjacent to each other. The direction from the bottom to the top of the target code matches the direction from the bottom to the top, and the direction from the right to the left of the target code matches the direction from the right to the left of the adjacent characters.
また、対象コードの向きを視覚的に認識可能なプレートとは、例えば、文字以外の、視覚的に向きを示すことが可能な1以上のマークが配置されたプレートであって、このマークが示す向きが、対象コードの特定の向きに対応しているプレートであってもよい。このマークは、例えば、矢印や二等辺三角形等のマークであってもよい。 In addition, a plate on which the direction of the target code can be visually recognized is, for example, a plate on which one or more marks other than letters that can visually indicate the direction are arranged, and this mark indicates It may be a plate whose orientation corresponds to a specific orientation of the target code. This mark may be, for example, an arrow or an isosceles triangle mark.
また、対象コードの向きを視覚的に認識可能なプレートとは、例えば、対象コードが配置されている面の、対象コードに隣接する位置に1以上のマークが配置されたプレートであって、対象コードからこのマークに向かう方向が、対象コードの特定の向きに対応しているプレートであってもよい。対象コードからマークに向かう方向とは、例えば、対象コードから、マークまでを最短距離で結んだ線分の長さ方向である。対象コードの向きを視覚的に認識可能なプレートは、例えば、対象コードの上方にマークが配置されたプレートであって、対象コードの下から上に向かう向きが、対象コードからマークに向かう方向と一致しているプレートである。対象コードの向きを視覚的に認識可能なプレートは、例えば、対象コードの右側にマークが配置されたプレートであって、対象コードの右側に向かう向きが、対象コードからマークに向かう方向と一致しているプレートである。ここでのマークは、どのようなサイズや形状であってもよく、プレートの一部を着色したものであってもよい。また、ここでのマークは、1以上の文字であってもよい。 Furthermore, a plate on which the direction of the target code can be visually recognized is, for example, a plate on which one or more marks are arranged adjacent to the target code on the surface where the target code is arranged, and The plate may be such that the direction from the code to this mark corresponds to a specific orientation of the target code. The direction from the target code to the mark is, for example, the length direction of a line segment connecting the target code to the mark at the shortest distance. A plate on which the direction of the target code can be visually recognized is, for example, a plate in which a mark is placed above the target code, and the direction from the bottom of the target code to the top is the direction from the target code to the mark. This is a matching plate. A plate on which the direction of the target code can be visually recognized is, for example, a plate in which a mark is placed on the right side of the target code, and the direction toward the right of the target code matches the direction from the target code toward the mark. That's the plate. The mark here may be of any size or shape, and may be a portion of the plate that is colored. Further, the mark here may be one or more characters.
なお、上記のマークは、1以上の突起物や、凹部であってもよい。マークとして、突起物や凹部を用いることで、手で触ることによっても、対象コードの向きを認識可能である。 Note that the above mark may be one or more protrusions or recesses. By using protrusions or recesses as marks, the orientation of the target code can be recognized even by touching it with the hand.
なお、プレートに配置される上記のような対象コードの向きを視覚的に認識可能とするための文字やマーク等の情報は、プレートの対象コードが配置されている表面とは異なる裏面に配置されていてもよい。プレートの裏面にこれらのマークや文字が配置されていても、プレートを配置する際に、プレートの裏面を見れば対象コードの向きをユーザが把握することは可能である。プレートに配置される1以上の文字が、ユーザのプライバシーや、企業内の機密に関連する文字列等である場合、プライバシー保護や、セキュリティの観点から、文字列は、プレートの裏面に配置されることが好ましい。プライバシーに関連する文字列は、例えば、ユーザの名前等に関する情報である。企業内の機密に関連する文字列は、例えば、プロジェクト名や、作業名や、新製品名等である。プレートに配置される文字列が、対象コードから読み取ることができる情報であるか否かは問わない。また、プレートに配置される文字列が、対象コードから読み取ることができる情報に関連した情報であるか否かは問わない。 In addition, information such as letters and marks placed on the plate to make it possible to visually recognize the orientation of the target code as described above is placed on the back side of the plate, which is different from the front side where the target code is placed. You can leave it there. Even if these marks and characters are placed on the back side of the plate, the user can still grasp the orientation of the target code by looking at the back side of the plate when placing the plate. If one or more characters placed on the plate are character strings related to user privacy or corporate confidentiality, the character strings are placed on the back side of the plate from the viewpoint of privacy protection and security. It is preferable. The character string related to privacy is, for example, information regarding the user's name and the like. Character strings related to company secrets include, for example, project names, work names, new product names, and the like. It does not matter whether the character string placed on the plate is information that can be read from the target code. Further, it does not matter whether the character string placed on the plate is information related to information that can be read from the target code.
また、対象コードの向きを視覚的に認識可能なプレートは、対象コードの向きを視覚的に示す形状のプレートであってもよい。例えば、対象コードの特定の向きに向かって、プレートの幅が狭くなっているプレートや、対象コードの特定の向きに位置する辺に複数の凹凸等が形成された形状であってもよい。 Further, the plate that allows the direction of the target code to be visually recognized may be a plate having a shape that visually indicates the direction of the target code. For example, the plate may have a shape in which the width of the plate becomes narrower toward a specific direction of the target code, or a shape in which a plurality of unevenness or the like is formed on the side of the target code located in a specific direction.
なお、対象コードの向きを視覚的に認識可能なプレートは、配置されている対象コード自体が、対象コードの向きを視覚的に認識可能なコードであってもよい。例えば、対象コードの一部が、対象コードの向きを示すような配置を有していてもよい。例えば、対象コードの一部が、対象コードの向きを示すような矢印等の画像を有していてもよい。また、対象コードがカラーコートである場合、対象コードの一部の色の配列が、対象コードの向きを示す配置であってもよい。例えば、対象コードの向きを視覚的に認識可能なプレートは、配置されている対象コードが複数のセルがマトリクス上に配置されたカラーコードであって、特定の向きに位置する辺に配置されるセルの色が特定の色とであるカラーコードが配置されたプレートであってもよい。この場合、この特定の色のセルで構成される辺が位置する向きが、対象コードの特定の向きとなる。 Note that the plate in which the orientation of the target code can be visually recognized may be such that the target code itself arranged thereon can be a code that allows the orientation of the target code to be visually recognized. For example, a part of the target code may have an arrangement that indicates the direction of the target code. For example, a part of the target code may include an image such as an arrow indicating the direction of the target code. Further, when the target code is a color coat, the arrangement of colors in a part of the target code may be an arrangement indicating the direction of the target code. For example, in a plate where the orientation of the target code can be visually recognized, the target code is a color code in which multiple cells are arranged on a matrix, and the target code is placed on the side located in a specific direction. It may also be a plate on which a color code is arranged in which the color of the cell is a specific color. In this case, the direction in which the side made up of cells of this specific color is located is the specific direction of the target code.
視覚的に対象コードの向きを認識可能とすることで、ユーザが対象コードの特定の向きを認識することができ、ユーザが、対象コードを所望の角度で配置することが可能となる。 By making the orientation of the target code visually recognizable, the user can recognize the specific orientation of the target code, and the user can arrange the target code at a desired angle.
なお、ここでは、対象コードがプレートに配置されている場合について説明したが、対象コードは、フィルムやシート等に印刷されたものであってもよい。このような場合においても、上記のように、対象コードが配置される近傍等に、対象コードの向きを視覚的に認識可能とする情報等を配置するようにしてもよく、フィルム等の形状を、対象コードの向きを認識可能な形状としてもよい。また、対象コードを物品の表面や、物品の包装材等に配置してもよい。ここでの配置は、貼付であっても印刷であってもよい。この場合、物品等の向きと、対象コードが示す向きとを一致させることが好ましい。また、対象コードは、モニタ等に表示されるコードであってもよい。 Note that although the case where the target code is arranged on a plate has been described here, the target code may be printed on a film, a sheet, or the like. Even in such a case, as described above, information that allows the orientation of the target code to be visually recognized may be placed near where the target code is placed, and the shape of the film, etc. , it may be a shape that allows the orientation of the target code to be recognized. Further, the target code may be placed on the surface of the article, the packaging material of the article, or the like. The arrangement here may be pasting or printing. In this case, it is preferable that the orientation of the article or the like matches the orientation indicated by the target code. Further, the target code may be a code displayed on a monitor or the like.
撮影画像は、例えば、1または2以上の対象コードが着脱可能に配置された作業の実施状況を示す表や作業の管理表等を撮影した画像であってもよい。ここでの対象コードの配置は、例えば、対象コードが配置されたプレートやシート等の配置と考えてもよい。また、作業画像は、1または2以上の対象コードが配置された商品の陳列棚や書棚等を撮影した画像であってもよい。ただし、撮影画像は、これらの画像に限定されるものではない。 The photographed image may be, for example, a photographed image of a table showing the implementation status of the work, a work management table, etc., in which one or more target codes are removably arranged. The arrangement of the target code here may be considered, for example, as the arrangement of a plate, a sheet, etc., on which the target code is arranged. Further, the work image may be an image of a product display shelf, a bookshelf, etc., on which one or more target codes are arranged. However, the photographed images are not limited to these images.
画像受付部100は、対象コードが配置されている角度を、後述する角度情報取得部104が取得する際に、この角度の基準となる方向を示す基準対象をさらに撮影した撮影画像を受け付けるようにしてもよい。基準対象をさらに撮影した撮影画像とは、1以上の対象コードと基準対象とを撮影した画像であり、1以上の対象コードも基準画像も含まれている撮影画像である。対象コードが配置されている角度については後述する。基準対象は、例えば、対象コードが配置される面に表示された罫線等であってもよく、この罫線が伸びている方向を、上記の基準となる方向と判断してよい。また、基準対象は、例えば、水平方向に伸びており、上面にコードが貼付された物品が配置される陳列棚の棚板等であってもよく、この棚板の伸びている方向を、上記の基準となる方向と判断してよい。また、基準対象は、角度の基準となる方向を示すコード(以下、基準コードと称す)であってもよい。つまり、画像受付部100は、基準コードをさらに撮影した撮影画像を受け付けても良い。基準コードをさらに撮影した撮影画像とは、1以上の対象コードと1以上の基準コードとを撮影した画像であり、1以上の対象コードも1以上の基準画像も含まれている撮影画像である。この場合、この基準コードが示す方向を、角度の基準となる方向と考えてもよい。基準コードは、コードから読み取られる情報が、基準コードであることを示す情報であることが好ましい。基準コードが示す方向は、例えば、基準コードの特定の向きを示す方向(例えば、右方向、上方向等)であってもよく、基準コードの長手方向や短手方向等であってもよい。基準コードは、上記の対象コードと同様に、プレート等に配置されていてもよい。基準コードは、複数の基準コードによって角度の基準となる方向を示すものであってもよい。例えば、二つの基準コードの中心を結ぶ方向や、結ぶ方向に垂直な方向等が、角度の基準となる方向であってもよい。なお、通常のコードにおいては、コードの読取時にコードの向き等を検出することから、コードを用いて、コードの特定の向きを検出する処理は公知技術であり、ここでは説明を省略する。
The
ここでの撮影画像の受け付けとは、後述する撮影部101が撮影した撮影情報の受け付けであってもよく、コード処理装置1の外部に設けられた後述する撮影部101と同様の撮影部を有する撮影装置(図示せず)等から有線もしくは無線の通信回線を介して送信された撮影画像の受信であってもよく、光ディスクや磁気ディスク、半導体メモリなどの記録媒体(図示せず)から読み出された撮影画像の受け付け等であってもよい。画像受付部100が、どのように撮影画像を受け付けるかについては、上記に限定されるものではない。
The reception of a photographed image here may be the reception of photographic information photographed by a photographing
なお、本実施の形態においては、一例として、コード処理装置1が撮影部101を備えており、この撮影部101が撮影した撮影画像を画像受付部100が受け付ける場合について説明するが、画像受付部100が、外部等に設けられた撮影部等から撮影画像を受け付ける場合、コード処理装置1は、後述するカメラ等の撮影部101を有していなくてもよい。例えば、いわゆるスマートフォン等が有するカメラで撮影され、このスマートフォンから送信された撮影画像を画像受付部100が受け付ける場合、後述する撮影部101は省略してもよい。
In this embodiment, as an example, a case will be described where the
画像受付部100は、撮影画像を受け付けるためのインターフェース等と考えてもよい。画像受付部100は、例えば、撮影画像を受信したり読み出したりするためのデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現される。
The
撮影部101は、撮影画像を取得する。例えば、撮影部101は、1または2以上のコードが配置された領域を撮影して撮影画像を取得する。ここでの1または2以上のコードは、対象コードである。例えば、撮影部101は、対象コードが配置された1または2以上のプレートが配置された領域を撮影して撮影画像を取得する。このプレートは、例えば、上述したような対象コードの向きを視覚的に認識可能なプレートである。撮影部101が撮影する画像は、上記において画像受付部100に関連して説明したような撮影画像である。なお、撮影部101は、1または2以上の対象コードと、基準対象とが配置された領域を撮影して撮影画像を取得してもよい。また、撮影部101は、1または2以上の対象コードに加えて、対象コード以外の1または2以上のコードが配置された領域を撮影して撮影画像を取得してもよい。この対象コード以外の1または2以上のコードは、基準コードを含んでいてもよい。
The photographing
撮影部101は、通常、デジタルカメラや、光学式スキャナや、ラインセンサ等で実現される。
The photographing
コード検出部102は、画像受付部100が受け付けた撮影画像から1または2以上のコードを検出する。撮影画像からコードを検出するということは、例えば、撮影画像内において、コードの画像を検出することである。コードの画像を検出することは、コードの領域を検出することであってもよい。コード検出部102が撮影画像から検出するコードは、1または2以上の対象コードを含むコードである。例えば、コード検出部102は、撮影画像内の全てのコードを検出してもよく、1以上の対象コードを含む一部のコードのみを検出してもよい。撮影画像が、基準対象として、基準コードを用いる場合、コード検出部102は、この基準コードも検出することが好ましい。撮影画像から1または2以上のコードを検出する処理は公知技術であるため、ここでは詳細な説明は省略する。
The
読取取得部103は、コード検出部102が検出した1以上のコードを読み取って情報を取得する。ここでの読み取る1以上のコードは、対象コードである。読取取得部103が対象コードを読み取って取得する情報(以下、読取情報と称す)は、例えば、対象コードから直接読み取られる情報であってもよく、対象コードから読み取られる識別子等の情報と対応付けられて図示しない格納部に格納されている情報であってもよい。コード検出部102が検出した1以上のコードが対象コード以外のコードを含む場合、この対象コード以外のコードも読み取るようにしてもよい。例えば、コード検出部102が検出した1以上のコードが基準コードを含む場合、読取取得部103は基準コードも読み取るようにしてもよい。読取情報は、どのような情報であってもよい。以下においては、読取取得部103が、対象コードを読み取って識別子を取得し、この識別子と対応付けられた読取情報を、読取情報格納部106に格納されている複数の異なる読取管理情報から検索等により取得する場合を例に挙げて説明する。読取管理情報は、対象コードから読み取られる識別子と読取情報とを有する情報である。なお、コードを読み取る処理については、公知技術であるため、ここでは詳細な説明は省略する。
The
角度情報取得部104は、コード検出部102が検出した1以上のコードが配置されている角度を取得し、取得した角度に対応する情報(以下、角度対応情報と称す)を取得する。ここでの角度情報取得部104が角度を取得する1以上のコードは、1以上の対象コードである。対象コードが配置されている角度とは、例えば、対象コードの向きを示す角度と考えてもよい。対象コードが配置されている角度は、例えば、撮影画像内における対象コードが配置されている角度である。コードが配置されている角度とは、例えば、対象コードの特定の向きを示す方向と、角度の基準となる方向とがなす角度である。対象コードの特定の向きを示す方向とは、例えば、コードにおいて特定可能な予め決められた方向であって、コードの表面に平行な方向である。対象コードの特定の向きを示す方向は、例えば、対象コードの上方向や、右方向や、左方向や、下方向等である。なお、角度情報取得部104が、対象コードが配置されている角度として、対象コードの長手方向や短手方向が示す角度を取得する場合、対象コードの特定の向きを示す方向は、例えば、コードの長手方向や、短手方向であってもよい。
The angle
なお、以下の説明において角度情報取得部104が取得する角度を、説明の便宜上、0~360度までの範囲に限定して説明する。ただし、角度の範囲はこの範囲に限定されるものではなく、これ以外の範囲、例えば、-180度から180度までの範囲としてもよい。上記以外の範囲を用いる場合、以下の説明等における角度や角度の範囲等は、適宜対応する値に変換して読み替えるようにすればよい。例えば、350度の角度についての説明を、-10度の角度についての説明に読み替えてもよい。
In the following description, the angle acquired by the angle
まず、角度情報取得部104が、コード検出部102が検出した1以上の対象コードが配置されている角度を取得する処理について説明する。角度情報取得部104は、例えば、コード検出部102が検出した1以上の対象コードについて、特定の向きを示す方向を取得する。例えば、角度情報取得部104は、対象コードの向きを特定するために、対象コード内に配置された1以上のドットやセル等を用いて、対象コードの上下左右を検出し、検出した上下左右を用いて、特定の向きを示す方向を取得してもよい。ここでの方向は、例えば、撮影画像内における方向である。方向の取得とは、方向を示す情報の取得と考えてもよい。例えば、セルがマトリクス状に配置されたカラーコードにおいて、カラーコードの上下左右を検出し、左下隅のセルから右下隅のセルに向かう方向や、左上隅のセルから右上隅のセルに向かう方向を、特定の向きを示す方向である右方向として検出してもよい。同様に、左下隅のセルから左上隅のセルに向かう方向を、上方向として検出してもよい。
First, a process in which the angle
また、例えば、角度情報取得部104は、コード検出部102が検出した1以上の対象コードの画像を用いて、対象コードの画像内の座標系を検出し、この座標系を用いて、特定の向きを示す方向(例えば、右方向や上方向等)を特定してもよい。特定の向きを示す方向は、座標系の一の座標軸が示す方向であってもよい。対象コードの画像内の座標系とは、例えば、対象コードを構成するドットやセル、バー等の配列方向等から検出される2次元座標系である。ただし、上記で説明した対象コードの特定の向きを示す方向の特定は、一例であり、上記の処理に限定されるものではない。
Further, for example, the angle
角度情報取得部104は、上記で取得した対象コードの特定の向きを示す方向が、角度の基準となる方向に対してなす角度を取得する。角度の基準となる方向としては、例えば、撮影画像の予め決められた方向を用いてもよい。撮影画像の予め決められた方向とは、撮影画像の右方向や、左方向や、上方向や、下方向である。撮影画像の予め決められた方向は、撮影画像の長手方向や、短手方向であってもよい。撮影画像の予め決められた方向は、撮影画像から取得可能である。例えば、角度情報取得部104が上記で対象コードについて取得した撮影画像内における対象コードの特定の向きを示す方向が、撮影画像内の予め決められた方向に対してなす角度を、対象コードが配置されている角度として取得する。例えば、角度情報取得部104は、上記のように、撮影画像内のカラーコードの左下隅のセルから右下隅のセルに向かう方向を、対象コードの特定の向き示す方向である対象コードの右方向として検出し、この方向が、撮影画像の右方向(例えば、撮影画像の左辺から右辺に向き合う方向に対してなす角度を、対象コードが配置されている角度として取得してもよい。
The angle
また、対象コードが配置されている角度を特定する際に利用される角度の基準となる方向は、上述した基準対象が示す方向であってもよい。すなわち、角度情報取得部104は、コード検出部102が検出した対象コードが配置されている角度として、撮影画像内の基準対象が示す方向と、対象コードの特定の向きを示す方向とがなす相対的な角度を取得してもよい。
Furthermore, the reference direction of the angle used when specifying the angle at which the target code is arranged may be the direction indicated by the reference target described above. That is, the angle
例えば、基準対象が、罫線や、棚板等である場合、角度情報取得部104は、画像認識処理等を行なって撮影画像内においてこれらの基準対象を検出し、基準対象の伸びている方向(例えば、罫線や、棚板等の伸びる方向)を検出する。基準対象の伸びている方向が、撮影画像の左右である場合、基準対象が伸びている方向の、撮影画像の左から右に向かう方向を右方向、右から左に向かう方向を左方向として取得してもよい。なお、基準対象の伸びる方向が上下方向である場合、上記の左右を上下に読み替えた処理を行なうことで、上方向および下方向を判断してもよい。例えば、上記で取得した基準対象の伸びている方向と、撮影画像の左右方向とがなす角度が45度から135度の間でない場合、基準対象の伸びる方向を撮影画像の左右と考え、45度から135度の間である場合、基準対象の伸びる方向を撮影画像の上下と考えるようにしてもよい。
For example, when the reference object is a ruled line, a shelf board, etc., the angle
また、基準対象が基準コードである場合、角度の基準となる方向を、この基準コードにおいて特定される予め決められた方向としてもよい。例えば、角度情報取得部104は、1以上の対象コードにおいて特定した予め決められた方向と、基準コードにおいて特定した予め決められた方向とがなす角度を取得する。基準コードにおいて予め決められた方向を特定する処理は、上記の対象コードにおいて予め決められた方向を特定する処理と同様であるため、ここでは、説明を省略する。
Furthermore, when the reference object is a reference code, the direction that serves as the reference for the angle may be a predetermined direction specified in this reference code. For example, the angle
基準コード等の基準対象が示す角度の基準となる方向は、対象コードが配置される面の上下方向や高さ方向に対して、平行な方向、または垂直な方向であることが好ましい。例えば、対象コードが、水平面以外の平面、例えば、壁面等に配置される場合、基準対象が示す基準となる方向は、水平方向または、水平方向に垂直な方向であることが好ましい。 The direction that serves as the reference for the angle indicated by the reference object such as the reference code is preferably a direction parallel to or perpendicular to the vertical direction or height direction of the surface on which the object code is arranged. For example, when the target code is placed on a plane other than a horizontal plane, such as a wall surface, the reference direction indicated by the reference target is preferably a horizontal direction or a direction perpendicular to the horizontal direction.
なお、角度情報取得部104が1以上の対象コードについて取得する角度は、撮影画像内の角度に限定されるものではなく、実空間における対象コードが配置されている角度を取得してもよい。実空間における対象コードが配置されている角度は、例えば、実空間の対象コードが配置されている面内における対象コードが配置されている角度である。例えば、画像受付部100が受け付けた撮影画像を、対象コードに対して垂直な方向から撮影した画像に相当する画像となるよう射影変換等を行なって補正し、この補正した撮影画像について、対象コードが配置されている角度を特定することで、実空間における対象コードが配置されている角度を取得してもよい。この場合、例えば、基準対象が示す角度の基準となる方向も、補正した撮影画像から取得するようにする。撮影画像についての補正は、例えば、撮影画像内の1以上のコードが本来のコードの縦横比と同じ縦横比を有する形状となるようにする補正や、基準対象が示す方向を、撮影画像の横方向や縦方向等の予め決められた方向と一致させるようにする補正である。また、仮想現実の技術等を用いて、撮影画像から、実空間における対象コードの特定の向きを示す方向や、対象コードが配置されている角度の基準となる方向を取得し、取得した方向を用いて実空間における対象コードが配置される角度を取得してもよい。例えば、仮想現実の技術を用いれば、撮影画像内のコードから、実空間の方向等を取得することが可能である。角度の基準となる方向は、実空間における水平方向や垂直方向であってもよく、実空間における基準対象が示す方向であってもよい。
Note that the angle that the angle
角度情報取得部104は、対象コードが配置されている角度として、3以上の異なる角度を取得可能なものであり、取得した角度にそれぞれ対応する情報を取得することが好ましい。例えば、角度情報取得部104は、3以上の異なる角度を取得可能なものであり、異なる角度に対応して取得される情報が、互いに異なる情報であることが好ましい。例えば、角度情報取得部104は、対象コードが配置されている角度として3以上の異なる角度のうちの一つを取得し、取得した角度に対応する情報を取得することが好ましい。
The angle
なお、角度情報取得部104が取得する対象コードが配置されている角度の最小の単位は、1度単位であってもよく、10度単位であってもよく、45度単位であってもよく、90度単位であってもよく、その単位は問わない。角度の最小の単位は、例えば、0度より大きく180度以下である範囲内の角度である。例えば、角度情報取得部104は、最小単位に満たない角度の端数は切り捨てるようにしてもよく、切り上げるようにしてもよく、最小単位未満の任意の閾値以上の角度の端数を切り上げ、閾値未満の角度の端数は切り捨てるようにしてもよい。この閾値は、最小単位の半分程度の値であることが好ましい。
Note that the minimum unit of angle in which the target code acquired by the angle
次に、角度情報取得部104が、上記で取得した対象コードが配置されている角度について、角度対応情報を取得する処理に関して説明する。角度情報取得部104は、例えば、異なる角度と対応付けられて角度情報格納部107等に格納されている複数の角度対応情報から、上記で取得した対象コードが配置されている角度と対応付けられた角度対応情報を検出し、取得する。異なる角度と対応付けて格納されている複数の角度対応情報において、一の角度対応情報に対応付けられている角度は、複数であってもよい。異なる角度と対応付けて格納されている複数の角度対応情報として、例えば、角度の範囲と対応付けて格納されている複数の角度対応情報を用いてもよい。この場合、角度情報取得部104は、角度情報取得部104が取得した対象コードが配置されている角度を含む角度の範囲と対応付けられた角度対応情報を、図示しない格納部から検出して取得する。ここでの複数の角度の範囲は、通常、互いに重複した部分(すなわち角度)を有さない角度の範囲であることが好ましいが、重複していてもよい。例えば、対象コードが配置されている角度が、重複した部分の角度である場合、重複したそれぞれの値に対応した情報を取得するようにしても良い。
Next, a process in which the angle
角度対応情報は、どのような情報であってもよい。例えば、角度対応情報は、対応する対象コードに対応するユーザが出社しているか否かを示す情報や、入室しているか否かを示す情報であってもよい。また、角度対応情報は、対応する対象コードに対応する処理や作業等が、認証前であるか、認証処理中であるか、認証が完了したかを示す情報であってもよい。対象コードに対応するユーザとは、例えば、対象コードから読み取った読取情報であるユーザ識別子が示すユーザである。対象コードに対応する処理や作業とは、例えば、対象コードから読み取った読取情報である処理識別子や作業識別子が示す処理や作業である。処理識別子は、例えば、処理名や、処理に割り当てられた文字列である。作業識別子は、例えば、作業名や、作業に割り当てられた文字列である。 The angle correspondence information may be any information. For example, the angle correspondence information may be information indicating whether the user corresponding to the corresponding target code is at work or not, or information indicating whether the user is entering the office. Further, the angle correspondence information may be information indicating whether the process, work, etc. corresponding to the corresponding target code has not been authenticated, is in the process of being authenticated, or has been authenticated. The user corresponding to the target code is, for example, the user indicated by the user identifier, which is read information read from the target code. The process or work corresponding to the target code is, for example, the process or work indicated by the process identifier or work identifier that is read information read from the target code. The process identifier is, for example, a process name or a character string assigned to the process. The work identifier is, for example, a work name or a character string assigned to the work.
なお、例えば、角度情報取得部104は、コード検出部102が検出した1以上の対象コードについて、各対象コードが配置されている角度を90度単位で取得するようにし、角度情報格納部107に90度単位の角度と対応付けられて格納されている角度対応情報から、各対象コードについて取得した角度に対応付けられた角度対応情報を取得してもよい。この場合において、角度情報取得部104は、90度と270度とに対応する角度対応情報として、同じ角度対応情報を取得するようにしてもよい。特に、対象コードの上下が、撮影画像の上下と一致するときに対象コードが配置されている角度が0度となるよう設定されている場合であって、対象コードが、その上下の向きが視覚的に認識可能なプレートに配置されている場合においては、角度情報取得部104は、コード検出部102が検出した対象コードが配置されている角度が、90度であるときと、270度であるときとに、同じ角度対応情報を取得するようにしてもよい。
For example, the angle
例えば、上記のような場合、対象コードが配置されている角度が0度である状態と、プレートごと対象コードを180度回転させて配置した状態(プレートを上下逆に配置した状態)とにおける対象コードが配置されている角度の違いは、比較的容易に視覚的に認識できるが、0度である状態から、プレートごと対象コードを90度回転させて配置した場合と、プレートごと対象コードを-90度回転させて配置した場合との対象コードの配置される角度の違いを即座に視覚的に区別することは困難な場合が多い。例えば、プレートの上部が左に位置する場合と右に位置する場合とにおいて、どちらが対象コードを90度回転させた状態であるかを、即座に区別することは難しい。このため、対象コードが配置されている角度を90度とした場合と270度とした場合とを区別して、それぞれ異なる情報が取得されるようにすると、ユーザが回転方向を間違えて対象コードを配置したりすること等によって、意図としない情報が取得される可能性がある。このため、対象コードが配置される角度が90度と270度とでそれぞれ取得される角度対応情報を同じ情報として、対象コードが配置されている角度が90度である場合と270度である場合とを区別しないようすることで、対象コードを配置する角度の誤りによって、間違った角度対応情報が取得されることを防ぐことができる。 For example, in the above case, the target code is placed at an angle of 0 degrees, and the target code is placed with the plate rotated 180 degrees (the plate is placed upside down). The difference in the angle at which the code is placed can be visually recognized relatively easily, but there are cases where the target code is rotated 90 degrees from the 0 degree position, and when the target code is rotated 90 degrees with the plate and - In many cases, it is difficult to immediately visually distinguish the difference in the angle at which the target code is arranged compared to when the target code is arranged rotated by 90 degrees. For example, it is difficult to immediately distinguish whether the upper part of the plate is located on the left or the right, in which case the target code is rotated by 90 degrees. Therefore, if the angle at which the target code is placed is 90 degrees and the angle at which it is placed at 270 degrees, and different information is obtained for each case, it is possible for the user to place the target code in the wrong rotation direction. There is a possibility that unintended information may be obtained by For this reason, assuming that the angle correspondence information obtained when the target code is placed at an angle of 90 degrees and 270 degrees is the same information, if the angle at which the target code is placed is 90 degrees and 270 degrees, By not distinguishing between the two, it is possible to prevent incorrect angle correspondence information from being acquired due to an error in the angle at which the target code is placed.
角度情報取得部104が、90度と270度とに対応する角度対応情報として、どのようにして同じ角度対応情報を取得するかは問わない。例えば、角度情報格納部107に90度単位の角度と対応付けられて格納されている角度対応情報において、90度と270度とが、同じ角度対応情報と対応付けられているようにすることで、90度と270度とに対応する角度対応情報として、同じ角度対応情報を取得するようにしてもよい。また、角度情報取得部104は、取得した角度が270度である場合にも、90度に対応付けて格納された角度対応情報を読み出すようにしてもよい。また、対象コードが配置されている角度が270度である場合に、配置されている角度として90度を取得するようにしてもよい。
It does not matter how the angle
なお、角度情報取得部104は、コード検出部102が検出した1以上の対象コードについて、各対象コードが配置されている角度を90度単位で取得するようにするとともに、90度と270度とに対応する角度対応情報として、同じ角度対応情報を取得するようにするとともに、0度と180度とに対応する角度対応情報として、90度と270度とに対応する情報とは異なる同じ角度対応情報を取得するようにしてもよい。この場合、例えば、角度情報取得部104は、対象コードが配置されている角度として、0度または90度のいずれかを取得できればよいため、対象コードの特定の向きを示す方向、および、角度の基準として用いる方向としては、長手方向や、短手方向(ただし、対象コードや撮影画像等が長手方向を有する場合)等の、上下や左右を識別できない方向を取得するようにしてもよい。
Note that the angle
以下においては、角度情報取得部104が、対象コードが配置されている角度に対応する角度対応情報を、角度情報格納部107に格納されている対象コードが配置されている角度または角度の範囲と、角度対応情報とを有する複数の角度管理情報から検索等により取得する場合を例に挙げて説明する。
In the following, the angle
なお、角度情報取得部104が、対象コードが配置されている角度を取得する処理は、上記のような処理に限定されるものではない。例えば、対象コードの形状等のパターンマッチングによって、対象コードが配置されている角度を取得しても良い。例えば、対象コードが、長手方向を有する形状である場合、撮影画像内の対象コードの形状が、配置されている角度が0度である場合と、90度である場合とのどちらの形状に近いかをパターンマッチングにより判断し、近いと判断された角度を取得してもよい。
Note that the process by which the angle
出力部105は、コード検出部102が検出した1以上の対象コードについて、読取取得部103が取得した読取情報と、角度情報取得部104が取得した角度対応情報と、を出力する。例えば、出力部105は、読取取得部103が取得した情報と、角度情報取得部104が取得した角度に対応した情報とを、コード毎に対応付けて出力する。
The
また、出力部105は、読取取得部103が対象コード以外のコードから読み取った情報も出力するようにしてもよい。例えば、対象コードに対応する位置に配置されていた対象コード以外のコードから読み取った情報を、この対象コードについて取得した読取情報と角度対応情報とに対応付けて出力してもよい。
Further, the
なお、出力部105は、読取取得部103が取得した読取情報と、角度情報取得部104が取得した角度対応情報との組み合わせに対応した情報を、図示しない格納部から取得して出力してもよい。この場合、図示しない格納部に、読取取得部103が取得する情報と、角度情報取得部104が取得した角度に対応する情報との1以上の組み合わせと、この組み合わせに対応した情報とを対応付けて予め蓄積しておくようにして、この情報から、読取取得部103が取得した情報と、角度情報取得部104が取得した角度に対応した情報との組み合わせに対応した情報を検出して出力すればよい。
Note that the
なお、出力部105は、読取情報と角度対応情報とに対して、これらの情報を送信するコード処理装置1の装置識別子(図示せず)や、コード処理装置1を利用するユーザのユーザ識別子を対応づけて出力(例えば、送信)してもよい。装置識別子は、例えば、コード処理装置1に割り当てられた固有の文字列や、コード処理装置1の製造番号や、コード処理装置1のMACアドレス等である。ユーザ識別子は、ユーザに割り当てられた文字列や、ユーザの社員番号や、ユーザのメールアドレス等である。
Note that the
ここでの出力とは、モニタ等への表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。 Output here means displaying on a monitor, etc., projecting using a projector, printing on a printer, outputting sound, sending to an external device, storing on a recording medium, sending to other processing devices or other programs, etc. This concept includes the delivery of processing results.
出力部105は、モニタやスピーカー等の出力デバイスを含むと考えても含まないと考えてもよい。出力部105は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
The
読取情報格納部106には、1または2以上の読取管理情報が格納される。読取管理情報は、コードから読み取られる識別子と、読取情報とを有する情報である。読取情報格納部106は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
The reading
角度情報格納部107には、1または2以上の角度管理情報が格納される。角度管理情報は、コードが配置されている1または2以上の角度と、角度対応情報とを有する情報である。ここでの一の角度対応情報が有する2以上の角度は、角度の範囲であってもよい。つまり、角度管理情報は、角度の範囲と、角度対応情報とを有する情報であってもよい。
The angle
次に、コード処理装置1の動作の一例について図2のフローチャートを用いて説明する。
Next, an example of the operation of the
(ステップS100)撮影部101は、1以上の対象コードが配置された領域を撮影するか否かを判断する。例えば、撮影部101は、ユーザから、図示しない操作受付部を介して撮影を行なう操作を受け付けた場合に、撮影を行なうと判断し、受け付けていない場合、撮影を行なわないと判断する。撮影する場合、ステップS101に進み、撮影しない場合、ステップS100に戻る。
(Step S100) The photographing
(ステップS101)撮影部101は、1以上の対象コードが配置された領域を撮影して、撮影画像を取得する。撮影部101は、1以上の対象コードに加えて、対象コード以外の基準コード等の他のコードを1以上含むコードが更に配置された領域を撮影してもよい。なお、撮影部101は、撮影画像を、対象コードに対して垂直な撮影方向から撮影した画像に相当する画像となるよう射影変換等の補正を適宜行なうようにしてもよい。撮影方向は、例えば、例えば、撮影部101のレンズ(図示せず)等の光軸方向である。
(Step S101) The photographing
(ステップS102)画像受付部100は、撮影部101が取得した撮影画像を受け付ける。
(Step S102) The
(ステップS103)コード検出部102は、ステップS102で受け付けた撮影画像から1以上の対象コードを検出する。撮影画像が対象コード以外の基準コード等のコードも撮影した画像である場合、コード検出部102は、これらの対象コード以外のコードも検出する。
(Step S103) The
(ステップS104)読取取得部103は、ステップS103で検出した1以上の対象コードを読み取って、読取情報を取得する。例えば、読取取得部103は、各対象コードを読み取って、対象コードに対応する識別子を取得し、取得した識別子に対応する読取情報を、読取情報格納部106に格納されている複数の読取管理情報から取得する。対象コードであるか否かは、例えば、コードを読み取った識別子等の情報により判断可能である。例えば、コードを読み取った情報が、予め指定された1以上の対象コードから読取り可能な情報のうちの一つと一致する場合や、コードを読み取った情報が、予め決められた対象コードであることを示す情報を有している場合や、コードを読み取った情報を用いて生成されるハッシュ値等の情報が対象コードであることを示す値である場合、コードを対象コードと判断することができる。なお、読取取得部103が、コードから読み取った識別子が、基準コードの識別子である場合には、このコードを基準コードとして検出する。基準コードであるか否かは、例えば、対象コードであるか否か等と同様の判断を行なうことで判断可能である。また、対象コードおよび基準コード以外のコードからも情報を読み取ってもよい。なお、読取取得部103は、コード検出部102が1つのコードを検出するごとに、この検出されたコードを読み取るようにしてもよい。
(Step S104) The
(ステップS105)読取取得部103は、ステップS104で各対象コードについて取得した読取情報を、ステップS103で検出した対象コードと対応付けて、図示しない格納部に蓄積する。ここでの蓄積は一時記憶であってもよい。対象コード以外のコードから読み取った情報も、各コードと対応付けて蓄積するようにしてもよい。
(Step S105) The
(ステップS106)角度情報取得部104は、ステップS104において基準コードが検出されたか否かを判断する。基準コードが検出された場合、ステップS107に進み、検出されていない場合、ステップS108に進む。
(Step S106) The angle
(ステップS107)角度情報取得部104は、ステップS104で検出された基準コードを用いて、対象コードが配置されている角度を取得する際の基準となる方向を取得する。基準となる方向は、例えば、基準コードの特定の向きを示す方向である。この方向は、例えば、撮影画像内における方向である。そして、ステップS109に進む。
(Step S107) The angle
(ステップS108)角度情報取得部104は、対象コードが配置されている角度を取得する際の基準となる方向を、基準対象等の画像を用いずに、撮影画像から取得する。例えば、撮影画像の右方向、すなわち撮影画像の左辺から右辺へ向かう方向や、通常の撮影画像において設定されるx軸の正方向を、基準となる方向として取得する。
(Step S108) The angle
(ステップS109)角度情報取得部104は、カウンターmに1を代入する。
(Step S109) The angle
(ステップS110)角度情報取得部104は、撮影画像において検出された対象コードに、m番目の対象コードがあるか否かを判断する。ある場合、ステップS111に進み、ない場合、ステップS116に進む。
(Step S110) The angle
(ステップS111)角度情報取得部104は、m番目の対象コードについて、この対象コードにおいて特定される予め決められた方向を取得する。ここでの方向は、例えば、撮影画像内における方向である。
(Step S111) The angle
(ステップS112)角度情報取得部104は、ステップS111で取得したm番目の対象コードにおいて特定される予め決められた方向と、ステップS107またはステップS108で取得した基準となる方向とを用いて、m番目の対象コードが配置されている角度を取得する。例えば、これらの二つの方向がなす角度を取得する。
(Step S112) The angle
(ステップS113)角度情報取得部104は、ステップS112で取得した角度を用いて、m番目の対象コードに対応する角度対応情報を取得する。例えば、角度情報取得部104は、ステップS112で取得した角度と一致する角度、または、取得した角度を含む角度の範囲を有する角度管理情報を、角度情報格納部107から検索し、検出した角度管理情報が有する角度対応情報を取得する。
(Step S113) The angle
(ステップS114)角度情報取得部104は、ステップS113で取得した角度対応情報を、蓄積する。例えば、角度情報取得部104は、ステップS113で取得した角度対応情報を、ステップS105で読取情報を蓄積した格納部(図示せず)に、m番目の対象コードに対応する読取情報と対応付けて蓄積(例えば、追記)する。
(Step S114) The angle
(ステップS115)角度情報取得部104は、カウンターmの値を1インクリメントする。そして、ステップS110に戻る。
(Step S115) The angle
(ステップS116)出力部105は、ステップS104およびステップS113において対象コードについて取得した読取情報と角度対応情報とを、出力する。例えば、ステップS105およびステップS114でコード毎に対応付けて蓄積した読取情報と角度対応情報とを出力する。なお、出力部105は、ステップS104において、対象コード以外のコードについて読み取った情報等も出力してよい。そして、処理を終了する。
(Step S116) The
なお、ステップS106において、基準コードがないと判断された場合、罫線等の基準対象を撮影画像から検出して、この基準対象を用いて基準となる方向を取得してもよい。 Note that if it is determined in step S106 that there is no reference code, a reference object such as a ruled line may be detected from the photographed image, and the reference direction may be obtained using this reference object.
以下、本実施の形態におけるコード処理装置1の具体的な動作について一例を挙げて説明する。
Hereinafter, the specific operation of the
図3は、本実施の形態のコード処理装置1を説明するための図であり、コード処理装置1の一例と、コード処理装置1で撮影する対象コードが配置される進捗管理ボード30を示す図である。進捗管理ボード30は、企業のある部署に勤務する複数のユーザの作業の進捗状況を管理するための、対象コードが配置されるボードであるとする。ここでは、進捗管理ボード30が壁に掛けられている例について説明する。
FIG. 3 is a diagram for explaining the
図4(a)および図4(b)は、進捗管理ボード30に配置される対象コードを説明するための図である。
FIGS. 4A and 4B are diagrams for explaining target codes placed on the
進捗管理ボード30は、磁石等を着脱可能に取り付けることが可能な、鉄等の強磁性体を有するボードである。進捗管理ボード30には、表面にコードが配置されたいわゆるマグネットシート製のプレートが着脱可能に取り付けられる。ここでは、複数の対象コード32a~32eがそれぞれ配置された複数のプレート31a~31eが、進捗管理ボード30に取り付けられるものとする。対象コード32a~32eからそれぞれ読み取られる識別子は作業名と対応付けられているものとする。なお、プレート31a~31eのそれぞれを区別しないで呼ぶ場合、単にプレート31と呼ぶ場合がある。また、対象コード32a~32eのそれぞれを区別しないで呼ぶ場合、単に対象コード32と呼ぶ場合がある。対象コード32は、図4(a)に示すような、複数の色の正方形のセルが所望の間隔を隔てて縦横に配列された長方形形状のカラーコードであるとする。プレート31も長方形形状であり、その長手方向と、対象コード32の長手方向とが一致しているものとする。長手方向が左右方向となるように配置した各プレート31の、対象コード32が配置されている領域の右隣には、対象コード32に対応する作業名を表す文字列33が配置されている。この文字列33の上下方向および左右方向が、同じプレート31に配置された対象コード32の上下方向および左右方向と一致しているものとする。各プレート31の、対象コード32から文字列に向かう方向が、ここでは、プレート31および対象コード32の右方向であるとする。
The
また、このプレート31a~31eとは別に、表面に基準コード34が配置されたプレート35が着脱可能に進捗管理ボード30に取り付けられる。基準コード34も、対象コード32と同様のカラーコードであるとする。
In addition to the
進捗管理ボード30においては、複数のユーザの名前が、表面の左側に上から下に向かって配列されており、各ユーザの名前の右横に、各ユーザが担当している作業の作業名と対応付けられた対象コード32a~32eが配置されたプレート31a~31eのいずれか一つが配置されるものとする。これにより、複数のユーザにそれぞれ対応した名前およびプレート31a~31eが、上から順に配列されることとなり、対象コード32の上からの配列順番により、対象コード32がどのユーザに対応した対象コードであるかを判別可能であるとする。また、ユーザの名前と名前との間には、横方向に伸びる罫線38が配置されているものとする。
On the
複数のユーザは、例えば、勤務時間が終了して帰宅する時に、それぞれが行なった作業の作業名が配置されたプレート31を、進捗管理ボード30のそれぞれのユーザの名前の横に取り付けるものとする。このとき、行なった作業が完了していない場合、対応する作業名が配置されたプレート31を、プレート31の右方向が、進捗管理ボード30の右方向を向くように取り付ける。また、作業が完了した場合、プレート31の右方向が、進捗管理ボード30の上方向を向くように取り付ける。なお、ここではプレート31dを配置するユーザが、作業が完了したことを示すために、プレート31dを、右方向が上方向を向くように取り付けるべきところを、誤って、右方向が下方向を向くように取り付けていたとする。
For example, when a plurality of users return home after their working hours, they attach a
複数のユーザの管理者は、作業が完了していることを示すプレート31が進捗管理ボード30に配置されている場合、各プレート31に配置されている作業名が示す作業が、完了しているか否かを確認する。そして、完了している場合は、プレートをそのままにしておく。作業が完了していないと判断した場合には、プレート31の右方向が左方向を向くように、プレート31を進捗管理ボード30に取り付け直す。
When a
図3は、このような確認作業等が完了した状態の進捗管理ボード30を示しているものとする。
It is assumed that FIG. 3 shows the
そして、管理者は、上記の確認後、進捗管理ボード30を、コード処理装置1を用いて撮影したとする。撮影する際には、進捗管理ボード30の上側が、撮影画像の上側に位置するように撮影を行なうものとする。ここでは、コード処理装置1は、撮影部101としてカメラを有するいわゆるスマートフォンであるとする。この撮影部101のレンズ(図示せず)は、コード処理装置1の裏面側に設けられているものとする。
It is assumed that the administrator photographs the
図5は、撮影部101が進捗管理ボード30を撮影して取得した撮影画像40を示す図である。撮影画像40は、長手方向が縦方向である画像であるとする。
FIG. 5 is a diagram showing a photographed
図6は、読取情報格納部106に格納されている読取管理情報を管理する読取管理表を示す図である。読取管理表は、「識別子」および「情報」という属性を有している。「識別子」は、対象コードから読み取られる識別子に相当する識別子である。「情報」は、読取情報を示し、ここでは、作業名を示している。読取管理表の各レコード(行)が、各読取管理情報を示している。
FIG. 6 is a diagram showing a reading management table that manages the reading management information stored in the reading
画像受付部100は、撮影部101が取得した図5に示す撮影画像40を受け付ける。コード検出部102は、撮影画像40において対象コード32および基準コード34を検出する。ここでは、撮影画像40において、対象コード32a~32eおよび基準コード34が検出される。
The
読取取得部103は、コード検出部102が検出した対象コードを読み取って識別子を取得する。まず、基準コードであることを示す識別子が読み取られたコードについては、基準コードであると判断する。次に、基準コード以外の対象コード32から読み取った識別子については、それぞれ、読取情報格納部106に格納されている読取管理情報から、対応する読取情報である作業名を取得する。例えば、図6に示した読取管理表において、「識別子」の値が各対象コード32から読み取った識別子と一致するレコード(行)を検索等により検出し、検出したレコードの「情報」の値を、各対象コード32に対応する読取情報として取得する。取得した読取情報は各対象コード32と対応付けて格納部(図示せず)に蓄積する。ここでは、識別子を読み取った対象コード32の、撮影画像内の上からの配列順番の値を取得し、取得した配列順番の値と対応付けて読取情報を蓄積する。
The
例えば、読取取得部103は、撮影画像40内の、基準コード34以外の1番上に配置されている対象コード32aを読み取り、識別子を取得する。取得した識別子が「J002」であったとすると、読取取得部103は、さらに、図6に示した読取管理表において、「識別子」の値が「J002」であるレコード(行)を検出し、検出したレコードの「情報」の値である「梱包」を取得する。そして、この対象コード32aの上からの配列順番を示す値「1」と対応付けて、格納部(図示せず)に蓄積する。また、読取取得部103は、上から2番目に配置されている対象コード32bを読み取り、識別子「J004」を取得すると、図6に示した読取管理表の、「識別子」の値が「J004」であるレコード(行)から、「情報」の値である「仕分」を取得する。そして、この対象コード32bの上からの配列順番を示す値「2」と対応付けて、格納部(図示せず)に蓄積する。同様の処理を、上記で検出された対象コードの全てについて行なう。
For example, the
図7は、角度情報格納部107に格納されている角度管理情報を管理する角度管理表を示す図である。角度管理表は、「角度」と、「対応情報」という属性を有している。「角度」は、対象コードが配置されている角度に相当し、ここでは、0度以上360度未満の範囲内の90度単位の値が格納されている。「対応情報」は角度対応情報であり、ここでは、作業の進捗状況を示す値が格納されている。
FIG. 7 is a diagram showing an angle management table for managing angle management information stored in the angle
次に、角度情報取得部104は、基準コードであるコード34から、この基準コード34の長手方向を検出し、検出した長手方向において、撮影画像40の右側に向かう方向を、角度を検出する際の基準となる方向である右方向として取得する。図5の矢印44が、基準となる方向を示している。基準コード34の長手方向は、例えば、着色されたセルが長方形形状となるようマトリクス状に配置されたコード34の、セル数が多い辺に平行な方向である。なお、基準コード34の上下左右方向を検出して、右方向を取得してもよい。
Next, the angle
次に、角度情報取得部104は、コード検出部102が検出したコードのうちの、基準コード34以外の対象コード32のそれぞれについて、対象コード32の特定の向きを示す方向である右方向を検出し、検出した対象コード32の右方向と、上記で基準コード34から取得した矢印44が示す角度の基準となる方向である基準コード34の右方向とがなす角度を取得する。そして、取得した角度に対応する角度対応情報を、図7に示す角度管理表を用いて取得し、取得した角度対応情報を対応する対象コードと対応付けて格納部(図示せず)に蓄積する。ここでは、読取情報の場合と同様に、配置されている角度を取得した対象コード32の、撮影画像40内の上からの配列順番の値を取得し、取得した配列順番の値と対応付けて角度対応情報を蓄積する。
Next, the angle
例えば、角度情報取得部104は、撮影画像40内の1番上に配置されている対象コード32aについて、対象コード32aの特定の向きを示す方向である右方向を検出する。矢印42aが、検出した対象コード32aの右方向を示している。そして、この対象コード32aの右方向と、基準コード34が示す基準方向である基準コード34の右方向とがなす角度を90度単位で取得する。まず、角度情報取得部104は、矢印42aが示す対象コード32aの右方向が、撮影画像の右方向に対してなす角度を取得する。同様に、基準コード34の矢印44が示す右方向が、撮影画像の右方向に対してなす角度を取得する。そして、対象コード32aの右方向の角度から、基準コード34の右方向の角度を減算する。減算により得られた値は、適宜、基準コード34の右方向を0度とした0度以上360度未満の値に変換する。さらに、減算により得られた角度に最も近い90度単位の角度を対象コード32aが配置されている角度として取得する。例えば、減算により得られた角度が、0度以上45度未満である場合、「0度」を取得し、45度以上135度未満である場合、「90度」を取得し、135度以上225度未満である場合、「180度」を取得し、225度以上315度未満である場合、「270度」を取得し、315度以上360度未満である場合、「0度」を取得する。ここでは、例えば、減算により得られた角度が「10度」であったとすると、0度以上45度未満の値であるため、対象コード32aが配置されている角度として「0度」を取得する。
For example, the angle
角度情報取得部104は、図7に示した角度管理表において、「角度」の値が上記で取得した「0度」であるレコード(行)、すなわち、角度管理情報を検索し、検出したレコードの「対応情報」の値である「作業中」を、対象コード32aが配置されている角度に対応する角度対応情報として取得する。そして、取得した角度対応情報を、対象コード32aの上からの配列順番を示す値「1」と対応付けて、格納部(図示せず)に蓄積する。ここでは、上記で対象コード32の配列順番と対応付けて格納された読取情報のうちの、同じ配列順番を示す値「1」と対応付けて格納されている読取情報と対応付けて、角度対応情報を蓄積する。
The angle
同様に、角度情報取得部104は、撮影画像40内の、基準コード34以外の上から2番目に配置されている対象コード32bから右方向を検出する。矢印42bが、角度情報取得部104が検出した対象コード32bの右方向を示している。そして、この対象コード32aの右方向と、基準コード34が示す基準方向である基準コード34の右方向とがなす90度単位の角度を取得する。ここでは、対象コード32bが配置されている角度として「90度」を取得したとすると、角度情報取得部104は、図7に示した角度管理表の、「角度」の値が「90度」であるレコード(行)の「対応情報」の値である「作業完了」を、対象コード32bが配置されている角度に対応する角度対応情報として取得する。そして、取得した角度対応情報を、対象コード32bの上からの配列順番を示す値「2」と対応付けて、格納部(図示せず)に蓄積する。ここでは、同じ配列順番を示す値「2」と対応付けて格納されている読取情報と対応付けて、角度対応情報を蓄積する。
Similarly, the angle
同様の処理を、上記で検出された対象コードの全てについて行なう。例えば、上から3番目の対象コード32cについては、矢印42cが示す方向を右方向として検出し、対象コード32cが配置されている角度として、180度を取得し、これに対応する角度対応情報である「作業未完了」を取得して、対象コード32cの上からの配列順番を示す値「3」と対応付けて、格納部(図示せず)に蓄積する。
Similar processing is performed for all of the target codes detected above. For example, for the
また、例えば、上から4番目の対象コード32dについては、矢印42dが示す方向を右方向として検出し、対象コード32dが配置されている角度として、270度を取得し、これに対応する角度対応情報である「作業未完了」を取得して、対象コード32dの上からの配列順番を示す値「4」と対応付けて、格納部(図示せず)に蓄積する。
For example, for the
また、例えば、上から5番目の対象コード32eについては、矢印42eが示す方向を右方向として検出し、対象コード32eが配置されている角度として0度を取得し、これに対応する角度対応情報である「作業中」を取得して、対象コード32eの上からの配列順番を示す値「5」と対応付けて、格納部(図示せず)に蓄積する。
For example, for the
なお、ここでは、配置されている角度が90度である対象コード32bについて取得する角度対応情報と、270度である対象コード32dについて取得する角度対応情報と、が、いずれも同じ情報である「作業完了」としている。例えば、対象コード32に隣接して配置されている文字列33等の対象コード32の向きを視覚的に認識可能な情報が配置されている場合、ユーザにとっては、この向きを視覚的に示す情報から、対象コード32が配置されたプレート31の上方向が、進捗管理ボード30の上下のいずれかを向いているかについては、容易に判別できるが、このプレート31の上方向が、右に90度傾けられて配置されているか、左に90度傾けられて配置されているかについては、即座には判断しにくい。例えば、対象コード32bのような配置も、対象コード32dのような配置も、いずれも、ユーザにとっては、同じ90度の配置と感じられてしまう場合が多く、対象コード32を配置する際に区別することが困難である。このため、ユーザが本来は右方向を、進捗管理ボード30の上方向に向けて配置しなければならない完了した作業についての対象コード32が配置されているプレート31を、誤って、下方向に向けて配置してしまうことが考えられる。しかしながら、この具体例のように、対象コード32が配置されている角度が90度である場合と270度である場合とで、同じ角度対応情報が得られるようにして、配置されている角度が90度である場合と270度である場合とを区別しないようにすることで、ユーザが誤って、右方向を進捗管理ボード30の上方向に向けて配置しなければならない完了した作業についての対象コード32を、右方向を下方向に向けて配置した場合であっても、結果的に、右方向を上方向に向けて配置した場合と同様に、作業が完了したことを示す情報を取得することができる。なお、90度と270度とを区別しないことで、この具体例においては、対象コード32が配置される角度として、実質的に3つの異なる角度が取得可能となっている。
Note that here, the angle correspondence information acquired for the
図8は、図示しない格納部に蓄積された、対応する対象コード32の配列順番が一致する読取取得部103が取得した読取情報と、角度情報取得部104が取得した角度対応情報とを対応付けて管理する取得情報管理表である。この取得情報管理表で管理される読取情報は、読取取得部103が上記で蓄積した読取情報であり、この取得情報管理表で管理される角度対応情報は、角度情報取得部104が上記で蓄積した角度対応情報である。取得情報管理表は、「順番」と、「読取」と、「角度対応」という属性を有している。
FIG. 8 shows the correspondence between the reading information acquired by the
出力部105は、図8に示すように、コード検出部102が検出した全ての対象コード32について読取情報と角度対応情報とが取得された場合、取得した読取情報と角度対応情報とを、これらに対応する対象コード32と対応付けて出力する。ここでは、対象コード32の配列順番の値と、進捗管理ボード30の右側に配列されているユーザの名前のうちの、上からの配列順番の値が対象コード32の配列順番の値と同じとなる名前の情報とが、予め対応付けられて図示しない格納部等に格納されており、一の配列順番の対象コード32に対応付けて格納された読取情報と角度対応情報とを出力する場合に、この配列順番に対応する名前の情報を読み出し、対応付けて出力されるものとする。これにより、例えば、図8の取得情報管理表の「順番」が「1」であるレコード(行)の読取情報と角度対応情報とに対しては、進捗管理ボード30の右側に配列されているユーザの名前のうちの、上から1番目の名前が対応付けて出力され、取得情報管理表の「順番」が「2」であるレコード(行)の読取情報と角度対応情報とに対しては、進捗管理ボード30の右側のユーザの名前のうちの、上から2番目の名前が対応付けて出力される。
As shown in FIG. 8, when reading information and angle correspondence information are acquired for all the
出力部105は、例えば、読取情報と角度対応情報と、対象コード32に対応するユーザの名前とを対応付けた情報を、ユーザの進捗状況を管理するサーバ装置(図示せず)等に送信する。出力された情報から、例えば、ユーザが行なっている作業名(例えば、梱包や仕分等)と、この作業の進捗状況(例えば、作業中、作業完了等)を把握することが可能となる。
The
なお、上記具体例においては、対象コード32に向きを視覚的に認識可能な情報として、文字列を配置した場合について説明したが、図4(b)に示すように、文字列の代わりに、対象コード32の上方となるプレート31の上辺に、上辺に沿って配置された帯状のマーク36等を配置するようにしてもよい。
In the above specific example, a case has been described in which a character string is arranged in the
また、上記においては、90度単位で対象コード32が配置されている角度を取得する場合を例に挙げて説明したが、上述したように、角度を取得する単位等は問わない。例えば、対象コード32について取得した予め指定された方向と、基準コード34等から取得した基準となる方向とがなす角度との差を示す値を、対象コード32が配置されている角度として用いてもよい。また、このような角度の差を用いる場合のように、角度情報取得部104が取得する対象コード32が配置されている角度の値が、90度などとは異なり、1度単位等の細かい単位である場合等においては、角度管理情報は、角度の範囲と、角度対応情報とを有する情報とすることが好ましい。そして、角度情報取得部104は、対象コード32が配置されている角度を取得した場合に、この角度が含まれる角度の範囲を有する角度管理情報を検索し、検出した角度管理情報が有する角度対応情報を取得するようにしてもよい。
Further, in the above description, the case where the angle at which the
また、上記具体例においては、基準コード34を用いて、対象コード32の配置される角度の基準となる方向を検出するようにしたが、基準対象として、横方向に伸びている1以上の罫線38を検出して、この罫線38の伸びる方向を用いて、角度の基準となる方向、例えば、右方向や、左方向を検出するようにしてもよい。
Further, in the above specific example, the
なお、上記具体例においては、対象コード32の上からの配列順番を利用して、対象コード32に対応するユーザの名前等を取得する例について説明したが、各対象コード32に対して予め指定された方向(例えば、左方向等)に、ユーザの名前等と対応付けられた対象コード32とは異なるコードを配置しておくようにして、これらのコードを用いて、対応する対象コード32に対応するユーザの名前等を取得するようにしてもよい。なお、これらのコードは、対象コード32を識別する処理と同様に、コードから読み取られる情報等を用いてコード32や、基準コード34に対して識別できるようしてもよい。
In addition, in the above specific example, an example was explained in which the name of the user corresponding to the
以上、本実施の形態によれば、対象コードを読み取った情報に加えて、対象コードが配置される角度に応じた情報を撮影画像から取得することができるため、対象コードを配置する際に、対象コードに対して所望の情報を容易に付加することができる。 As described above, according to the present embodiment, in addition to the information obtained by reading the target code, information corresponding to the angle at which the target code is placed can be obtained from the captured image, so when placing the target code, Desired information can be easily added to the target code.
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。 In each of the above embodiments, each process (each function) may be realized by being centrally processed by a single device (system), or may be realized by being distributed by multiple devices. may be done.
また、上記各実施の形態では、コード処理装置がスタンドアロンである場合について説明したが、コード処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。 Further, in each of the above embodiments, a case has been described in which the code processing device is a standalone device, but the code processing device may be a standalone device or a server device in a server/client system. In the latter case, the output unit and reception unit will accept input via a communication line and output a screen.
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。 Further, in each of the embodiments described above, each component may be configured by dedicated hardware, or components that can be realized by software may be realized by executing a program. For example, each component can be realized by a program execution unit such as a CPU reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory. At the time of execution, the program execution section may execute the program while accessing a storage section (for example, a recording medium such as a hard disk or a memory).
なお、上記各実施の形態におけるコード処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、1以上のコードを撮影した撮影画像を受け付ける画像受付部と、画像受付部が受け付けた撮影画像からコードを検出するコード検出部と、コード検出部が検出した1以上のコードを読み取って情報を取得する読取取得部と、コード検出部が検出した1以上のコードが配置されている角度を取得し、取得した角度に対応する情報を取得する角度情報取得部と、コード検出部が検出した1以上のコードについて読取取得部が取得した情報と、角度情報取得部が取得した角度に対応した情報と、を出力する出力部として機能させるためのプログラムである。 Note that the software that implements the code processing device in each of the above embodiments is the following program. In other words, this program connects a computer to an image reception section that receives a captured image of one or more codes, a code detection section that detects a code from the captured image received by the image reception section, and one code detected by the code detection section. a reading acquisition section that reads the above codes and acquires information; and an angle information acquisition section that acquires the angle at which one or more codes detected by the code detection section are arranged and acquires information corresponding to the acquired angle. , is a program for functioning as an output unit that outputs information acquired by the reading acquisition unit regarding one or more codes detected by the code detection unit, and information corresponding to the angle acquired by the angle information acquisition unit.
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。 Note that in the above program, the functions realized by the program do not include functions that can only be realized by hardware. For example, functions that can only be realized by hardware such as a modem or an interface card in an acquisition unit that acquires information, an output unit that outputs information, etc. are not included in the functions that are realized by the above program.
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。 Further, the number of computers that execute this program may be one or more. That is, centralized processing or distributed processing may be performed.
図9は、上記プログラムを実行して、上記実施の形態によるコード処理装置を実現するコンピュータシステム900の一例を示す図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
FIG. 9 is a diagram showing an example of a
図9において、コンピュータシステム900は、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムや、アプリケーションプログラム、システムプログラム、及びデータが記憶されるフラッシュメモリ等のROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、タッチパネル914と、無線通信モジュール915と、MPU911、ROM912等を相互に接続するバス916とを備える。なお、無線通信モジュール915に代えて、有線通信モジュールを備えていてもよい。また、タッチパネル914に代えて、ディスプレイと、マウスやキーボード等の入力デバイスとを備えていてもよい。
In FIG. 9, a
コンピュータシステム900に、上記実施の形態によるコード処理装置の機能を実行させるプログラムは、無線通信モジュール915を介してROM912に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、ネットワークから直接、ロードされてもよい。
A program that causes the
プログラムは、コンピュータシステム900に、上記実施の形態によるコード処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するかは周知であり、詳細な説明は省略する。
The program does not necessarily need to include an operating system (OS) or a third party program that causes
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。 It goes without saying that the present invention is not limited to the above-described embodiments, and that various modifications can be made, and these are also included within the scope of the present invention.
以上のように、本発明にかかるコード処理装置等は、コードの情報を読み取る装置等として適しており、特に、撮影画像からコードの情報を読み取る装置等として有用である。 As described above, the code processing device or the like according to the present invention is suitable as a device for reading code information, and is particularly useful as a device for reading code information from a photographed image.
1 コード処理装置
100 画像受付部
101 撮影部
102 コード検出部
103 読取取得部
104 角度情報取得部
105 出力部
106 読取情報格納部
107 角度情報格納部
1
Claims (7)
前記画像受付部が受け付けた撮影画像からコードを検出するコード検出部と、
前記コード検出部が検出した1以上のコードを読み取って情報を取得する読取取得部と、
前記コード検出部が検出した1以上のコードが配置されている角度を取得し、取得した角度に対応する情報を取得する角度情報取得部と、
前記コード検出部が検出した1以上のコードについて前記読取取得部が取得した情報と、前記角度情報取得部が取得した角度に対応した情報と、を出力する出力部とを備え、
前記画像受付部は、コードが配置されている角度を前記角度情報取得部が取得する際に角度の基準となる方向を示す基準対象をさらに撮影した撮影画像を受け付け、
前記角度情報取得部は、前記コード検出部が検出したコードが配置されている角度として、撮影画像内の基準対象が示す方向と、コードの特定の向きを示す方向とがなす相対的な角度を取得するコード処理装置。 an image reception unit that accepts captured images of one or more codes;
a code detection unit that detects a code from the captured image received by the image reception unit;
a reading acquisition unit that reads one or more codes detected by the code detection unit and acquires information;
an angle information acquisition unit that acquires an angle at which one or more codes detected by the code detection unit is arranged, and acquires information corresponding to the acquired angle;
an output unit that outputs information acquired by the reading acquisition unit regarding one or more codes detected by the code detection unit and information corresponding to the angle acquired by the angle information acquisition unit ,
The image receiving unit further receives a captured image of a reference object indicating a reference direction of an angle when the angle information obtaining unit obtains the angle at which the code is arranged;
The angle information acquisition unit determines, as the angle at which the code detected by the code detection unit is arranged, a relative angle between a direction indicated by a reference object in the captured image and a direction indicating a specific orientation of the code. Code processing device to obtain .
前記画像受付部が、1以上のコードを撮影した撮影画像を受け付ける画像受付ステップと、
前記コード検出部が、前記画像受付ステップで受け付けた撮影画像からコードを検出するコード検出ステップと、
前記読取取得部が、前記コード検出ステップで検出した1以上のコードを読み取って情報を取得する読取取得ステップと、
前記角度情報取得部が、前記コード検出ステップで検出した1以上のコードが配置されている角度を取得し、取得した角度に対応する情報を取得する角度情報取得ステップと、
前記出力部が、前記コード検出ステップで検出した1以上のコードについて前記読取取得ステップで取得した情報と、前記角度情報取得ステップで取得した角度に対応した情報と、を出力する出力ステップとを備え、
前記画像受付ステップは、コードが配置されている角度を前記角度情報取得ステップで取得する際に角度の基準となる方向を示す基準対象をさらに撮影した撮影画像を受け付け、
前記角度情報取得ステップは、前記コード検出ステップで検出したコードが配置されている角度として、撮影画像内の基準対象が示す方向と、コードの特定の向きを示す方向とがなす相対的な角度を取得するコード処理方法。 A code processing method performed using an image reception unit, a code detection unit, a reading acquisition unit, an angle information acquisition unit, and an output unit, the code processing method comprising:
an image reception step in which the image reception unit receives a captured image of one or more codes;
a code detection step in which the code detection unit detects a code from the captured image received in the image reception step;
a reading acquisition step in which the reading acquisition unit reads one or more codes detected in the code detection step to acquire information;
an angle information acquisition step in which the angle information acquisition unit acquires an angle at which one or more codes detected in the code detection step are arranged, and acquires information corresponding to the acquired angle;
an output step in which the output unit outputs information acquired in the reading acquisition step and information corresponding to the angle acquired in the angle information acquisition step regarding one or more codes detected in the code detection step; ,
The image receiving step receives a photographed image of a reference object indicating a reference direction of the angle when the angle at which the code is arranged is obtained in the angle information obtaining step;
The angle information acquisition step determines, as the angle at which the code detected in the code detection step is arranged, the relative angle between the direction indicated by the reference object in the captured image and the direction indicating the specific orientation of the code. How to process the code to get .
1以上のコードを撮影した撮影画像を受け付ける画像受付部と、
前記画像受付部が受け付けた撮影画像からコードを検出するコード検出部と、
前記コード検出部が検出した1以上のコードを読み取って情報を取得する読取取得部と、
前記コード検出部が検出した1以上のコードが配置されている角度を取得し、取得した角度に対応する情報を取得する角度情報取得部と、
前記コード検出部が検出した1以上のコードについて前記読取取得部が取得した情報と、前記角度情報取得部が取得した角度に対応した情報と、を出力する出力部として機能させ、
前記画像受付部は、コードが配置されている角度を前記角度情報取得部が取得する際に角度の基準となる方向を示す基準対象をさらに撮影した撮影画像を受け付け、
前記角度情報取得部は、前記コード検出部が検出したコードが配置されている角度として、撮影画像内の基準対象が示す方向と、コードの特定の向きを示す方向とがなす相対的な角度を取得するプログラム。 computer,
an image reception unit that accepts captured images of one or more codes;
a code detection unit that detects a code from the captured image received by the image reception unit;
a reading acquisition unit that reads one or more codes detected by the code detection unit and acquires information;
an angle information acquisition unit that acquires an angle at which one or more codes detected by the code detection unit is arranged, and acquires information corresponding to the acquired angle;
Functioning as an output unit that outputs information acquired by the reading acquisition unit regarding one or more codes detected by the code detection unit and information corresponding to the angle acquired by the angle information acquisition unit ,
The image receiving unit further receives a captured image of a reference object indicating a reference direction of an angle when the angle information obtaining unit obtains the angle at which the code is arranged;
The angle information acquisition unit determines, as the angle at which the code detected by the code detection unit is arranged, a relative angle between a direction indicated by a reference object in the captured image and a direction indicating a specific orientation of the code. Program to obtain .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019232631A JP7375261B2 (en) | 2019-12-24 | 2019-12-24 | Code processing device, code processing method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019232631A JP7375261B2 (en) | 2019-12-24 | 2019-12-24 | Code processing device, code processing method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021101283A JP2021101283A (en) | 2021-07-08 |
| JP7375261B2 true JP7375261B2 (en) | 2023-11-08 |
Family
ID=76651390
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019232631A Active JP7375261B2 (en) | 2019-12-24 | 2019-12-24 | Code processing device, code processing method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7375261B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006319416A (en) | 2005-05-10 | 2006-11-24 | Nec Corp | Information reading apparatus, object, information processing apparatus, information communication system, information reading method, and program |
| JP2017041047A (en) | 2015-08-19 | 2017-02-23 | ワム・システム・デザイン株式会社 | Color code processing apparatus, color code processing method, and program |
-
2019
- 2019-12-24 JP JP2019232631A patent/JP7375261B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006319416A (en) | 2005-05-10 | 2006-11-24 | Nec Corp | Information reading apparatus, object, information processing apparatus, information communication system, information reading method, and program |
| JP2017041047A (en) | 2015-08-19 | 2017-02-23 | ワム・システム・デザイン株式会社 | Color code processing apparatus, color code processing method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021101283A (en) | 2021-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5587516B1 (en) | Management object management system | |
| US8943097B2 (en) | Information management apparatus, information management system, non-transitory computer readable medium that stores information management program and information management method | |
| JP6579654B2 (en) | Color code processing apparatus, color code processing method, and program | |
| JP7435998B2 (en) | Article position management device, article, article position management system, article position management method and program | |
| CN107979709A (en) | Image processing apparatus, system, control method and computer-readable medium | |
| JP6913606B2 (en) | Image processing device | |
| US20190124229A1 (en) | Image processing apparatus and non-transitory computer readable medium storing image processing program | |
| JP6662264B2 (en) | Display system | |
| CN108234815A (en) | Certification initialization system and image forming apparatus | |
| US20100080490A1 (en) | Apparatus and method for processing image | |
| CN105391889A (en) | Data processing apparatus, data processing system, and control method for data processing apparatus | |
| CN111507120A (en) | Two-dimensional code positioning frame identification method, device, electronic device and storage medium | |
| CN106203545B (en) | System and method for processing information | |
| US20160219168A1 (en) | Electronic apparatus and program | |
| JP7375261B2 (en) | Code processing device, code processing method, and program | |
| US20200036847A1 (en) | Operation support information providing apparatus, operation support information providing system, and non-transitory recording medium | |
| JPWO2017179543A1 (en) | Information processing apparatus, information processing method, and program recording medium | |
| JP2022145190A (en) | Information processing system, position management method, information processing apparatus, and program | |
| JP6288487B2 (en) | Image processing apparatus and program | |
| JP7427851B2 (en) | Code processing device, code processing method, and program | |
| JP5117890B2 (en) | Information processing apparatus, information processing method, and program thereof | |
| JP6717228B2 (en) | Image reading apparatus, image reading method, and image forming apparatus | |
| JP6639257B2 (en) | Information processing apparatus and control method therefor | |
| US20160224854A1 (en) | Information processing apparatus, information processing method, and storage medium | |
| JP2008092451A (en) | Scanner system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A80 | Written request to apply exceptions to lack of novelty of invention |
Free format text: JAPANESE INTERMEDIATE CODE: A80 Effective date: 20200116 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221117 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230711 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230712 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230808 |
|
| 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: 20230829 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20230926 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230926 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20230926 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7375261 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |