掌桥专利:专业的专利平台
掌桥专利
首页

一种基于ARM架构的图片二值化抗锯齿方法和装置

文献发布时间:2024-04-18 19:59:31


一种基于ARM架构的图片二值化抗锯齿方法和装置

技术领域

本发明涉及到图像处理技术领域,尤其涉及到一种基于ARM架构的图片二值化抗锯齿方法和装置。

背景技术

现有的图像处理算法,如:Floyd-steinberg抖动算法,其是一种广泛应用于图像二值化的传统方法,其核心思想在于通过将当前像素值与最近的调色板颜色进行比较,并将误差扩散到相邻像素,以减少锯齿效应。其中ARM架构在该算法中具有较高的计算并行性,从而能够有效加速误差扩散计算过程。

然而,上述算法也存在缺陷,如:1、计算复杂度高,Floyd-steinberg算法涉及到像素的误差扩散计算,这在大型图像上可能会导致较高的计算复杂度,即便ARM架构在并行计算方面具备优势,但在处理大尺寸图像时,仍可能需要更多的计算资源。2、锯齿效应的局限性,在某些情况下,仍可能产生部分锯齿或失真,特别是在图像包含细微纹理或高对比度区域时,算法很难取得较好的消除锯齿效果。

因此,亟需一种能够解决以上一种或多种问题的基于ARM架构的图片二值化抗锯齿方法和装置。

发明内容

为解决现有技术中存在的一种或多种问题,本发明提供了一种基于ARM架构的图片二值化抗锯齿方法和装置。本发明为解决上述问题采用的技术方案是:一种基于ARM架构的图片二值化抗锯齿方法,其包括:自适应阈值化处理,所述自适应阈值化处理包括:

S010,窗口定义,对载入的图像执行图像邻域窗口定义:在载入的图像上设定预设像素大小的图像邻域窗口;

S011,获取比较阈值,计算所述图像邻域窗口内的像素点的平均亮度值,并将此值作为当前所述图像邻域窗口自身的比较阈值;

S012,比较处理,将所述图像邻域窗口内的每一个像素点的亮度值与所述图像邻域窗口的比较阈值进行对比,若像素点的亮度值大于比较阈值,则此像素点的亮度值设定为255,反之此像素点的亮度值设定为0,处理后得到一个与所述图像邻域窗口对应的图像邻域窗口二值图像;

S013,窗口移动,移动所述图像邻域窗口;

S014,循环执行,在所述图像邻域窗口移动后重复执行S011-S013的步骤,直至所述图像邻域窗口的移动已经覆盖整个载入的图像或满足设定要求,将得到的所述图像邻域窗口二值图像拼合形成与载入的图像对应的输出二值图像。

在一些实施例中,还包括:多尺度处理,所述多尺度处理包括:

T010,高斯模糊处理,对载入图像进行不同尺度的高斯模糊处理,得到多张模糊图像;

T011,阈值化处理,对得到的多张所述模糊图像进行所述自适应阈值化处理,得到多张不同尺度的所述输出二值图像;

T012,还原处理,对得到的多张不同尺度的所述输出二值图像使用拉普拉斯算子还原对比度;

T013,替换合并,对图像中的细节区域进行替换处理,使用更低的所述对比度的细节区域替换更高的所述对比度的细节区域,并在替换完成后进行图像合并。

在一些实施例中,还包括:局部像素连接优化,根据需要对载入图像执行所述局部像素连接优化;

所述局部像素连接优化包括:P010,区域定义,设定每个像素的邻域区域的大小;

P011,区域计算,计算每个所述邻域区域内的各个像素的值,根据得到的各个所述像素的值进行权重公式计算,以获取中心像素的新值,将所述新值与原始的中心像素的值进行替换。

进一步地,所述局部像素连接优化结合ARM架构以执行并行计算优化,通过动态资源分配和调度策略,将处理器的计算资源分配到所述局部像素连接优化中不同的图像处理阶段。

在一些实施例中,还包括:预处理,对载入图像执行所述预处理;所述预处理包括以下的任意一种或多种:去噪和平滑处理,亮度和对比度调整,色彩校正,图像增强和图像尺寸调整。

以及一种装置,其包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述所述的基于ARM架构的图片二值化抗锯齿方法的计算机程序。

以及一种可读存储介质,所述存储介质存储有能够被处理器加载并执行的计算机程序,所述计算机程序为上述所述的基于ARM架构的图片二值化抗锯齿方法。

本发明取得的有益价值是:本发明通过将上述方法应用在使用ARM架构处理器的喷码机上,实现对打印图像的优化,以获取高质量的图像打印效果。通过采用上述的自适应阈值化处理,以根据图像局部特征动态调整二值化阈值,进而在不同的区域应用不同的二值化阈值,再结合上述的多尺度处理,以更好地保留图像细节,减少锯齿效应;通过采用上述的局部像素连接优化对多尺度处理前/后的图像进行处理,实现通过考虑图像中像素的空间关系和邻域信息,以更准确地计算像素值,从而减轻锯齿现象,实现对局部细节区域进行像素优化,使得数据模型能够取得更为平滑的过渡,以提高图像的整体一致性,并有效降低细节区域及连接区域的锯齿效应。

局部像素连接优化结合ARM架构以执行并行计算优化,通过动态资源分配和调度策略,将处理器的计算资源分配到所述局部像素连接优化中不同的图像处理阶段,进而有效地管理处理器的计算资源,实现在ARM架构上进行高效的图像抗锯齿处理,充分发挥嵌入式平台的潜力。

附图说明

图1为本发明的自适应阈值化处理的示意框图;

图2为本发明的多尺度处理的示意框图;

图3为本发明的局部像素连接优化的示意框图;

图4为本发明的实施流程示意图;

图5为本发明在喷码机上的执行示意流程图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加浅显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例限制。

如图1所示,本发明公开了一种基于ARM架构的图片二值化抗锯齿方法,其包括:自适应阈值化处理,所述自适应阈值化处理包括:

S010,窗口定义,对载入的图像执行图像邻域窗口定义:在载入的图像上设定预设像素大小的图像邻域窗口;

S011,获取比较阈值,计算所述图像邻域窗口内的像素点的平均亮度值,并将此值作为当前所述图像邻域窗口自身的比较阈值;

S012,比较处理,将所述图像邻域窗口内的每一个像素点的亮度值与所述图像邻域窗口的比较阈值进行对比,若像素点的亮度值大于比较阈值,则此像素点的亮度值设定为255,反之此像素点的亮度值设定为0,处理后得到一个与所述图像邻域窗口对应的图像邻域窗口二值图像;

S013,窗口移动,移动所述图像邻域窗口到其他位置,移动前的所述图像邻域窗口与移动后的所述图像邻域窗口可以是相邻的;

S014,循环执行,在所述图像邻域窗口移动后重复执行S011-S013的步骤,直至所述图像邻域窗口的移动已经覆盖整个载入的图像或满足设定要求,将得到的所述图像邻域窗口二值图像拼合形成与载入的图像对应的输出二值图像。

在S014中,所述图像邻域窗口的移动可以是覆盖整个载入的图像,也可以是覆盖设定要求中的部分区域,设定要求中的部分区域一般是细节区域。即所述图像邻域窗口的移动可以是覆盖全部区域,也可以是覆盖部分对应区域。

在实施时,所述图像邻域窗口可被定位为5*5、7*7等尺寸的像素窗口,再是,所述图像邻域窗口可定义多种尺寸以对应不同的区域。

具体地,结合图2所示,还包括:多尺度处理,所述多尺度处理包括:

T010,高斯模糊处理,对载入图像进行不同尺度的高斯模糊处理,得到多张模糊图像,即生成多张不同高斯模糊程度的图像;

T011,阈值化处理,对得到的多张所述模糊图像进行所述自适应阈值化处理,得到多张不同尺度的所述输出二值图像;

T012,还原处理,对得到的多张不同尺度的所述输出二值图像使用拉普拉斯算子还原对比度;

T013,替换合并,对图像中的细节区域进行替换处理,使用更低的所述对比度的细节区域替换更高的所述对比度的细节区域,并在替换完成后进行图像合并。

在T013中,细节区域可对应为多张所述输出二值图像中的所述图像邻域窗口每次移动时对应的区域和初始位置时对应的区域,也可为自定义尺寸的新的区域;由于多张所述输出二值图像是基于同一张载入图像生成的,其使用的所述图像邻域窗口尺寸,在通常情况下是一样大小的;在执行时,在多张所述输出二值图像中的相同的细节区域中,挑选出所述对比度最低的细节区域作为待合并的区域,然后重复挑选,待图像的所有细节区域或所有区域被挑选完毕后,将待合并的区域合并成一张新的二值图像。

例如,第一张所述输出二值图像对应有A1、B1、C1和D1的细节区域,第二张所述输出二值图像对应有A2、B2、C2和D2的细节区域,第三张所述输出二值图像对应有A3、B3、C3和D3的细节区域,对A1、A2和A3进行最低的所述对比度的挑选,同理,B1-B3,C1-C3,D1-D3也进行挑选,其中A区域挑选出A1(即A1替换掉A2、A3),B区域挑选出B3,C区域挑选出C3,D区域挑选出D2,则将A1、B3、C3、D2和不需要进行调整的区域进行合并,形成新的二值图像。

具体地,结合图3所示,还包括:局部像素连接优化,根据需要对载入图像执行所述局部像素连接优化;

所述局部像素连接优化包括:P010,区域定义,设定每个像素的邻域区域的大小,所述邻域区域的大小可为3*3或5*5;

P011,区域计算,计算每个所述邻域区域内的各个像素的值,根据得到的各个所述像素的值进行权重公式计算,以获取中心像素的新值,将所述新值与原始的中心像素的值进行替换。

再是,所述局部像素连接优化结合ARM架构以执行并行计算优化,通过动态资源分配和调度策略,将处理器的计算资源分配到所述局部像素连接优化中不同的图像处理阶段。如结合NEON指令集以执行动态资源分配和调度策略,以提高图像处理的效率。

需要说明的是,中心像素与周围像素的所述权重公式为:

其中,x为邻域像素的总个数,p

W

e^(-d^2/(2σ^2))为指数函数,随着d的增大,它的值将越小,并迅速趋于0,用于描述离中心点距离越远,权重越小的高斯分布概率;

1/2πσ^2为归一化因子,其使得所有邻域像素权重的总和为1。

具体地,结合图4所示,还包括:预处理,对载入图像执行所述预处理;所述预处理包括以下的任意一种或多种:去噪和平滑处理,亮度和对比度调整,色彩校正,图像增强和图像尺寸调整。

其中,所述去噪和平滑处理:采用高斯滤波器对图像进行平滑处理,以去除部分高频噪声。这有助于提高后续处理的准确性。

所述亮度和对比度调整:根据图像的直方图分布,对亮度和对比度进行适当的调整。确保图像中的细节在不同光照条件下都能清晰可见。

所述色彩校正:彩色图像可能受到色彩偏移或白平衡问题的影响。通过分析图像中的颜色分量,进行色彩校正,以确保图像色彩的准确性和一致性。

所述图像增强:应用直方图均衡化技术,对图像的灰度分布进行调整,以增强图像的对比度和视觉效果。

所述图像尺寸调整:在嵌入式系统中,为了节省计算资源,可能需要将图像调整到适当的尺寸。这可以通过图像插值技术来实现,以确保调整后的图像保持相对清晰。

以及一种装置,其包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述所述的基于ARM架构的图片二值化抗锯齿方法的计算机程序,所述装置可为使用ARM架构处理器的嵌入式装置,如:喷码机。

以及一种可读存储介质,所述存储介质存储有能够被处理器加载并执行的计算机程序,所述计算机程序为上述所述的基于ARM架构的图片二值化抗锯齿方法。

结合图4所示,在嵌入式设备中进行实施时,如在喷码机上进行实施时,本发明对应的流程是:1、依据载入的图像的原始信息,执行预处理;2、对预处理后输出的图像执行自适应阈值化,以得到对应的二值图像;3、对图像进行边缘检测与修复,以提高后续进行多尺度处理和平滑处理的效率和效果,在对载入的图像执行多尺度处理和平滑处理后,再根据需要对局部的细节区域执行局部像素连接优化,以显著减轻图像中的锯齿瑕疵;4、将处理完成的图像进行预览输出或进行打印输出。以实现提高二值图像打印效果的目的。

结合图5所示,在喷码机上执行本发明时,喷码机会对原始输入的彩图进行处理,并将处理后得到的二值图像进行显示预览,在得到可预览的二值图像后,用户可对二值图像进行打印前的编辑,在用户编辑完成后便可进行打印或直接打印,喷码机便会进入到等待打印的界面,随后喷码机打印出对应的二值图像。

综上所述,本发明通过将上述方法应用在使用ARM架构处理器的喷码机上,实现对打印图像的优化,以获取高质量的图像打印效果。通过采用上述的自适应阈值化处理,以根据图像局部特征动态调整二值化阈值,进而在不同的区域应用不同的二值化阈值,再结合上述的多尺度处理,以更好地保留图像细节,减少锯齿效应;通过采用上述的局部像素连接优化对多尺度处理前/后的图像进行处理,实现通过考虑图像中像素的空间关系和邻域信息,以更准确地计算像素值,从而减轻锯齿现象,实现对局部细节区域进行像素优化,使得数据模型能够取得更为平滑的过渡,以提高图像的整体一致性,并有效降低细节区域及连接区域的锯齿效应。

局部像素连接优化结合ARM架构以执行并行计算优化,通过动态资源分配和调度策略,将处理器的计算资源分配到所述局部像素连接优化中不同的图像处理阶段,进而有效地管理处理器的计算资源,实现在ARM架构上进行高效的图像抗锯齿处理,充分发挥嵌入式平台的潜力。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

以上所述的实施例仅表达了本发明的一种或多种实施方式,其描述较为具体和详细,但并不能因此理解为对本发明专利的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明的构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。

技术分类

06120116516102