CN112183695A - 编码方法、编码图形、编码图形读取方法和拍摄装置 - Google Patents
编码方法、编码图形、编码图形读取方法和拍摄装置 Download PDFInfo
- Publication number
- CN112183695A CN112183695A CN201910606495.5A CN201910606495A CN112183695A CN 112183695 A CN112183695 A CN 112183695A CN 201910606495 A CN201910606495 A CN 201910606495A CN 112183695 A CN112183695 A CN 112183695A
- Authority
- CN
- China
- Prior art keywords
- coding
- frame
- positioning ring
- encoding
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种编码方法、编码图形、编码图形读取方法和拍摄装置。本发明中,编码图形具有定向框,位于所述定向框内部区域中心的定位环,以及位于定向框内部区域中并分布于定位环周围的记载有编码数据的编码区。本发明替代了现有二维码标准,节省了采用现有二维码生成软件所需的授权成本和制作成本,并且不受限于现有二维码生成软件的使用限制。另外,本发明实施例中结合定向框的结构实现了针对编码图形的镜像检测功能,进而实现了对同一个编码图形进行正反两个方向的数据读取。本发明中的编码图形的编码方式简单,对于编码数据量较小的场景效率较高。
Description
技术领域
本发明涉及标定技术领域,特别涉及一种编码方法、编码图形、编码图形读取方法和拍摄装置。
背景技术
在工业生产与机器视觉应用中,为确定工件、机构或场景中一些关键位置的信息(如坐标),需要在特定的位置打上标签。在处理时,通过寻找图像中的标签位置,解析标签的内容,即可确定标签所指示点位置的相关信息,这有利于降低随后的处理难度。通过处理标签中所含的信息有利于机构、软件算法能够自动、高效地完成特定功能。这种利用标签的方法广泛地应用于移动机器人定位、视觉导航、标定板辅助定位、运动估计等场景。
二维码是一种常用的标签,具有信息密度大、可识读性高、等优点,而在日常生活和工业生产中得到了广泛应用,并且随着常用的诸如QR码、DM码等标准的二维码的广泛使用,各类与QR码、DM码相类似的各种构型的二维码以及相关的应用也在不断产生的发展。
但是,现有的二维码,在需要利用现有规则下的二维码生成软件,增加了二维码使用的授权成本和制作成本。
发明内容
有鉴于此,本发明提供一种编码方法、编码图形、编码图形读取方法、拍摄装置非易失性计算机可读存储介质和电子设备,以替代现有二维码,节省二维码使用的授权成本和制作成本。
本发明的技术方案是这样实现的:
一种编码方法,包括:
接收待编码数据;
对所述待编码数据进行编码,生成编码数据;
将所述编码数据记载于编码图形中;
其中,所述编码图形包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有所述编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
优选地,对所述待编码数据进行编码包括:
采用李德所罗门RS纠错编码方法对所述待编码数据进行编码。
优选地,在生成所述编码数据之后,将所述编码数据记载于编码图形中之前,所述方法还包括:
将所述编码数据与数据掩码矩阵进行位异或处理。
优选地,所述定向框包括位于所述编码区外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且所述第四边框和所述第一边框之间具有开口。
优选地,所述定位环所采用的形状与所述编码区中的编码块形状不同。
优选地,所述编码区由编码块点阵组成,所述编码块点阵中的编码块为方形点或圆形点。
优选地,所述编码块包括彼此区分的两种颜色的编码块,其中一种颜色的编码块表示0,另一种颜色的编码块表示1。
优选地,所述的将所述编码数据记载于编码图形中,包括:
将所述编码区中最靠近所述第一边框的一行编码块作为起始编码行,将所述编码区中最靠近所述第三边框的一行编码块作为最末编码行,在每一行编码块中,将最靠近所述第二边框的编码块作为起始编码块,将最靠近所述第四边框的编码块作为最末编码块,按照从起始编码行到最末编码行的顺序将所述编码数据记载于所述编码区。
优选地,在将所述编码数据记载于所述编码区的过程中:
在形成被所述定位环截断的编码行时,跳过所述定位环形成所述编码行中的编码块。
优选地,在将所述编码数据记载于编码图形中之前,所述方法还包括:
根据所述编码数据的位数、所述编码区中每个编码块的边长、所述定位环所占区域的长和宽、所述定向框的宽度、所述定向框与所述编码区之间静区的宽度以及所述编码区与所述定位环之间静区的宽度,确定所述编码图形的长和宽。
优选地,所述编码图形的长和宽与所述编码数据的位数、所述编码区中每个编码块的边长、所述定位环所占区域的长和宽、所述定向框的宽度、所述定向框与所述编码区之间静区的宽度以及所述编码区与所述定位环之间静区的宽度正相关。
一种编码图形,包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
优选地,所述定向框包括位于所述编码区外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且所述第四边框和所述第一边框之间具有开口。
优选地,所述定位环所采用的形状与所述编码区中的编码块形状不同。
优选地,所述编码区由编码块点阵组成,所述编码块点阵中的编码块为方形点或圆形点。
优选地,所述编码块包括彼此区分的两种颜色的编码块,其中一种颜色的编码块表示0,另一种颜色的编码块表示1。
一种编码图形读取方法,包括:
获取含有编码图形的图像,所述图像通过拍摄含有编码图形的物体表面得到;
在所述图像中,识别出所述编码图形中的定位环和定向框;
根据所述定位环和定向框确定所述编码图形从所述图像到无透视畸变平面的映射关系,并根据所述映射关系将所述图像中的所述编码图形变换到所述无透视畸变平面中形成编码图形正视图;
在所述编码图形正视图中,通过读取编码区所记载的编码数据,获得所述编码图形所记载的信息;
其中,所述编码图形包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
优选地,所述定向框包括位于所述编码区外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且所述第四边框和所述第一边框之间具有开口。
优选地,所述的根据所述定位环和定向框确定所述编码图形从所述图像到无透视畸变平面的映射关系,包括:
根据所述定位环的形状特征,确定所述图像中的所述定位环的中心点坐标;
提取所述图像中的所述定向框中的各个角点坐标;
根据所述图像中的所述定位环的中心点坐标和所述定向框中的各个角点坐标,确定所述编码图形从所述图像到无透视畸变平面的映射关系。
优选地,所述的根据所述图像中的所述定位环的中心点坐标和所述定向框中的各个角点坐标,确定所述编码图形从所述图像到无透视畸变平面的映射关系,包括:
根据所述图像中的所述定位环的中心点坐标和所述定向框中的各个角点坐标,以及所述定位环的中心点和所述定向框中的各个角点在无透视畸变平面中的目标坐标,获得对应于所述映射关系的单应性矩阵;
所述的根据所述映射关系将所述图像中的所述编码图形变换到所述无透视畸变平面中形成编码图形正视图,包括:
利用所述单应性矩阵,将所述图像中的编码图形的所有像素点投影变换到所述无透视畸变平面,形成所述编码图形正视图。
优选地,在确定所述图像中的所述定位环中心点坐标并提取所述图像中的所述定向框中的各个角点坐标之后,并在确定所述编码图形从所述图像到无透视畸变平面的映射关系之前,所述方法还包括:
对所述编码图形进行镜像检测,根据所述镜像检测结果执行对所述图像的镜像变换。
优选地,所述的对所述编码图形进行镜像检测,根据所述镜像检测结果执行对所述图像的镜像变换,包括:
在所述图像中,将所述开口向所述编码图形外侧方向的第一朝向矢量与所述开口向所述第四边框方向的第二朝向矢量进行外积;
如果所述外积的结果大于零,则不对图像中的所述编码图形进行镜像变换;
如果所述外积的结果小于零,则对图像中的所述编码图形进行镜像变换。
优选地,所述的在所述编码图形正视图中,通过读取编码区所记载的编码数据,获得所述编码图形所记载的信息,包括:
在所述编码图形正视图中,将所述编码区中最靠近所述第一边框的一行编码块作为起始编码行,将所述编码区中最靠近所述第三边框的一行编码块作为最末编码行,在每一行编码块中,将最靠近所述第二边框的编码块作为起始编码块,将最靠近所述第四边框的编码块作为最末编码块,按照从起始编码行到最末编码行的顺序依次在每一编码行中从起始编码块到最末编码块读取每个编码块的信息,以获得所述编码图形所记载的编码数据。
优选地,在读取被所述定位环截断的编码行时,跳过所述定位环读取编码行中的编码块。
优选地,读取所述编码区后,通过如下方法获得所述编码图形所记载的信息:
对读取所述编码区所得到的编码数据进行纠错译码,得到纠错后的码字和错误数量;
如果所述错误数量未超过纠错容量,则输出所述纠错后的码字。
优选地,在进行所述纠错译码之前,所述方法还包括:
将所述编码数据与数据掩码矩阵进行位异或处理。
一种拍摄装置,所述拍摄装置包括拍摄单元和处理器;
所述拍摄单元用于拍摄含有编码图形的物体表面,获得含有所述编码图形的图像;
所述处理器用于:
在所述图像中,识别出所述编码图形中的定位环和定向框;
根据所述定位环和定向框确定所述编码图形从所述图像到无透视畸变平面的映射关系,并根据所述映射关系将所述图像中的所述编码图形变换到所述无透视畸变平面中形成编码图形正视图;
在所述编码图形正视图中,通过读取编码区所记载的编码数据,获得所述编码图形所记载的信息;
其中,所述编码图形包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的编码方法中的步骤。
一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的编码图形读取方法中的步骤。
一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如上任一项所述的编码方法中的步骤。
一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如上任一项所述的编码图形读取方法中的步骤。
从上述方案可以看出,本发明的编码方法、编码图形、编码图形读取方法、拍摄装置、非易失性计算机可读存储介质和电子设备中,替代了现有二维码标准,节省了采用现有二维码生成软件所需的授权成本和制作成本,并且不受限于现有二维码生成软件的使用限制。另外,本发明利用编码图形中的定位环和容纳定位环并具有开口的定向框实现了对编码图形的准确快速定位,确保了对定向框和定位环之间的编码区的准确读取,并且本发明中结合定向框的结构实现了针对编码图形的镜像检测功能,进而实现了对同一个编码图形进行正反两个方向的数据读取。同时,本发明可根据应用场景的数据量大小来设定编码图形的尺寸和其中编码区的大小,以灵活设置编码图形所记录的数据信息。另外,本发明中利用Reed-Solomon纠错机制,使得编码区具有防错性能,可以纠正不超过纠错容量的误码。本发明中的编码图形的编码方式简单,对于编码数据量较小的场景效率较高。
附图说明
图1A为本发明实施例中的编码图形的一个可选实施例示意图;
图1B为本发明实施例中的编码图形的另一个可选实施例示意图;
图2为本发明实施例的编码方法流程图;
图3为采用本发明实施例的编码方法生成的编码图形的流程图;
图4为本发明实施例的编码图形读取方法流程图;
图5为本发明实施例中定向框开口位置的第一朝向矢量和第二朝向矢量示意图;
图6为本发明实施例中的编码图形的编码中数据码和纠错码的排列示意图;
图7为本发明实施例中从确定编码图形规范到最终完成译码的整个过程的流程示意图;
图8为本发明实施例的拍摄装置示意图;
图9为本发明实施例的电子设备示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
如图1A、图1B所示为本发明实施例的编码图形,编码图形1包括定位环11、定向框12、编码区13和静区14。其中,定位环11位于定向框12内部区域的中心位置。编码区13位于定向框12内部区域中,并且编码区1分布于定位环33的周围,即编码区13位于定向框12和定位环11之间,编码区13记载有编码数据。静区14位于定向框12、编码区13和定位环11之间,即静区14位于定向框12和编码区13之间,并且静区14位于编码区13和定位环11之间,也就是说,定向框12、编码区13和定位环11之间由静区14隔离。
如图1A、图1B所示,定向框12由四个边框连接而成,四个边框的形状例如均为矩形条形状,这样易于确定矩形条的角点。具体地,定向框12包括位于编码区13外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且第四边框和第一边框之间具有开口,即如图1A、图1B所示中,第一边框例如图1A、图1B所示中的定向框12的上侧边框,第二边框例如图1A、图1B所示中的定向框12的左侧边框,第三边框例如图1A、图1B所示中的定向框12的下侧边框,第四边框例如图1A、图1B所示中的定向框12的右侧边框,在图1A、图1B所示实施例中,第一边框的左端连接于第二边框的上端,第二边框的下端连接于第三边框的左端,第四边框的下端连接于第三边框的右端,在第四边框的上端和第一边框的右端之间形成开口。定向框12的大小和形状可由四个边框的形状和大小来确定,在可选实施例中,定向框12可以为矩形。更加优选地,在编码图形1为如图1A、图1B所示的正方形的时候,定向框12中的四个边框中的三个边框的长度相等,除三根长度相等的边框外的另外一个边框的长度小于该三个边框的长度。四个边框连接形成围绕编码区13且具有开口的定向框12。在图1A、图1B所示实施例中,第一边框、第二边框和第三边框的长度相等,第四边框的长度小于第一边框、第二边框和第三边框的长度。在一个可选实施例中,第四边框的长度为其他三个边框长度的四分之三,进而开口的宽度为定向框12边长的四分之一(未考虑第一边框的宽度,如果考虑第一边框的宽度则开口的宽度少小于定向框12边长的四分之一),其中,定向框12的边长即为第一边框、第二边框和第三边框的长度。在其他实施例中,定向框12的开口位置和开口宽度不仅限于图1A、图1B所示的位置和宽度,在本发明的精神原则下,定向框12的开口位置可以调整至定向框12的其它部位,并且开口宽度可以设的更小或者更大,在可选实施例中,在开口侧的边框的长度可以设置为0,开口也可以设置于边框的中间部分,使得边框被开口分割成两段,在可选实施例中,开口也可以位于两个相邻边框的接触部分,即位于定向框12的某个角部区域。
继续参见图1A、图1B所示,在可选实施例中,定位环11为圆环或者方形环。圆环或者方形环可以为多个,并且多个圆环或者方形环同心而设。在其他可选实施例中,定位环11也可以为其它多边形环,例如各种正多边形环。在其他可选实施例中,定位环11也可以由实心的定位块替代,例如圆形块、方形块或者多边形块,并且实心的定位块的中心位于编码图形1的中心。
如图1A、图1B所示,在可选实施例中,编码区13由编码块点阵组成,编码块点阵中的编码块为方形点(如图1A所示)或圆形点(如图1B所示)。在可选实施例中,定位环11所采用的形状与编码区13中的编码块形状不同。具体地,当定位环11为圆环时,编码块为方形,当定位环11为方形环时,编码块为圆形,这种区分定位环11和编码块形状的方式有利于识别,能够防止因为定位环11的形状与编码块的形状相近似而导致的误将定位环11作为编码块读取的问题,能够提高对编码区13所记录信息读取的准确性,降低对编码区13所记录信息读取的错误率。
在可选实施例中,编码块包括彼此区分的两种颜色编码块,其中一种颜色的编码块表示0,另一种颜色的编码块表示1。例如图1A、图1B所示中采用黑、白两种颜色的编码块,在其他实施例中,可以采用除黑色和白色的组合形式以外的不同种颜色组合形式的编码块,如红色和白色、黑色和黄色、蓝色和黄色等组合形式的编码块,编码块颜色的选择优先考虑对编码区13读取的容易程度,避免两种颜色之间色值过近导致的误读问题。在图1A、图1B所示实施例中,可以将黑色的编码块表示为1,将白色的编码块表示为0,也可以将黑色的编码块表示为0,将白色的编码块表示为1。
在可选实施例中,图1A、图1B所示实施例中的编码区13中的数据的记录顺序为:从编码区13中相邻于第一边框的第一行(如图1A、图1B中的上数第一行)编码块开始,沿从靠近第二边框的一侧(如图1A、图1B中的左侧)到靠近第四边框的一侧(如图1A、图1B中的右侧)的顺序依次在每一行编码块中记录数据,即如图1A、图1B所示,数据先按照从左到右的顺序记录在编码区13中上数第一行的各个编码块中,然后按照从左到右的顺序记录在编码区13中上数第二行的各个编码块中,以此类推,最后按照从左到右的顺序记录在编码区13中最后一行(下数第一行)的各个编码块中。如图1A、图1B所示,由于定位环11将中间区域的几行编码块分割成左右两个部分,因此,数据在这几行编码块中的每一行编码块的记录顺序为,首先从左到右记录在该行位于定位环11左侧部分的编码块中,之后跳过定位环11并从左到右记录在该行位于定位环11右侧部分的编码块中。
如图1A、图1B所示实施例中,编码图形1整体为正方形布局。定向框12由四个边框连接而成。其中,四个边框中的三个边框的长度相等,除三根长度相等的边框外的另外一个边框的长度小于该三个边框的长度。四个边框连接形成围绕编码区13和定位环11且具有开口的定向框12。第一边框、第二边框和第三边框的长度相等,第四边框的长度小于第一边框、第二边框和第三边框的长度。在一个可选实施例中,第四边框的长度为其他三个边框长度的四分之三,进而开口的宽度为定向框12边长的四分之一,其中,定向框12的边长即为第一边框、第二边框和第三边框的远离定位环11的外边缘的长度。在其他实施例中,定向框12的开口位置和开口宽度不仅限于图3所示的位置和宽度,在本发明的精神原则下,定向框12的开口位置可以调整至定向框12的其它部位,并且开口宽度可以更小或者更大,在可选实施例中,开口也可以位于矩形条的中间部分,使得矩形条被开口分割成两段,在可选实施例中,开口也可以位于两个相邻矩形框的接触部分,即位于定向框12的某个角部区域。图3所示实施例中,利用定向框12的开口结构可以实现对编码图形1的镜像检测,即使编码图形1产生了镜像变化,在拍摄含有镜像变化后的编码图形的物体表面时,也能够依据定向框12的开口位置而将镜像的编码图形镜像转换回标准的未被镜像变化的编码图形1,具体详见后续说明。
如图1A、图1B所示,在多个可选实施例中,定位环11可以为圆形环(图1A所示)或者方形环(图1B所示)。圆形环或者方形环可以为多个,并且多个圆形环或者方形环同心而设,例如图1A中,黑色的圆形环为两个,两个黑色的圆形环同心而设,图1B中黑色的方形环为两个,两个黑色的方形环同心而设。在其他可选实施例中,定位环11也可以为其它多边形环,例如各种正多边形环。在其他可选实施例中,定位环11也可以由实心的定位块替代,例如圆形块、方形快或者多边形块,并且实心的定位块的中心位于编码图形1的中心。
如图1A、图1B所示,编码区13由数据点所组成的矩阵构成。其中,数据点为方形点(如图1A所示)或圆形点(如图1B所示)。优选地,当定位环11为圆形环时的数据点为方形点(图1A所示),当定位环11为方形环时的数据点为圆形点(图1B所示),这种区分定位环11和数据点形状的方式有利于识别,能够防止因为定位环11的形状与数据点的形状相近似而导致的误将定位环11作为数据点读取的问题,能够提高对编码区13所记录信息读取的准确性,降低对编码区13所记录信息读取的错误率。
在可选实施例中,数据点包括彼此区分的两种颜色数据点,其中一种颜色的数据点表示0,另一种颜色的数据点表示1。例如图1A、图1B所示中采用黑、白两种颜色的数据点,在其他实施例中,可以采用除黑色和白色的组合形式以外的不同种颜色组合形式的数据点,如红色和白色、黑色和黄色、蓝色和黄色等组合形式的数据点,数据点颜色的选择优先考虑对编码区13读取的容易程度,避免两种颜色之间色值过近导致的误读问题。在图1A、图1B所示实施例中,可以将黑色的数据点表示为1,将白色的数据点表示为0,也可以将黑色的数据点表示为0,将白色的数据点表示为1。
如图2所示,本发明实施例的编码方法,主要包括:
步骤11、接收待编码数据;
步骤12、对待编码数据进行编码,生成编码数据;
步骤13、将编码数据记载于编码图形中。
其中,编码图形为如上各项实施例中所述的编码图形1,其结构参见图1A、图1B所示,具体参见上述各项实施例的描述,此处不再赘述。
在可选实施例中,步骤13的将编码数据记载于编码图形中,包括:
将编码区中最靠近第一边框的一行编码块作为起始编码行,将编码区中最靠近第三边框的一行编码块作为最末编码行,在每一行编码块中,将最靠近第二边框的编码块作为起始编码块,将最靠近第四边框的编码块作为最末编码块,按照从起始编码行到最末编码行的顺序将编码数据记载于编码区。
进一步地,在可选实施例中,在将编码数据记载于编码区的过程中:
在形成被定位环截断的编码行时,跳过定位环形成编码行中的编码块。
在可选实施例中,在步骤13的将编码数据记载于编码图形中之前,本发明实施例的编码方法还包括:
根据编码数据的位数、编码区中每个编码块的边长、定位环所占区域的长和宽、定向框的宽度、定向框与编码区之间静区的宽度以及编码区与定位环之间静区的宽度,确定编码图形的长和宽。
在可选实施例中,编码图形的长和宽与编码数据的位数、编码区中每个编码块的边长、定位环所占区域的长和宽、定向框的宽度、定向框与编码区之间静区的宽度以及编码区与定位环之间静区的宽度正相关。
以下用公式来表达编码图形的边长与编码数据的位数、编码区中每个编码块的边长和任意一个定位块所占区域的边长之间的关系。
对于图1A、图1B所示的编码图形实施例来说,编码图形为正方形,其长和宽相等,即正方形的长和宽用边长来表述。在图1A、图1B所示的编码图形1中,如果确定的数据码字的数量为k,纠错码字数量为2t,则编码图形1的边长(定向框12的外周缘长度)的计算公式为:
其中,a为编码图形1的边长,m为定位环11的直径(圆环)或者边长(方形环),p为定向框12的宽度,q为定位环11和编码区13之间以及编码区13和定向框12之间的静区14的宽度,ceil()表示求大于括号中变量的最小整数。m、p、q均以编码区13中的一个编码块所占区域的边长为基本单位,k和t也以编码图形1中的一个编码块所占区域的边长为基本单位,这样所得到的编码图形1的边长a的大小也是以编码图形1中的一个编码块的大小为基本单位,8(k+2t)表示了编码图形1所占区域的大小(面积)。
以上是编码图形为图1A、图1B所示的正方形时的尺寸关系。
进一步推广而言,如果编码区13的区域形状为宽度为x、高度为y的一般矩形,即编码区13外周缘的宽度为x、高度为y,则编码区13需满足以下公式(1)至(3):
x·y≥(m+2q)2+8(k+2t) (1)
x≥m+2q (2)
y≥m+2q (3)
设编码图形1的宽度为w、高度为h(即定向框12外周缘的宽度为w、高度为h),则编码图形1的宽高为编码区13外周缘的宽高加上静区的宽度和定向框12的宽度,计算公式为:
w=x+2p+2q
h=y+2p+2q
其中,x、y、w、h均以编码区13中的一个编码块所占区域的边长为基本单位。
以上是编码图形1为除正方形以外的一般矩形时的尺寸关系。
通过上述公式可以看出,以编码区13中的一个编码块所占区域的边长为基本单位,当确定了编码区13中的一个编码块所占区域的大小时,便可确定编码图形1中上述公式所涉及的各部分的尺寸。
在可选实施例中,步骤12中的对待编码数据进行编码包括:
采用RS(Reed-Solomon,李德所罗门)纠错编码方法对待编码数据进行编码。
在可选实施例中,在步骤12的生成编码数据之后,步骤13的将编码数据记载于编码图形中之前,本发明实施例的编码方法还包括:
将编码数据与数据掩码矩阵进行位异或处理。
关于RS纠错编码方法和采用数据掩码矩阵进行位异处理可详见后续说明。
以一个具体实施例为例,参考图3所示,采用本发明实施例的编码方法生成编码图形的流程可包括以下步骤。
步骤a1、根据应用需要,确定待编码数据最大位数。
在工业应用中,不同应用场景对编码图形中的数据容量要求有所不同。在可选实施例中,对于本发明实施例的带有辅助定位功能的编码图形而言,其存储的数据通常为一组表示位置坐标的十进制数字。位置坐标可以用行列索引和单位距离联合表示,也可以仅由实际物理坐标表示。在制作编码图形之前,首先需要明确表示场景坐标所需的最少十进制位数。
步骤a2、选取合适的纠错容量,确定编码图形尺寸。
这里的纠错容量与传统二维码的纠错容量相同,是指,当二维码(编码图形)由于光照、畸变、图像噪声等影响而导致码字(编码区中的编码块)发生更改时,译码器能够纠正的错误码字数量。纠错容量反映了编码图形的抗噪声性能。工业应用中,不用场景的对编码图形的纠错容量要求有所不同。有些场景下能够较好地控制成像环境,编码图形发生错误的概率较小,此时对纠错容量的要求相对较低;而另一些场景下,成像环境复杂多变,编码图形发生错误的概率较大,此时对纠错容量的要求相对较高,需要更多的纠错码以保证译码性能。在制作编码图形之前,需要根据编码图形使用环境的特点评估所需纠错容量t。根据所确定的数据码数量k和纠错码数量2t,可以计算编码图形的边长a:
其中,m为圆形定位环最外层的直径,p为定向框的宽度,q为静区宽度,其中,静区除了隔离定向框、编码区和定位环以外还占据定向框外侧的部分区域以对定向框和外部图形进行隔离,若不考虑定向框外侧的区域部分的静区宽度则无需增加上述公式中最后一项的2q,ceil(x)表示求不小于x的最小整数。
步骤a3、输入待编码的数据。
步骤a4、计算伽罗华域生成多项式,其中伽罗华域基底为2。生成多项式表示为2t个一次多项式的乘积。
步骤a5、进行Reed-Solomon纠错编码。
记数据码多项式为:
纠错码字多项式为x2td(x)除以多项式g(x)得到的余数。将纠错码排列在数据码之后,如图6所示,完成纠错编码。或者,可以将纠错码放在数据码之前。
步骤a6、将数据码和纠错码转换为位流。编码区中的最小单元是编码块,根据编码块的不同颜色表示不同的信息,其中黑色表示0,白色表示1。或者由白色表示0,黑色表示1。通过将十进制码字转换为二进制位流实现编码。转换时以每两位十进制数字为一组进行转换,将所有码字转换完毕后,按照相对顺序拼接在一起构成编码位流。
步骤a7、应用数据掩码矩阵,获取最终编码结果,即各个编码块的颜色。为了防止编码区中出现同色编码块聚集的情况,对编码区应用0、1相间的数据掩码矩阵。数据掩码矩阵公式为:
mask=(row+col)%2
其中,row为编码块的行号,col为编码块的列号,mask为掩膜值。将mask与相应位置的编码块值求异或,得到最终的编码结果。采用数据掩码矩阵进行位异或操作的好处在于,可以在编码区域比较大时,减少黑白方块发生黑白聚集的情况,提升译码时分割效率。
步骤a8、将编码块依次填充进编码区。如图1A、图1B所示,填充编码块的一种实施方式例如,从编码区左上角第一个编码块位置开始,按照自左向右,自上而下的顺序依次填充。在填充过程中如果遇到定位环的周围静区,则跳过该定位环,从定位环的右侧第一个可用编码块位置继续填充,直至所有编码块填充完毕。
步骤a9、绘制定位图形。
在可选实施例中,设定向框与编码区之间和编码区与定位环之间的静区宽度为1,则定位环的黑白色带的尺寸比例为1:1:1:2:1:1:1。也可以根据需要选择其它比例。
步骤a10、完成编码,输出最终编码图形的图案。
如图4所示,并结合图1A、图1B所示的编码图形,本发明实施例的编码图形读取方法,主要包括:
步骤21、获取含有编码图形的图像,该图像通过含有编码图形的物体表面得到;
步骤22、在图像中,识别出编码图形中的定位环和定向框;
步骤23、根据定位环和定向框确定编码图形从图像到无透视畸变平面的映射关系,并根据映射关系将图像中的编码图形变换到无透视畸变平面中形成编码图形正视图;
步骤24、在编码图形正视图中,通过读取编码区所记载的编码数据,获得编码图形所记载的信息。
其中,编码图形为如上各项实施例中所述的编码图形1,其结构参见图1A、图1B所示,具体参见上述各项实施例的描述,此处不再赘述。
在可选实施例中,定向框包括位于编码区外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且第四边框和所述第一边框之间具有开口。
在可选实施例中,步骤23中的根据定位环和定向框确定编码图形从图像到无透视畸变平面的映射关系,包括:
步骤231、根据定位环的形状特征,确定图像中的定位环的中心点坐标;
步骤232、提取图像中的定向框中的各个角点坐标;
步骤233、根据图像中的定位环的中心点坐标和定向框中的各个角点坐标,确定编码图形从图像到无透视畸变平面的映射关系。
在可选实施例中,关于步骤231中的确定图像中的定位环的中心点坐标步骤232中的提取图像中的定向框中的各个角点坐标,可通过以下步骤实现。
步骤c1、根据定位环的圆形环或者方形环的形状特征,确定定位环的中心点坐标。在可选实施例中,提取定位环的形状特征的方法可以采用本领域已有技术实现,例如对所述图像进行二值化处理,并获取定位环的边缘,如果定位环为圆形环,则采用诸如质心法的手段获得定位环的中心点坐标,如果定位环为方形环,则通过所获取的定位环的四个角的角点坐标,利用四个角的角点坐标通过计算获得定位环的中心点坐标,具体执行过程不再赘述。在可选实施例中,所确定的定位环的中心点坐标为图像中的定位环的中心点的像素坐标。
步骤c2、提取定向框中第一边框端部处的靠近定位环一侧的第一内角点坐标和远离定位环一侧的第一外角点坐标。如图1A所示实施例中,第一边框端部是指第一边框不与其他边框相连接(衔接)的一端,第一内角点为定向框12中的第一边框右端部两个角点中的下方角点,即第一内角点为第一边框右端部两个虚线框中的下方虚线框中的角点,第一外角点为定向框12中的第一边框右端部两个角点中的上方角点,即第一外角点为第一边框右端部两个虚线框中的上方虚线框中的角点。在可选实施例中,所提取的第一内角点和第一外角点的坐标为所述图像中的第一内角点和第一外角点的像素坐标。
步骤c3、提取第一边框和定向框中第二边框垂直相交处的靠近定位环一侧的第二内角点坐标和远离定位环一侧的第二外角点坐标。如图1A所示,第一边框和定向框中第二边框垂直相交处为第一边框左端和第二边框上端的位置,第二内角点为定向框12中左上角部分两个角点中靠近定位环的角点,即第二内角点为定向框12中左上角部分两个虚线框中的右下方虚线框中的角点,第二外角点为定向框12中左上角部分两个角点中远离定位环的角点,即第二外角点为定向框12中左上角部分两个虚线框中的左上方虚线框中的角点。在可选实施例中,所提取的第二内角点和第二外角点的坐标为所述图像中的第二内角点和第二外角点的像素坐标。
步骤c4、提取第二边框和定向框中第三边框垂直相交处的靠近定位环一侧的第三内角点坐标和远离定位环一侧的第三外角点坐标。如图1A所示,第二边框和定向框中第三边框垂直相交处为第二边框下端和第三边框左端的位置,第三内角点为定向框12中左下角部分两个角点中靠近定位环的角点,即第三内角点为定向框12中左下角部分两个虚线框中的右上方虚线框中的角点,第三外角点为定向框12中左下角部分两个角点中远离定位环的角点,即第三外角点为定向框12中左下角部分两个虚线框中的左下方虚线框中的角点。在可选实施例中,所提取的第三内角点和第三外角点的坐标为所述图像中的第三内角点和第三外角点的像素坐标。
步骤c5、提取第三边框和定向框中第四边框垂直相交处的靠近定位环一侧的第四内角点坐标和远离定位环一侧的第四外角点坐标。如图1A所示,第三边框和定向框中第四边框垂直相交处为第三边框右端和第四边框下端的位置,第四内角点为定向框12中右下角部分两个角点中靠近定位环的角点,即第四内角点为定向框12中右下角部分两个虚线框中的左上方虚线框中的角点,第四外角点为定向框12中右下角部分两个角点中远离定位环的角点,即第四外角点为定向框12中右下角部分两个虚线框中的右下方虚线框中的角点。在可选实施例中,所提取的第四内角点和第四外角点的坐标为所述图像中的第四内角点和第四外角点的像素坐标。
步骤c6、提取第四边框中朝向第一边框且不与第一边框相交的端部处的靠近定位环一侧的第五内角点坐标和远离定位环一侧的第五外角点坐标。如图1A所示中,第四边框中朝向第一边框且不与第一边框相交的端部为图1A所示中第四边框的上端部,第五内角点为定向框12中的第四边框上端部两个角点中的左方角点,即第五内角点为第四边框上端部两个虚线框中的左方虚线框中的角点,第五外角点为定向框12中的第四边框上端部两个角点中的右方角点,即第五外角点为第四边框上端部两个虚线框中的右方虚线框中的角点。在可选实施例中,所提取的第五内角点和第五外角点的坐标为所述图像中的第五内角点和第五外角点的像素坐标。
步骤c2至步骤c6中,提取定向框12中各个内角点和外角点可以采用本领域已有技术实现,例如对所述图像进行二值化处理,并获取定向框的边缘,将各个边缘的拐角点确定为上述步骤c2至步骤c6的各个内角点和外角点。上述步骤c1至步骤c6之间的顺序仅为描述的顺序而并非执行顺序,各个步骤之间没有必然的先后执行顺序关系。
根据上述各个步骤所获取的定向框的角点坐标,即可确定编码图形的方向,编码图形的方向由开口朝向来确定,具体地:根据第五外角点坐标和第一内角点坐标,确定定位环的开口位置,根据定位环的开口朝向来确定编码图形的方向。
在可选实施例中,将如图1A或图1B所示的定位环21的开口朝向右侧时的编码图形作为编码图形的正视图角度。
在本发明实施例中,定向框的开口部分的角点包括了第一内角点、第一外角点、第五内角点和第五外角点,与定向框的其他内角点和外角点的分布相比,开口部分的第一内角点、第一外角点、第五内角点和第五外角点之间的布局(如相对的位置、距离等)并不相同,基于这种区别,可以在所述图像中确定出定位环的开口位置以及开口的方向,其中,开口的方向为从第五内角点向第五外角点的方向,或者将第一内角点和第五外角点之间做连线,从第五内角点向该连线所做垂线的方向。
在可选实施例中,步骤233中的根据图像中的定位环的中心点坐标和定向框中的各个角点坐标,确定编码图形从图像到无透视畸变平面的映射关系,包括:
根据图像中的所述定位环的中心点坐标和定向框中的各个角点坐标,以及定位环的中心点和定向框中的各个角点在无透视畸变平面中的目标坐标,获得对应于映射关系的单应性矩阵。
在可选实施例中,步骤23的根据映射关系将图像中的编码图形变换到无透视畸变平面中形成编码图形正视图,包括:
步骤234、利用单应性矩阵,将图像中的编码图形的所有像素点投影变换到无透视畸变平面,形成编码图形正视图。
本发明实施例中,图1A、图1B所示的编码图形具有镜像检测功能。进而在可选实施例中,本发明实施例的编码图形读取方法还包括镜像检测的步骤,具体如下。
在可选实施例中,在确定图像中的定位环中心点坐标并提取图像中的定向框中的各个角点坐标之后(即步骤231和步骤232之后),并在确定编码图形从图像到无透视畸变平面的映射关系(即步骤233之前)之前,本发明实施例的编码图形读取方法还包括:
对编码图形进行镜像检测,根据镜像检测结果执行对图像的镜像变换。
在可选实施例中,所述的对编码图形进行镜像检测,根据镜像检测结果执行对图像的镜像变换,包括:
在图像中,将开口向编码图形外侧方向的第一朝向矢量与开口向第四边框方向的第二朝向矢量进行外积;
如果外积的结果大于零,则不对图像中的编码图形进行镜像变换;
如果外积的结果小于零,则对图像中的编码图形进行镜像变换。
图5示出了定向框开口位置的第一朝向矢量a和第二朝向矢量b,其中,第一朝向矢量a的方向为开口向编码图形外侧的方向,第二朝向矢量b的方向为开口向第四边框的方向,将第一朝向矢量a和第二朝向矢量b进行外积,即a×b,如果a×b>0则表明图像中的编码图形并非镜像形式的编码图形,此时不对图像中的编码图形进行镜像变换,如果a×b<0则表明图像中的编码图形为镜像形式的编码图形,此时需要对图像中的编码图形进行镜像变换。
如果编码图形所贴覆的表面较薄,导致从该表面的背面拍摄时仍然能够从图像中提取出编码图形,而此时图像中的编码图形就是镜像形式的编码图形,此时若要读取编码图形中的信息,则需要进行相应的镜像变换。本发明实施例中,通过对定向框开口的设计,实现了对编码图形的镜像检测从而有利于本发明实施例中的编码图形以及编码图形读取方法的更广泛使用。例如当编码图形贴覆玻璃表面,并且机器人需要从玻璃的两个侧面进行与玻璃相关的定位时,本发明实施例可以实现用同一个编码图形进行玻璃正反两个方向的定位。
在可选实施例中,步骤24的在编码图形正视图中,通过读取编码区所记载的编码数据,获得编码图形所记载的信息,包括:
在编码图形正视图中,将编码区中最靠近第一边框的一行编码块作为起始编码行,将编码区中最靠近第三边框的一行编码块作为最末编码行,在每一行编码块中,将最靠近第二边框的编码块作为起始编码块,将最靠近第四边框的编码块作为最末编码块,按照从起始编码行到最末编码行的顺序依次在每一编码行中从起始编码块到最末编码块读取每个编码块的信息,以获得编码图形所记载的编码数据。
除上述可选实施例以外,可以根据需要制定其他方式的读取顺序。在可选实施例中,对编码区中编码块的读取顺序与编码区中编码块的写入顺序相同。
在可选实施例中,在读取被定位环截断的编码行时,跳过定位环读取编码行中的编码块。
在可选实施例中,在步骤24中,读取编码区后,进一步通过如下方法获得编码图形所记载的信息:
步骤241、对读取编码区所得到的编码数据进行纠错译码,得到纠错后的码字和错误数量;
步骤242、对错误数量进行判断,如果错误数量未超过纠错容量,则输出纠错后的码字。
在可选实施例中,步骤243中采用的纠错译码为RS(李德所罗门)纠错译码。
进一步地,在进行步骤241的纠错译码之前,步骤24还包括:
将编码数据与数据掩码矩阵进行位异或处理。
关于本发明实施例中的位异或处理,补充说明如下。
在编码过程中,对将要记录于编码区中的真实数据与数据掩码矩阵进行位异或处理,得到避免黑白聚集情况的编码区图形,在译码过程中,对编码区图形同样采用与数据掩码矩阵进行位异或处理的手段,并且,在编码时采用的数据掩码矩阵和译码时采用的数据掩码矩阵相同,因为异或遵循如下结合律:
因此,若将a定义为数据掩码矩阵,将b定义为编码时将要记录于编码区中的真实数据,则上述等式左边中的则表示了在编码时对真实数据与数据掩码矩阵进行位异或处理,若将的结果定义为c,则c即表示了避免黑白聚集情况的编码区图形,那么上述等式左边的内容即为
从上述两式可知
而本领域人员知晓的是,0与非零数异或等于该非零数,则如果b为非零数则有
其中,因为b定义为编码时将要记录于编码区中的数据,所以从上式可以看出,在译码过程中,对编码区图形与数据掩码矩阵(与编码时采用的数据掩码矩阵相同)进行位异或处理能够得到原始的编码的真实数据。
所以,在优选实施例中,在编码过程中和译码过程中采用相同的数据掩码矩阵分别对将要记录于编码区中的真实数据和编码区进行位异或处理,能够在译码时得到记录于编码区中的原始编码信息。
图7示出了采用本发明实施例的编码图形读取方法,从确定编码图形规范到最终完成译码的整个过程流程。如图7所示,该过程包括:
步骤b1、确定编码图形的规范。译码时需要根据编码图形在编码时的规范进行译码,规范主要包括:数据码数量、纠错码数量、静区宽度、定向框框宽度、定位环比例等。
步骤b2、在含有编码图形的图像中,提取编码图形的定位环中心点和定向框的10个角点。其中,定向框的10个角点参见上述说明的第一内角点、第一外角点、第二内角点、第二外角点、第三内角点、第三外角点、第四内角点、第四外角点、第五内角点和第五外角点。
步骤b3、镜像检测,确定角点顺序。
如图1A所示,本发明实施例中,定向框呈现类似字母“G”的形状,其具有镜像检测的作用。镜像检测的过程参见上述说明中的镜像检测,此处不再赘述。
步骤b4、根据定位环中心点和定向框的10个角点的坐标,与对应的11个无透视畸变的角点坐标,求单应性矩阵。利用单应性矩阵将编码图形区域内的所有像素点投影到无透视畸变的平行平面,得到去除透视畸变的编码图形图像,即编码图形正视图。
步骤b5、在去除透视畸变的编码图形区域内部,采用阈值化方法得到编码图形的二值图。
步骤b6、根据定向框的长度和编码区的边长计算编码区中的编码块的长度。以编码块长度为步长划分网格,读取每个网格的比特值。实际可根据需要设置判决阈值T,当网格内白色像素数超过T时判决为白色模块,否则判决为黑色模块。从图1A中的编码区的左上角第一个码位(编码块)开始,按照编码时的顺序依次译出码字,直至所有码字译出完毕。
其中,定向框的边长需要考虑到编码区的边长、编码区与定向框之间静区的宽度以及定向框的宽度,例如,以编码块的边长为单位,将静区的宽度设为2个编码块边长,将定位边框宽度设为2个编码块边长,进而如果编码区每边共16个编码块,则定向框的边长为16+2×2+2×2=24个编码块边长。在其他实施例中,静区宽度和定向框的宽度可以自由设定。
步骤b7、利用掩膜对每一个编码块的码字进行位异或处理,得到掩膜前信息。
步骤b8、进行Reed-Solomon纠错译码,得到纠错结果。
纠错结果包括纠错后的码字和错误数量。
步骤b9、根据步骤b8计算得到的错误数量,判断是否成功译码。如果错误数量超过纠错容量t,则无法完成纠错译码,执行步骤b10,否则表明译码成功,执行步骤b11。
步骤b10、由于错误数量大于纠错容量,输出译码失败结果。
步骤b11、译码成功,输出纠错后的码字。
本发明实施中的编码图形可形成于标定板,以在相机标定过程中辅助标定板的定位,其中,编码图形中编码区可记载编码图形的标记点的坐标(索引坐标或者物理坐标)和/或标定板的相关信息(如标定板中特征点间的物理距离)等。
本发明实施例还提供了一种拍摄装置,如图8所示,拍摄装置包括拍摄单元41和处理器42。其中,拍摄单元41用于拍摄含有编码图形的物体表面,获得含有编码图形的图像。处理器42用于:在所述图像中,识别出编码图形中的定位环和定向框;根据定位环和定向框确定编码图形从图像到无透视畸变平面的映射关系,并根据映射关系将图像中的编码图形变换到无透视畸变平面中形成编码图形正视图;在编码图形正视图中,通过读取编码区所记载的编码数据,获得编码图形所记载的信息。其中,编码图形包括:定向框;定位环,定位环位于定向框内部区域的中心;编码区,编码区位于定向框内部区域中,并分布于定位环的周围,编码区记载有编码数据;静区,静区位于所述定向框、所述编码区和所述定位环之间。
本发明实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上述各项实施例中所述的编码方法中的步骤。
本发明实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上述各项实施例中所述的编码图形读取方法中的步骤。
本发明实施例还提供了一种电子设备,其结构可参见图9所示,该电子设备包括:至少一个处理器51;以及,与所述至少一个处理器51通信连接的存储器52;其中,所述存储器52存储有可被所述至少一个处理器51执行的指令,所述指令被所述至少一个处理器51执行,以使所述至少一个处理器51执行如上述各项实施例中任一项所述的编码方法中的步骤。
本发明实施例还提供了一种电子设备,其结构也可参见图9所示,该电子设备包括:至少一个处理器51;以及,与所述至少一个处理器51通信连接的存储器52;其中,所述存储器52存储有可被所述至少一个处理器51执行的指令,所述指令被所述至少一个处理器51执行,以使所述至少一个处理器51执行如上述各项实施例中任一项所述的编码图形读取方法中的步骤。
本发明实施例的编码方法、编码图形、编码图形读取方法、拍摄装置、非易失性计算机可读存储介质和电子设备中,替代了现有二维码标准,节省了采用现有二维码生成软件所需的授权成本和制作成本,并且不受限于现有二维码生成软件的使用限制。另外,本发明实施例利用编码图形中的定位环和容纳定位环并具有开口的定向框实现了对编码图形的准确快速定位,确保了对定向框和定位环之间的编码区的准确读取,并且本发明实施例中结合定向框的结构实现了针对编码图形的镜像检测功能,进而实现了对同一个编码图形进行正反两个方向的数据读取。同时,本发明实施例可根据应用场景的数据量大小来设定编码图形的尺寸和其中编码区的大小,以灵活设置编码图形所记录的数据信息。另外,本发明实施例中利用Reed-Solomon纠错机制,使得编码区具有防错性能,可以纠正不超过纠错容量的误码。本发明中的编码图形的编码方式简单,对于编码数据量较小的场景效率较高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (31)
1.一种编码方法,包括:
接收待编码数据;
对所述待编码数据进行编码,生成编码数据;
将所述编码数据记载于编码图形中;
其中,所述编码图形包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有所述编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
2.根据权利要求1所述的编码方法,其特征在于,对所述待编码数据进行编码包括:
采用李德所罗门RS纠错编码方法对所述待编码数据进行编码。
3.根据权利要求1所述的编码方法,其特征在于,在生成所述编码数据之后,将所述编码数据记载于编码图形中之前,所述方法还包括:
将所述编码数据与数据掩码矩阵进行位异或处理。
4.根据权利要求1所述的编码方法,其特征在于:
所述定向框包括位于所述编码区外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且所述第四边框和所述第一边框之间具有开口。
5.根据权利要求1所述的编码方法,其特征在于:
所述定位环所采用的形状与所述编码区中的编码块形状不同。
6.根据权利要求1所述的编码方法,其特征在于:
所述编码区由编码块点阵组成,所述编码块点阵中的编码块为方形点或圆形点。
7.根据权利要求6所述的编码方法,其特征在于:
所述编码块包括彼此区分的两种颜色的编码块,其中一种颜色的编码块表示0,另一种颜色的编码块表示1。
8.根据权利要求4所述的编码方法,其特征在于,所述的将所述编码数据记载于编码图形中,包括:
将所述编码区中最靠近所述第一边框的一行编码块作为起始编码行,将所述编码区中最靠近所述第三边框的一行编码块作为最末编码行,在每一行编码块中,将最靠近所述第二边框的编码块作为起始编码块,将最靠近所述第四边框的编码块作为最末编码块,按照从起始编码行到最末编码行的顺序将所述编码数据记载于所述编码区。
9.根据权利要求8所述的编码方法,其特征在于,在将所述编码数据记载于所述编码区的过程中:
在形成被所述定位环截断的编码行时,跳过所述定位环形成所述编码行中的编码块。
10.根据权利要求1所述的编码方法,其特征在于,在将所述编码数据记载于编码图形中之前,所述方法还包括:
根据所述编码数据的位数、所述编码区中每个编码块的边长、所述定位环所占区域的长和宽、所述定向框的宽度、所述定向框与所述编码区之间静区的宽度以及所述编码区与所述定位环之间静区的宽度,确定所述编码图形的长和宽。
11.根据权利要求10所述的编码方法,其特征在于:
所述编码图形的长和宽与所述编码数据的位数、所述编码区中每个编码块的边长、所述定位环所占区域的长和宽、所述定向框的宽度、所述定向框与所述编码区之间静区的宽度以及所述编码区与所述定位环之间静区的宽度正相关。
12.一种编码图形,其特征在于,包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
13.根据权利要求12所述的编码图形,其特征在于:
所述定向框包括位于所述编码区外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且所述第四边框和所述第一边框之间具有开口。
14.根据权利要求12所述的编码图形,其特征在于:
所述定位环所采用的形状与所述编码区中的编码块形状不同。
15.根据权利要求12所述的编码图形,其特征在于:
所述编码区由编码块点阵组成,所述编码块点阵中的编码块为方形点或圆形点。
16.根据权利要求15所述的编码方法,其特征在于:
所述编码块包括彼此区分的两种颜色的编码块,其中一种颜色的编码块表示0,另一种颜色的编码块表示1。
17.一种编码图形读取方法,包括:
获取含有编码图形的图像,所述图像通过拍摄含有编码图形的物体表面得到;
在所述图像中,识别出所述编码图形中的定位环和定向框;
根据所述定位环和定向框确定所述编码图形从所述图像到无透视畸变平面的映射关系,并根据所述映射关系将所述图像中的所述编码图形变换到所述无透视畸变平面中形成编码图形正视图;
在所述编码图形正视图中,通过读取编码区所记载的编码数据,获得所述编码图形所记载的信息;
其中,所述编码图形包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
18.根据权利要求17所述的编码图形读取方法,其特征在于:
所述定向框包括位于所述编码区外侧顺次连接的第一边框、第二边框、第三边框和第四边框,并且所述第四边框和所述第一边框之间具有开口。
19.根据权利要求18所述的编码图形读取方法,其特征在于,所述的根据所述定位环和定向框确定所述编码图形从所述图像到无透视畸变平面的映射关系,包括:
根据所述定位环的形状特征,确定所述图像中的所述定位环的中心点坐标;
提取所述图像中的所述定向框中的各个角点坐标;
根据所述图像中的所述定位环的中心点坐标和所述定向框中的各个角点坐标,确定所述编码图形从所述图像到无透视畸变平面的映射关系。
20.根据权利要求19所述的编码图形读取方法,其特征在于,所述的根据所述图像中的所述定位环的中心点坐标和所述定向框中的各个角点坐标,确定所述编码图形从所述图像到无透视畸变平面的映射关系,包括:
根据所述图像中的所述定位环的中心点坐标和所述定向框中的各个角点坐标,以及所述定位环的中心点和所述定向框中的各个角点在无透视畸变平面中的目标坐标,获得对应于所述映射关系的单应性矩阵;
所述的根据所述映射关系将所述图像中的所述编码图形变换到所述无透视畸变平面中形成编码图形正视图,包括:
利用所述单应性矩阵,将所述图像中的编码图形的所有像素点投影变换到所述无透视畸变平面,形成所述编码图形正视图。
21.根据权利要求19所述的编码图形读取方法,其特征在于,在确定所述图像中的所述定位环中心点坐标并提取所述图像中的所述定向框中的各个角点坐标之后,并在确定所述编码图形从所述图像到无透视畸变平面的映射关系之前,所述方法还包括:
对所述编码图形进行镜像检测,根据所述镜像检测结果执行对所述图像的镜像变换。
22.根据权利要求21所述的编码图形读取方法,其特征在于:
所述的对所述编码图形进行镜像检测,根据所述镜像检测结果执行对所述图像的镜像变换,包括:
在所述图像中,将所述开口向所述编码图形外侧方向的第一朝向矢量与所述开口向所述第四边框方向的第二朝向矢量进行外积;
如果所述外积的结果大于零,则不对图像中的所述编码图形进行镜像变换;
如果所述外积的结果小于零,则对图像中的所述编码图形进行镜像变换。
23.根据权利要求18所述的编码图形读取方法,其特征在于,所述的在所述编码图形正视图中,通过读取编码区所记载的编码数据,获得所述编码图形所记载的信息,包括:
在所述编码图形正视图中,将所述编码区中最靠近所述第一边框的一行编码块作为起始编码行,将所述编码区中最靠近所述第三边框的一行编码块作为最末编码行,在每一行编码块中,将最靠近所述第二边框的编码块作为起始编码块,将最靠近所述第四边框的编码块作为最末编码块,按照从起始编码行到最末编码行的顺序依次在每一编码行中从起始编码块到最末编码块读取每个编码块的信息,以获得所述编码图形所记载的编码数据。
24.根据权利要求23所述的编码图形读取方法,其特征在于:
在读取被所述定位环截断的编码行时,跳过所述定位环读取编码行中的编码块。
25.根据权利要求17所述的编码图形读取方法,其特征在于,读取所述编码区后,通过如下方法获得所述编码图形所记载的信息:
对读取所述编码区所得到的编码数据进行纠错译码,得到纠错后的码字和错误数量;
如果所述错误数量未超过纠错容量,则输出所述纠错后的码字。
26.根据权利要求25所述的编码图形读取方法,其特征在于,在进行所述纠错译码之前,所述方法还包括:
将所述编码数据与数据掩码矩阵进行位异或处理。
27.一种拍摄装置,所述拍摄装置包括拍摄单元和处理器,其特征在于:
所述拍摄单元用于拍摄含有编码图形的物体表面,获得含有所述编码图形的图像;
所述处理器用于:
在所述图像中,识别出所述编码图形中的定位环和定向框;
根据所述定位环和定向框确定所述编码图形从所述图像到无透视畸变平面的映射关系,并根据所述映射关系将所述图像中的所述编码图形变换到所述无透视畸变平面中形成编码图形正视图;
在所述编码图形正视图中,通过读取编码区所记载的编码数据,获得所述编码图形所记载的信息;
其中,所述编码图形包括:
定向框;
定位环,所述定位环位于所述定向框内部区域的中心;
编码区,所述编码区位于所述定向框内部区域中,并分布于所述定位环的周围,所述编码区记载有编码数据;以及
静区,所述静区位于所述定向框、所述编码区和所述定位环之间。
28.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至11中任一项所述的编码方法中的步骤。
29.一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求17至26中任一项所述的编码图形读取方法中的步骤。
30.一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1至11中任一项所述的编码方法中的步骤。
31.一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求17至26中任一项所述的编码图形读取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606495.5A CN112183695B (zh) | 2019-07-05 | 2019-07-05 | 编码方法、编码图形、编码图形读取方法和拍摄装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910606495.5A CN112183695B (zh) | 2019-07-05 | 2019-07-05 | 编码方法、编码图形、编码图形读取方法和拍摄装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112183695A true CN112183695A (zh) | 2021-01-05 |
CN112183695B CN112183695B (zh) | 2023-07-14 |
Family
ID=73918759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910606495.5A Active CN112183695B (zh) | 2019-07-05 | 2019-07-05 | 编码方法、编码图形、编码图形读取方法和拍摄装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112183695B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113627577A (zh) * | 2021-08-02 | 2021-11-09 | 三维码(厦门)网络科技有限公司 | 一种三维码的生成方法及基于三维码的防伪溯源系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670763A (zh) * | 2004-03-15 | 2005-09-21 | 深圳矽感科技有限公司 | 一种二维条码及其编解码方法 |
CN109034327A (zh) * | 2017-06-08 | 2018-12-18 | 石立公 | 一种随机防伪标记采样方法、装置和服务器 |
CN109102054A (zh) * | 2018-07-18 | 2018-12-28 | 北京进化者机器人科技有限公司 | 框码的生成装置及框码的应用方法 |
CN109754046A (zh) * | 2019-01-31 | 2019-05-14 | 北京迈格威科技有限公司 | 二维码、二维码的编码方法、解码方法、装置及设备 |
-
2019
- 2019-07-05 CN CN201910606495.5A patent/CN112183695B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670763A (zh) * | 2004-03-15 | 2005-09-21 | 深圳矽感科技有限公司 | 一种二维条码及其编解码方法 |
CN109034327A (zh) * | 2017-06-08 | 2018-12-18 | 石立公 | 一种随机防伪标记采样方法、装置和服务器 |
CN109102054A (zh) * | 2018-07-18 | 2018-12-28 | 北京进化者机器人科技有限公司 | 框码的生成装置及框码的应用方法 |
CN109754046A (zh) * | 2019-01-31 | 2019-05-14 | 北京迈格威科技有限公司 | 二维码、二维码的编码方法、解码方法、装置及设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113627577A (zh) * | 2021-08-02 | 2021-11-09 | 三维码(厦门)网络科技有限公司 | 一种三维码的生成方法及基于三维码的防伪溯源系统 |
CN113627577B (zh) * | 2021-08-02 | 2023-05-23 | 三维码(厦门)网络科技有限公司 | 一种三维码的生成方法及基于三维码的防伪溯源系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112183695B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10679175B2 (en) | Two-dimensional code, system for creation of two-dimensional code, and analysis program | |
US9892300B2 (en) | Two-dimensional code | |
US8550351B2 (en) | Matrix type two-dimensional barcode decoding chip and decoding method thereof | |
US7950589B2 (en) | Program, information storage medium, two-dimensional code generation system, image generation system and printed material | |
CN101978380B (zh) | 二维符号及其读取方法 | |
US7264174B2 (en) | 2D coding and decoding barcode and its method thereof | |
US8733649B2 (en) | Data matrix decoding chip and decoding method thereof | |
US9898637B2 (en) | Two-dimensional code | |
CN111046996B (zh) | 一种彩色qr码生成和识别方法 | |
JP2007317184A (ja) | 二次元バーコード、その符号化方法及び復号化方法 | |
CN111275152A (zh) | 二维码、二维码的编码方法、解码方法、装置和电子系统 | |
US11843395B2 (en) | Coding pattern, coding and reading methods for same, calibration board, and calibration method | |
JP6856956B2 (ja) | 長距離高密度視覚マーカの検出および認識方法 | |
CN112184826B (zh) | 一种标定板和标定方法 | |
CN112187284A (zh) | 编码方法、编码图形、编码图形读取方法和拍摄装置 | |
CN112183695B (zh) | 编码方法、编码图形、编码图形读取方法和拍摄装置 | |
US20120281920A1 (en) | Parallel test payload | |
CN112184803A (zh) | 一种标定板和标定方法 | |
CN109635613B (zh) | 一种用于球体表面的二维码生成方法、系统及装置 | |
CN111340957A (zh) | 测量方法和系统 | |
CN110926370B (zh) | 测量方法和系统 | |
CN117974419A (zh) | 畸变二维码获取方法、装置、设备及存储介质 | |
CN114896999A (zh) | 二维码识别方法、装置、计算机设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310052 5 / F, building 1, building 2, no.700 Dongliu Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |