CN108596175A - 一种图像修正方法和装置 - Google Patents
一种图像修正方法和装置 Download PDFInfo
- Publication number
- CN108596175A CN108596175A CN201810401125.3A CN201810401125A CN108596175A CN 108596175 A CN108596175 A CN 108596175A CN 201810401125 A CN201810401125 A CN 201810401125A CN 108596175 A CN108596175 A CN 108596175A
- Authority
- CN
- China
- Prior art keywords
- dot matrix
- image
- lattice point
- matrix image
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/242—Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本发明实施例涉及一种图像修正方法和装置,包括:接收图像采集器发送的位置点的图像数据;对图像数据进行二值化处理,得到第一点阵图像;在第一点阵图像中截取第二点阵图像;对第二点阵图像进行处理,得到编码信息;判断编码信息与码本列表中的代码值是否匹配;当编码信息与码本列表中的代码值不匹配时,根据预设步长数据和预设角度范围数据对第一点阵图像进行角度迭代处理,直至迭代修正后的第二点阵图像的编码信息与码本列表中的代码值相匹配;当编码信息与码本列表中的代码值匹配时,根据匹配得到代码值生成位置点的位置坐标。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种图像修正方法和装置。
背景技术
随着信息技术的飞速发展,人们日益普遍地使用计算机来生产、处理、交换和传播各种形式的信息。信息技术逐渐改变着人们的生活习惯。传统的利用纸张和笔进行书写的方式无法进行信息化处理,因此无法满足人们的需要。
现有技术中一般通过数码笔和上位机实现笔迹的还原和数字化存储,然而现有技术中的数码笔在采集图像时,用户握笔的姿势以及点阵基底的摆放角度都会影响数码笔所采集到的图像的质量,使得图像质量精度低,无法有效还原书写笔迹;且现有的数码笔只能进行图像的采集,将采集到的图像上传至上位机,上位机对图像进行处理从而得到书写笔迹,这种方法图像数据上传量大,造成笔迹还原速度慢、精度低。
发明内容
本发明的目的是针对现有技术的缺陷,提供一种图像修正方法,通过旋转和倾斜角度的迭代实现对点阵图像的修正,从而实现对握笔的姿势以及点阵基底的摆放的修正,提高解码的成功率,进而提高笔迹还原精准度。
有鉴于此,第一方面,本发明实施例提供了一种图像修正方法,包括:
接收图像采集器发送的位置点的图像数据;
对所述图像数据进行二值化处理,得到第一点阵图像;
在所述第一点阵图像中截取第二点阵图像;
对所述第二点阵图像进行点阵识别处理,得到多个点阵点;
计算相邻点阵点之间的距离,并对所述计算得到的相邻点阵点之间的距离进行处理,得到间距距离;
选取所述相邻点阵点之间的距离在预设阈值范围内的点阵点作为特征点阵组;
将所述特征点阵组中的点阵点进行连线,并确定所述连线方向;
选取所述第二点阵图像的中心点,根据所述间距距离和所述连线的方向生成网格;
根据所述点阵点偏移所述网格中心点的方向得到编码信息;
判断所述编码信息与码本列表中的代码值是否匹配;
当所述编码信息与码本列表中的代码值不匹配时,根据预设步长数据和预设角度范围数据对所述第一点阵图像进行角度迭代处理,直至迭代修正后的第二点阵图像的编码信息与所述码本列表中的代码值相匹配;其中,所述角度迭代处理包括对所述第一点阵图像进行旋转角度迭代处理和倾斜角度迭代处理;
当所述编码信息与码本列表中的代码值匹配时,根据匹配得到代码值生成所述位置点的位置坐标。
优选的,所述对所述第一点阵图像进行旋转角度迭代处理具体包括:
获取预设的旋转角度数据;
依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的旋转角度数据在第一范围内对每个所述点阵点进行一次或多次水平旋转处理。
优选的,所述倾斜角度迭代处理具体包括:
获取预设的倾斜角度数据;
确定所述第一点阵图像中每个所述点阵点之间的距离变化;
当所述距离变化为增大时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第二范围内对每个所述点阵点进行一次或多次垂直旋转处理;
当所述距离变化为减小时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第三范围内对每个所述点阵点进行一次或多次垂直旋转处理。
优选的,所述对所述图像数据进行二值化处理,得到第一点阵图像具体包括:
将所述图像数据中每个像素的像素值与所述预设像素值进行对比;
根据所述对比结果对所述图像数据中的每个像素进行赋值;
根据所述每个像素的赋值得到所述第一点阵图像。
优选的,在所述根据匹配得到代码值生成位置点的位置坐标之后,所述方法还包括:
根据所述位置点的位置坐标,获取所述位置点相邻的多个位置点的代码值;
根据所述相邻的多个位置点的代码值更新所述码本列表。
第二方面,本发明实施例提供了一种图像处理装置,包括:
点阵识别单元,用于接收图像采集器发送的位置点的图像数据;对所述图像数据进行二值化处理,得到第一点阵图像;
编码单元,用于在所述第一点阵图像中截取第二点阵图像;对所述第二点阵图像进行点阵识别处理,得到多个点阵点;计算相邻点阵点之间的距离,并对所述计算得到的相邻点阵点之间的距离进行处理,得到间距距离;选取所述相邻点阵点之间的距离在预设阈值范围内的点阵点作为特征点阵组;将所述特征点阵组中的点阵点进行连线,并确定所述连线方向;选取所述第二点阵图像的中心点,根据所述间距距离和所述连线的方向生成网格;根据所述点阵点偏移所述网格中心点的方向得到编码信息;
译码单元,用于判断所述编码信息与码本列表中的代码值是否匹配;当所述编码信息与码本列表中的代码值不匹配时,根据预设步长数据和预设角度范围数据对所述第一点阵图像进行角度迭代处理,直至迭代修正后的第二点阵图像的编码信息与所述码本列表中的代码值相匹配;其中,所述角度迭代处理包括对所述第二点阵图像进行旋转角度迭代处理和倾斜角度迭代处理;当所述编码信息与码本列表中的代码值匹配时,根据匹配得到代码值生成位置点的位置坐标。
优选的,所述译码单元具体用于:
获取预设的旋转角度数据;
依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的旋转角度数据在第一范围内对每个所述点阵点进行一次或多次水平旋转处理。
优选的,所述译码单元具体用于:
获取预设的倾斜角度数据;
确定所述第一点阵图像中每个所述点阵点之间的距离变化;
当所述距离变化为增大时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第二范围内对每个所述点阵点进行一次或多次垂直旋转处理;
当所述距离变化为减小时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第三范围内对每个所述点阵点进行一次或多次垂直旋转处理。
优选的,所述灰度处理单元具体用于:
将所述图像数据中每个像素的像素值与所述预设像素值进行对比;
根据所述对比结果对所述图像数据中的每个像素进行赋值;
根据所述每个像素的赋值得到所述第一点阵图像。
优选的,所述装置还包括代码单元,所述代码单元用于根据所述位置点的位置坐标,获取所述位置点相邻的多个位置点的代码值;根据所述相邻的多个位置点的代码值更新所述码本列表。
本发明实施例提供的一种图像修正方法和装置,在图像数据采集的同时对图像数据进行处理,并且通过旋转和倾斜角度的迭代实现对点阵图像的修正,从而实现对握笔的姿势以及点阵基底的摆放的修正,提高解码的成功率,进而提高笔迹还原的速度和精准度。
附图说明
图1为本发明实施例提供的一种图像修正方法流程图;
图2为本发明实施例提供的一种点阵区域示意图;
图3为本发明实施例提供的一种网格示意图;
图4为本发明实施例提供的一种编码单元示意图;
图5为本发明实施例提供的一种垂直状态采集的第一点阵图像的示意图;
图6为本发明实施例提供的一种旋转状态采集的第一点阵图像的示意图;
图7a为本发明实施例提供的一种倾斜状态采集的第一点阵图像的示意图;
图7b为本发明实施例提供的另一种倾斜状态采集的第一点阵图像的示意图;
图8为本发明实施例提供的一种图像修正装置的结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种图像修正方法流程图,本方法是基于图像修正装置实现的,图像修正装置是具有图像识别和处理功能的设备,通过对用户在点阵区域进行书写时采集到的图像数据进行识别、处理和修正,得到用户书写过程中多个位置点的坐标信息,再根据这些坐标信息还原用户的书写轨迹,在具体的应用中,图像修正装置可以通过数码笔来实现,如图1所示,所述方法包括:
步骤101,接收图像采集器发送的位置点的图像数据;
其中,点阵区域可以为具有点阵阵列的书写纸或电子白板。图2为本发明实施例提供的一种点阵区域的示意图,如图2所示,点阵阵列由一些非常细小的点,按照特殊算法规则排列组成。点阵通过特殊的编码方式代表着特殊的坐标信息,点阵的作用是提供坐标参数信息,保证笔尖在点阵纸上运动时,能够准确的记录运动轨迹。本领域技术人员可以根据识别装置的精度、处理能力对点阵阵列中点的大小以及点阵间距进行设计。
具体的,用户书写过程中,图像采集器采集所经过的点阵区域的多个位置点相对应的图像数据,多个位置点组成书写轨迹,其中,图像采集器可以是摄像头,摄像头每秒可采集70帧的图像数据。
步骤102,对图像数据进行二值化处理,得到第一点阵图像;
具体的,在像素值范围0-255内选择一个适当的像素值作为预设像素值,遍历整个图像的所有像素,将图像数据中每个像素的像素值与预设像素值进行对比,根据对比结果对图像数据中的每个像素进行赋值:大于预设像素值时,赋值为255,小于预设像素值时,赋值为0;将赋值为0的像素设定为黑色,将赋值为255的像素设定为白色,从而根据像素赋值对应的颜色生成第一点阵图像,这样无点阵的区域就变为白色,有点阵的区域就变为黑色,点阵由多个黑色像素点组成,点阵之间界限分明,除点阵的黑色像素外其它都是白色像素,进而去掉背景干扰,取前景图像。
步骤103,在第一点阵图像中截取第二点阵图像;
在一个具体的例子中,识别装置采集的原始图像较大,用于编码的图像不需要这么大,假如第一点阵图像的大小为200×200像素,而实际所需的图像大小为160×160像素,以10个像素为步长,则有5×5个160×160像素的第二点阵图像可供选择。
其中,本领域技术人员可以根据识别装置的处理能力和精度对步长、第一点阵图像的大小和第二点阵图像的大小进行设定。
步骤104,对第二点阵图像进行点阵识别处理,得到多个点阵点;
具体的,图像中的像素具有第一预设数量的邻域,比如4邻域或8邻域。对每个第二点阵图像进行点阵识别处理,具体的,识别第二点阵图像中每个像素,当像素的第一预设数量的邻域为黑色时,将像素标记为点阵点,从而得到第二点阵图像中的点阵点。其中,第一预设数量可以设置为8,也就是说,每个像素有8个领域,识别到黑色像素并且其8领域都是黑色,则此像素点可作为点阵点。
在此之后,所述方法还包括:对每个第二点阵图像中的点阵点数量进行加和,得到每个第二点阵图像中的点阵点数量。点阵图像的识别对点阵点的数量有一定的要求,点阵数量要在预设数量阈值范围内,比如至少需要120个点阵,不得多于140个点阵,则去掉截取到的点阵数量小于120个和大于140个的第二点阵图像,选取点阵数量在预设阈值范围内的第二点阵图像。其中,预设数量阈值范围是预先设定的,当某一第二点阵图像中识别到的点阵点数量小于预设数量阈值的下限说明截取到的该第二点阵图像画质不好,不能进行后续编码的识别;当某一第二点阵图像中识别到的点阵点数量大于预设阈值的上限说明截取到的该第二点阵图像画质可能存在很多噪点,从而增加了图像中点阵的数量,因此点阵点数量大于预设数量阈值的第二点阵图像也不能进行后续编码的识别,因此点阵点数量在预设数量阈值范围内的第二点阵图像说明此第二点阵图像的采集识别效果佳,可以作为备选的编码识别图像,然后再选择最接近第一点阵图像中心的第二点阵图像作为可识别矩阵,进行后续编码信息的识别。
在图像采集的过程中,由于补光效果或其他外界因素的影响,可能影响图像的采集效果,从而对点阵识别造成影响,造成识别到的点阵数量低于预设阈值范围的下限,因此在选取点阵点的数量在预设阈值范围内的第二点阵图像之前,方法还包括对第二点阵图像中的点阵点的数量进行排序,如果点阵点的数量最大值小于预设阈值范围的下限时,也就是说识别到的点阵点最多的第二点阵图像都不在预设阈值范围内,说明在图像数据采集时或者在图像数据进行二值化处理时可能存在不确定因素影响了图像数据的整体效果,在这种情况下识别装置自动将第二预设数量的邻域为黑色的像素标记为点阵点,从而增加识别到的点阵点数量,进行后续编码的识别,也就是说,在点阵识别过程中,如果点阵数量最多的第二点阵图像中的点阵数量小于预设阈值范围的下限,则重新识别点阵点,将第二预设数量的邻域为黑色的像素标记为点阵点,比如补充7邻域或6邻域都是黑色的像素点为点阵点,然后再选取最接近原始图像中心的第二点阵图像作为可识别矩阵。
需要说明的是,本领域技术人员可以根据需要对第二预设数量进行设定和调整,直到第二点阵图像中的点阵数量在预设阈值范围内。
步骤105,计算相邻点阵点之间的距离,并对计算得到的相邻点阵点之间的距离进行处理,得到间距距离;
具体的,遍历所选取的作为可识别矩阵的第二点阵图像中的每个点阵点,取相邻点阵点的距离,在得到的距离中去掉预设数量的最大值和最小值,从而去掉可能存在识别误差点阵点之间的距离,剩下的距离计算平均值,将该平均值作为间距距离,作为后续网格生成过程中的网格间距。
其中,在得到的距离中去掉最大值和最小值的预设数量可以根据计算得到的相邻点阵点之间距离的分布情况而定。在一个具体的例子中,可以将计算得到的相邻点阵点之间距离按照距离之差进行划分,距离之差小于一定值的划分为一组,从而将上述距离划分为多组,那么没有分到各组中的距离,即为分离出的几个最大值和最小值。
步骤106,选取相邻点阵点之间的距离在预设阈值范围内的点阵点作为特征点阵组;
其中,预设阈值是根据上述得到的间距距离和预设规则来设定的。
具体的,对相邻点阵点之间的距离小于间距距离的距离进行分组划分,距离之差小于一定值的划分为一组,从而得到多组距离,每组距离之间的差值在一定范围内,在多组距离之间选取距离最小的一组,将该组距离之间对应的点阵点作为特征点阵组,每组特征点阵组包括两个特征点阵点。
步骤107,将特征点阵组中的点阵点进行连线,并确定连线方向;
具体的,将得到的多组特征点阵组中的点阵点进行连线,每组特征点阵组中的点阵点的连线确定一个方向,多组特征点阵组中的点阵点的连线能确定多个方向,由于点阵点是按照特定规律排列的,因此这些方向要么平行要么垂直。
步骤108,选取第二点阵图像的中心点,根据间距距离和连线的方向生成网格;
具体的,获取作为可识别矩阵的第二点阵图像的中心点,并以此为中心,以间距距离为间距,沿多组特征点阵组中点阵点的连线方向和垂直连线方向生成多条网格线,网格线相交生成虚拟网格,具体如图3所示。
步骤109,根据点阵点偏移网格中心点的方向得到编码信息;
将每一个网格看作一个编码单元,在一个具体的例子中,如图4所示,提供了一种编码方式,将一个编码单元分成4个象限,根据点阵点偏移网格中心点的不同偏振方向赋二进制值,例如00、01、10、11表示四个方向,从而得到点阵点对应的编码值,进而得到整个第二点阵图像的编码信息。需要说明的是,本领域技术人员可根据需要对点偏移网格中心点的方向和距离,对编码方式进行设定。
为加快处理速度,根据点阵点偏移网格中心点的方向得到第二点阵图像中的编码信息具体包括:在第二点阵图像中随机选取第三点阵图像的点阵点,根据第三点阵图像中点阵点偏移网格中心点的方向得到相对应的编码信息。在一个具体的例子中,如图3所示,得到的第二点阵图像中包括8×8个点阵点,在8×8个点阵点随机选取6×6个点阵点,然后再根据第三点阵图像中这6×6个点阵点偏移网格中心点的方向进行编码,进而得到编码信息。
为保证最终得到位置坐标的准确性,在选取第三点阵图像之后,计算选取的第三点阵图像与第二点阵图像中心的偏移距离,具体的,第二点阵图像的点阵点颜色较深,其它地方颜色都很浅,可根据像素值得到每个点阵点的坐标,将6×6个点阵点的坐标与8×8个点阵点坐标进行匹配,坐标完全一致就是匹配成功,从而得到随机选取的第三点阵图像中心与第二点阵图像中心的偏移距离,根据随机选取的第三点阵图像中心与第二点阵图像中心的偏移距离对最终得到的位置坐标进行校正。
步骤110,判断编码信息与码本列表中的代码值是否匹配;
其中,码本列表中储存着代码值,代码值由多个编码序列组成。
具体的,将上述步骤109中得到编码信息与码本列表中的代码值进行匹配,并计算匹配度。
当匹配度到达预设匹配阈值时,比如95%,说明编码信息与码本列表中的代码值匹配,就认为匹配成功,具体的,当用户书写保持正确握笔姿势时,采集到的图像数据如图5所示,采集此图像时,图像采集器的方向与点阵区域的书写纸面的角度为垂直角度,此时解码得到的编码数据与码本列表中的代码值匹配成功,执行步骤112。
当匹配度没有到达预设匹配阈值时,比如95%,说明编码信息与码本列表中的代码值不匹配,就认为匹配失败,说明在图像采集过程中,由于用户握笔姿势的错误,导致图像采集器与点阵区域的书写纸面之间的角度发生旋转或倾斜,从而导致解码得到的编码数据与码本列表中的代码值不匹配,解码失败,此时需要通过角度迭代的方法对第一点阵图像进行修正,执行步骤111。
步骤111,根据预设步长数据和预设角度范围数据对第一点阵图像进行角度迭代处理,直至迭代修正后的第二点阵图像的编码信息与码本列表中的代码值相匹配;
角度迭代可以理解为在一定的角度范围内根据给定的单位步长,取两个方向上的角度对图像的像素点做偏移计算来修正图像。角度迭代处理包括旋转角度迭代处理和倾斜角度迭代处理。相应的,预设步长数据包括预设的旋转角度数据和预设的倾斜角度数据;预设角度范围数据包括用于第一范围和第二范围。
具体的,根据预设的旋转角度数据和第一范围对第一点阵图像进行旋转角度迭代处理,并且根据预设的倾斜角度数据以及第二范围或第三范围对第一点阵图像进行倾斜角度迭代处理,得到修正后的第一点阵图像。
进一步具体的,对第一点阵图像进行旋转角度迭代处理对应的是图像采集器与点阵区域的书写纸面之间发生旋转时的情况,此时图像如图6所示。结合图5、图6,可以看出图6中的第一点阵图像中的点阵点的排列方向,相比于图5中第一点阵图像中的点阵点的排列方向在水平方向上是成一定角度旋转了的,这时需要对图像进行旋转角度迭代处理。进行旋转角度迭代处理时,修正的是图像传感器相对于书写面的旋转方向。
在进行旋转角度迭代处理时,先获取预设的旋转角度数据,然后依次遍历第一点阵图像中的每个点阵点,根据预设的旋转角度数据在第一范围内对每个点阵点进行一次水平旋转处理。此一次水平旋转处理后的多个点阵点为下一次水平旋转处理的第一点阵图像中的每个点阵点。
在一个具体的例子中,预设的旋转角度数据为10°,第一范围为0°至180°,则处理器以10°为步长,从0°开始到180°,分别取10°……170°、180°对第一点阵图像进行迭代处理。每一次迭代过程为:选取第一图像数据中左上点阵点为原点,遍历每个点阵点,将每个点阵点在水平平面上顺时针旋转10°。
对第一点阵图像进行倾斜角度迭代处理对应的是图像采集器与点阵区域的书写纸面之间发生相对倾斜时的情况,此时得到的第一点阵图像如图7a或图7b所示。结合图5、图7a和图7b,可以看出图7a和图7b中的点阵点的排列方向,相比于图5中的点阵点的排列方向在垂直方向上是成一定角度倾斜了的,从而导致图7a和图7b中行与行之间点阵点的距离逐渐缩小或增大,这时需要对图像进行倾斜角度迭代处理。进行倾斜角度迭代处理时,修正的是图像传感器相对于书写面的倾斜方向。
在进行倾斜角度迭代处理时,先获取预设的倾斜角度数据,然后确定第一图像数据中每个点阵点数据之间的距离变化值是否为第一变化值。如图7a所示,当点阵点间在纵轴方向的距离从上到下逐渐减小时,点阵点之间的距离变化值为第一变化值。如图7b所示,当点阵点间在纵轴方向的距离从上到下逐渐增大时,点数据之间的距离变化值为第二变化值。这一过程可以理解为处理器通过点阵点间的距离变化判断图像是负角度倾斜还是正角度倾斜的过程。当图像是负角度倾斜时,点阵点间在纵轴方向的距离从上到下逐渐减小,当图像是正角度倾斜时,点阵点间在纵轴方向的距离从上到下逐渐增大。
当第一点阵图像中每个点阵点之间的距离变化值为第一变化值时,依次遍历第一点阵图像中的每个点阵点数据,根据预设的倾斜角度数据在第二范围内对每个点阵点进行垂直旋转处理。当第一点阵图像中每个点阵点之间的距离变化值不为第一变化值时,也是就是当第一点阵图像中每个点阵点之间的距离变化值为第二变化值时,依次遍历第一点阵图像中的每个点阵点,根据预设的倾斜角度数据在第三范围内对每个点阵点数据进行垂直旋转处理。此一次垂直旋转处理后的多个点阵点为下一次垂直旋转处理的第一点阵图像中的每个点阵点。
需要说明的是,第二范围和第三范围是受图像采集器的硬件条件限制的,图像采集器的硬件能接收的最大反向倾角度到0°是第二范围,最大正向倾角度到0°是第三范围,在用户使用数码笔进行书写时中,手持数码笔的倾角也是在这个角度范围内的。
在一个具体的例子中,预设的倾斜角度数据为2°,第二范围为-20°至0°,第三范围为0°至40°。如果第一点阵图像是负角度倾斜,也就是点阵点间在纵轴方向的距离从上到下逐渐减小时,则以2°为步长,从-20°开始到0°分别取-20°、-18°……-2°、0°对第一点阵图像进行迭代处理。如果图像是正角度倾斜,也就是点阵点间在纵轴方向的距离从上到下逐渐增大时,则以2°为步长,从0°开始到40°分别取2°、4°……40°对图像进行迭代。每一次迭代过程为:选取第一点阵图像中左上点阵点为原点,遍历每个点阵点,将每个点阵点在垂直平面上顺时针旋转2°。
在得到修正后的第一点阵图像之后,返回步骤103,从第一点阵图像中截取第二点阵图像,并继续对第二点阵图像解码处理,解码得到的编码信息执行步骤110,判断编码信息与码本列表中的代码值是否匹配,如果匹配执行步骤112,如果不匹配继续执行步骤111,也就是说,步骤103至步骤111是一个循环过程,直到迭代修正后的第二点阵图像的编码信息与码本列表中的代码值相匹配为止,这一过程可以理解为若对图像数据解码不成功,则对第一点阵图像进行迭代修正,直至第二点阵图像解码成功为止的过程。
步骤112,根据匹配得到代码值生成位置点的位置坐标。
将匹配的码本列表中的代码值转化成物理坐标,将物理坐标转化成目标点的应用坐标,其中,物理坐标由一个64位的x值和一个64位的y值组成,在整个点阵序列中具有唯一性。应用坐标是指根据物理坐标通过特定规则和算法转化得到,由一个64位字符类型的地址值、16位x值、16位的y值组成,通过地址和x、y就能定位到具体的某一页中的某一点。
在得到位置坐标之后,获取位置坐标的多个邻近位置点的代码值;根据多个邻近位置点的代码值更新所述码本列表,也就是说每次识别成功后,码本列表都会更新,从而进行下一次的匹配。
为了得到书写时笔尖的位置坐标,方法还包括对坐标信息进行校正,即在应用坐标的基础上加上偏移坐标,得到笔尖的坐标信息,其中偏移坐标是在笔使用之前得到的,具体的,获取图像中心点位置与笔尖位置的偏移量,然后将偏移量参数存入笔的flash中,在用户使用时,通过图像处理与计算得到图像中心点坐标后,从flash中读取偏移量,从而得到笔尖的坐标信息。进一步的,为提高笔迹还原的精度和准确性,通过第三点阵图像中心与第二点阵图像中心的偏移距离对一次修正后的位置坐标进行二次修正,从而保证最终得到的位置坐标的精度和准确性。
在此之后,将得到的多个位置点的位置坐标上传至上位机,上位机根据位置坐标生成书写轨迹,从而实现用户书写轨迹的还原、再现和电子化存储。
本发明实施例提供的一种图像修正方法,通过旋转和倾斜角度的迭代实现对点阵图像的修正,从而实现对握笔的姿势以及点阵基底的摆放的修正,提高解码的成功率,进而提高笔迹还原精准度。
相应的,图8为本发明实施例提供的一种图像修正装置的结构示意图,其中,为书写方便,图像修正装置可以制作成笔的形状,便于用户的手持书写,如图8所示,所述图像修正装置包括点阵识别单元2、编码单元3和译码单元4。
点阵识别单元2,用于接收图像采集器发送的位置点的图像数据。点阵识别单元2体用于将图像数据中每个像素的像素值与预设像素值进行对比;根据对比结果对图像数据中的每个像素进行赋值;根据每个像素的赋值得到第一点阵图像,再对图像数据进行二值化处理,得到第一点阵图像。
在优选的实施例中,图像修正装置还包括图像采集单元1,也就是说,在用户书写时,图像采集单元1对图像数据进行采集,然后将采集到的图像数据发送给点阵识别单元2。
编码单元3,用于在第一点阵图像中截取第二点阵图像;对第二点阵图像进行点阵识别处理,得到多个点阵点;计算相邻点阵点之间的距离,并对计算得到的相邻点阵点之间的距离进行处理,得到间距距离;选取相邻点阵点之间的距离在预设阈值范围内的点阵点作为特征点阵组;将特征点阵组中的点阵点进行连线,并确定连线方向;选取第二点阵图像的中心点,根据间距距离和连线的方向生成网格;根据点阵点偏移网格中心点的方向得到编码信息。
译码单元4,用于判断编码信息与码本列表中的代码值是否匹配;当编码信息与码本列表中的代码值不匹配时,根据预设步长数据和预设角度范围数据对第一点阵图像进行角度迭代处理,直至迭代修正后的第二点阵图像的编码信息与码本列表中的代码值相匹配;其中,角度迭代处理包括对第二点阵图像进行旋转角度迭代处理和倾斜角度迭代处理;当编码信息与码本列表中的代码值匹配时,根据匹配得到代码值生成位置点的位置坐标。
进一步的,译码单元4具体用于获取预设的旋转角度数据;依次遍历第一点阵图像中的每个点阵点,根据预设的旋转角度数据在第一范围内对每个点阵点进行一次或多次水平旋转处理。
更进一步的,译码单元4具体用于获取预设的倾斜角度数据;确定第一点阵图像中每个点阵点之间的距离变化;当距离变化为增大时,依次遍历第一点阵图像中的每个点阵点,根据预设的倾斜角度数据在第二范围内对每个点阵点进行一次或多次垂直旋转处理;当距离变化为减小时,依次遍历第一点阵图像中的每个点阵点,根据预设的倾斜角度数据在第三范围内对每个点阵点进行一次或多次垂直旋转处理。
优选的,装置还包括代码单元5,代码单元用于根据位置点的位置坐标,获取位置点相邻的多个位置点的代码值;根据相邻的多个位置点的代码值更新码本列表。
本发明实施例提供的图像修正装置的各个单元的具体工作过程与前述图像修正方法实施例一一对应,前述方法实施例中已经进行了详细阐述,此处不再赘述。
本发明实施例提供的一种图像修正装置,在图像数据采集的同时对图像数据进行处理,并且通过旋转和倾斜角度的迭代实现对点阵图像的修正,从而实现对握笔的姿势以及点阵基底的摆放的修正,提高解码的成功率,进而提高笔迹还原的速度和精准度。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RA图像修正方法)、内存、只读存储器(RO图像修正方法)、电可编程RO图像修正方法、电可擦除可编程RO图像修正方法、寄存器、硬盘、可移动磁盘、CD-RO图像修正方法、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图像修正方法,其特征在于,所述方法包括:
接收图像采集器发送的位置点的图像数据;
对所述图像数据进行二值化处理,得到第一点阵图像;
在所述第一点阵图像中截取第二点阵图像;
对所述第二点阵图像进行点阵识别处理,得到多个点阵点;
计算相邻点阵点之间的距离,并对所述计算得到的相邻点阵点之间的距离进行处理,得到间距距离;
选取所述相邻点阵点之间的距离在预设阈值范围内的点阵点作为特征点阵组;
将所述特征点阵组中的点阵点进行连线,并确定所述连线方向;
选取所述第二点阵图像的中心点,根据所述间距距离和所述连线的方向生成网格;
根据所述点阵点偏移网格中心点的方向得到编码信息;
判断所述编码信息与码本列表中的代码值是否匹配;
当所述编码信息与码本列表中的代码值不匹配时,根据预设步长数据和预设角度范围数据对所述第一点阵图像进行角度迭代处理,直至迭代修正后的第二点阵图像的编码信息与所述码本列表中的代码值相匹配;其中,所述角度迭代处理包括对所述第一点阵图像进行旋转角度迭代处理和倾斜角度迭代处理;
当所述编码信息与码本列表中的代码值匹配时,根据匹配得到代码值生成所述位置点的位置坐标。
2.根据权利要求1所述的图像修正方法,其特征在于,所述对所述第一点阵图像进行旋转角度迭代处理具体包括:
获取预设的旋转角度数据;
依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的旋转角度数据在第一范围内对每个所述点阵点进行一次或多次水平旋转处理。
3.根据权利要求1所述的图像修正方法,其特征在于,所述倾斜角度迭代处理具体包括:
获取预设的倾斜角度数据;
确定所述第一点阵图像中每个所述点阵点之间的距离变化;
当所述距离变化为增大时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第二范围内对每个所述点阵点进行一次或多次垂直旋转处理;
当所述距离变化为减小时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第三范围内对每个所述点阵点进行一次或多次垂直旋转处理。
4.根据权利要求1所述的图像修正方法,其特征在于,所述对所述图像数据进行二值化处理,得到第一点阵图像具体包括:
将所述图像数据中每个像素的像素值与所述预设像素值进行对比;
根据所述对比结果对所述图像数据中的每个像素进行赋值;
根据所述每个像素的赋值得到所述第一点阵图像。
5.根据权利要求1所述的图像修正方法,其特征在于,在所述根据匹配得到代码值生成位置点的位置坐标之后,所述方法还包括:
根据所述位置点的位置坐标,获取所述位置点相邻的多个位置点的代码值;
根据所述相邻的多个位置点的代码值更新所述码本列表。
6.一种图像修正装置,其特征在于,所述图像修正装置包括:
点阵识别单元,用于接收图像采集器发送的位置点的图像数据;对所述图像数据进行二值化处理,得到第一点阵图像;
编码单元,用于在所述第一点阵图像中截取第二点阵图像;对所述第二点阵图像进行点阵识别处理,得到多个点阵点;计算相邻点阵点之间的距离,并对所述计算得到的相邻点阵点之间的距离进行处理,得到间距距离;选取所述相邻点阵点之间的距离在预设阈值范围内的点阵点作为特征点阵组;将所述特征点阵组中的点阵点进行连线,并确定所述连线方向;选取所述第二点阵图像的中心点,根据所述间距距离和所述连线的方向生成网格;根据所述点阵点偏移所述网格中心点的方向得到编码信息;
译码单元,用于判断所述编码信息与码本列表中的代码值是否匹配;当所述编码信息与码本列表中的代码值不匹配时,根据预设步长数据和预设角度范围数据对所述第一点阵图像进行角度迭代处理,直至迭代修正后的第二点阵图像的编码信息与所述码本列表中的代码值相匹配;其中,所述角度迭代处理包括对所述第二点阵图像进行旋转角度迭代处理和倾斜角度迭代处理;当所述编码信息与码本列表中的代码值匹配时,根据匹配得到代码值生成位置点的位置坐标。
7.根据权利要求6所述的图像修正装置,其特征在于,所述译码单元具体用于:
获取预设的旋转角度数据;
依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的旋转角度数据在第一范围内对每个所述点阵点进行一次或多次水平旋转处理。
8.根据权利要求6所述的图像修正装置,其特征在于,所述译码单元具体用于:
获取预设的倾斜角度数据;
确定所述第一点阵图像中每个所述点阵点之间的距离变化;
当所述距离变化为增大时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第二范围内对每个所述点阵点进行一次或多次垂直旋转处理;
当所述距离变化为减小时,依次遍历所述第一点阵图像中的每个所述点阵点,根据所述预设的倾斜角度数据在第三范围内对每个所述点阵点进行一次或多次垂直旋转处理。
9.根据权利要求6所述的图像修正装置,其特征在于,所述点阵识别单元具体用于:
将所述图像数据中每个像素的像素值与所述预设像素值进行对比;
根据所述对比结果对所述图像数据中的每个像素进行赋值;
根据所述每个像素的赋值得到所述第一点阵图像。
10.根据权利要求6所述的图像修正装置,其特征在于,所述装置还包括代码单元,所述代码单元用于根据所述位置点的位置坐标,获取所述位置点相邻的多个位置点的代码值;根据所述相邻的多个位置点的代码值更新所述码本列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810401125.3A CN108596175A (zh) | 2018-04-28 | 2018-04-28 | 一种图像修正方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810401125.3A CN108596175A (zh) | 2018-04-28 | 2018-04-28 | 一种图像修正方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108596175A true CN108596175A (zh) | 2018-09-28 |
Family
ID=63619227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810401125.3A Withdrawn CN108596175A (zh) | 2018-04-28 | 2018-04-28 | 一种图像修正方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108596175A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110722903A (zh) * | 2019-11-08 | 2020-01-24 | 青岛罗博智慧教育技术有限公司 | 一种轨迹记录装置及轨迹记录方法 |
CN112540687A (zh) * | 2019-09-20 | 2021-03-23 | 北京万维智能技术有限公司 | 一种运动轨迹生成方法 |
CN112541378A (zh) * | 2019-09-20 | 2021-03-23 | 北京万维智能技术有限公司 | 一种图像拾取运动轨迹的生成方法 |
CN114707623A (zh) * | 2022-06-06 | 2022-07-05 | 青岛罗博科技有限公司 | 一种点阵码编码方法及编码装置 |
-
2018
- 2018-04-28 CN CN201810401125.3A patent/CN108596175A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540687A (zh) * | 2019-09-20 | 2021-03-23 | 北京万维智能技术有限公司 | 一种运动轨迹生成方法 |
CN112541378A (zh) * | 2019-09-20 | 2021-03-23 | 北京万维智能技术有限公司 | 一种图像拾取运动轨迹的生成方法 |
CN110722903A (zh) * | 2019-11-08 | 2020-01-24 | 青岛罗博智慧教育技术有限公司 | 一种轨迹记录装置及轨迹记录方法 |
CN114707623A (zh) * | 2022-06-06 | 2022-07-05 | 青岛罗博科技有限公司 | 一种点阵码编码方法及编码装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108596175A (zh) | 一种图像修正方法和装置 | |
CN108549879A (zh) | 一种点阵图像的处理方法 | |
JP6729868B2 (ja) | ドットマトリックス2次元コードの符号化および認識方法 | |
CN108573245A (zh) | 一种基于点阵图像的轨迹还原方法 | |
EP2849115B1 (en) | Method for decoding matrix-type two-dimensional code | |
US7580576B2 (en) | Stroke localization and binding to electronic document | |
CN104781834B (zh) | 二维码、二维码的生成系统以及分析程序 | |
JP5009326B2 (ja) | 2次元配列における復号およびエラー訂正の方法 | |
US6548768B1 (en) | Determination of a position code | |
US9898637B2 (en) | Two-dimensional code | |
US20030066896A1 (en) | Coding pattern | |
US5285291A (en) | Methods of assigning pixels to cells of a halftone grid | |
MXPA05000367A (es) | Analisis y colocacion de etiquetas en una imagen de un documento codificado por su posicion. | |
MXPA05000369A (es) | Aspecto mejorado de descodificacion de arreglo-m y correccion de error. | |
CN108710877A (zh) | 一种图像采集方法 | |
CN108647609A (zh) | 一种图像识别处理方法和系统 | |
CN110246079A (zh) | 基于b样条曲面拟合的摄像头畸变矫正方法、系统及介质 | |
CN106407973B (zh) | 标在柱面上的ar码的鲁棒识别方法 | |
CN107992869A (zh) | 用于倾斜文字校正的方法、装置及电子设备 | |
JP4282474B2 (ja) | データデコーディングの方法およびデバイス | |
CN108629308A (zh) | 一种基于点阵图像的轨迹生成方法 | |
JP2004536392A5 (zh) | ||
CN108647610A (zh) | 一种基于点阵图像采集的压力补偿方法 | |
CN108615038A (zh) | 一种图像识别方法 | |
AU2010257220B2 (en) | Data block offset encoding method for coordinates |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180928 |
|
WW01 | Invention patent application withdrawn after publication |