CN110475041B - 一种灰度图像处理方法、装置及打印机 - Google Patents
一种灰度图像处理方法、装置及打印机 Download PDFInfo
- Publication number
- CN110475041B CN110475041B CN201910579496.5A CN201910579496A CN110475041B CN 110475041 B CN110475041 B CN 110475041B CN 201910579496 A CN201910579496 A CN 201910579496A CN 110475041 B CN110475041 B CN 110475041B
- Authority
- CN
- China
- Prior art keywords
- gray
- value
- output
- output gray
- pixel point
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/52—Circuits or arrangements for halftone screening
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/58—Edge or detail enhancement; Noise or error suppression, e.g. colour misregistration correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/56—Processing of colour picture signals
- H04N1/60—Colour correction or control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
- Color, Gradation (AREA)
Abstract
本发明提供了一种灰度图像处理方法、装置及打印机,方法包括:获取当前像素点的实际灰度值;根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数;根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值;根据所述实际灰度值以及所述输出灰度值,生成扩散误差值;根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上;以及在遍历待处理的灰度图像上的每个像素点后,将每个像素点的输出灰度值转化为对应的输出灰度等级,以获得输出灰度图像。基于本发明,能缩小实际图像与打印图像直接的差距,提高打印效果。
Description
技术领域
本发明涉及图像处理领域,具体而言,涉及一种灰度图像处理方法、装置及打印机。
背景技术
一般数字打印机或者印刷机只有有限的几种色调,因此要想打印出连续色调的效果都会采用半色调技术。
半色调技术是指用有限的颜色将一幅连续色调图像(如灰度图像和彩色图像)量化为一幅二值图像或是只有少数几种色彩的彩色图像,并且量化后图像在一定距离的视觉效果和原始图像接近的技术。数字半色调是利用人眼的低通特性,当在一定距离下观察时,人眼将图像中空间上接近的部分视为一个整体。利用这个特性,人眼观察到的半色调图像局部的整体灰度近似于原始图像的局部平均灰度值,从而整体上形成连续色调的效果。
根据半色调的应用领域和不同特征,人们先后研究出许多半色调算法。目前最普遍的分类法是按照它的处理方式分为:抖动法,误差扩散法,迭代法三大类。
抖动法是利用数字方式模拟传统的加网过程,该算法将输入的图像和一个阈值矩阵(或者加网矩阵,通常为方阵)进行比较,从而将灰度图像转为二值图像。抖动算法比较简单,且具有较好的半色调图像质量,但其也具有致命的缺点,即含有明显的周期性人工纹理。且矩阵本身有一定宽度,数据分配到矩阵边界时与相邻的矩阵容易产生较大的空白区域。这种算法再现图像色调变化不够柔和。
误差扩散法的原理是采用自上而下、从左至右顺序,将灰度图像当前的像素值与一个阈值相比较,得到二值输出,然后将量化后的图像与连续调的图像的误差扩散到领域,使得误差能够保留下来。误差扩散算法输出的图片存在轮廓效应和人工纹理主要出现在某些中间调的平缓过渡区域,产生的原因是算法在生成半色调图像时,当输入图像的灰度与输出的图像灰度接近时,误差很小,误差扩散的调制效应减弱,此时就会产生人眼能识别到的轮廓效应和人工纹理
迭代法是一种搜索的方法,其思想是通过最小化原图像与半色调图像的误差来寻找最佳的二值输出。由这种算法得到的半色调图像质量较好。但其计算量大,很难应用到实际生产中。
综上,目前而言,误差扩散法是目前较常使用的半色调算法。
发明内容
发明人在实用误差扩散法的过程中发现,现实中很多打印设备的输出灰度等级并不是连续的,如果按照典型量化公式进行连续均匀的量化,则量化得到的数据不能真实体现打印设备灰度等级间差异,打印出的图像与实际图像差距很大。
有鉴于此,本发明实施例的目的在于提供一种灰度图像处理方法、装置及打印机,能缩小打印出的图像与实际图像的差距。
本发明实施例提供了一种灰度图像处理方法,包括:
重复以下步骤直至遍历待处理的灰度图像上的每个像素点:
获取当前像素点的实际灰度值;其中,所述实际灰度值根据所述像素点的初始灰度值以及由其他像素点通过误差扩散分配的扩散灰度值生成;
根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数;其中,所述输出灰度等级集合包括所述打印机能输出的所有灰度等级;
根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值;
根据所述实际灰度值以及所述输出灰度值,生成扩散误差值;
根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上;以及
在遍历待处理的灰度图像上的每个像素点后,将每个像素点的输出灰度值转化为对应的输出灰度等级,以获得输出灰度图像。
优选地,在获取当前像素点的实际灰度值之前,还包括:
对彩色图像,将其每个像素点的RGB值转换为CMYK值,以获得待处理的灰度图像。
优选地,设输出灰度等级集合内的输出灰度等级的个数为D个,且第i个输出灰度等级表示为Oi-1;
则所述根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数,具体包括:
根据所述灰度图像的位数,获取所述灰度图像的灰度上限Z,其中,Z=2n-1,n为图像的位数;
获取当前打印机的输出灰度等级集合内的最大输出灰度等级OD-1;
根据所述灰度上限Z以及最大输出灰度等级OD-1获得量化系数k;其中,k=Z/OD-1。
优选地,所述根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值具体为:
根据所述量化系数以及所述输出灰度等级集合内的输出灰度等级生成量化区间;其中,每个量化区间的上下限根据量化系数以及两个相邻的输出灰度等级生成;
根据所述量化区间,获取与每个量化区间对应的输出灰度值。
优选地,输出灰度值通过如下式子获得:
其中,Out(m,n)为坐标为(m,n)的当前像素点的输出灰度值,A(m,n)为当前像素点的实际灰度值。
优选地,设当前像素点的位置为(m,n);
则根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上,具体为:
将所述扩散误差值按顺序循环分配到位置为(m+1,n),(m,n+1),(m+1,n+1),(m-1,n+1)的四个像素点上直至所述扩散误差值为零;其中,每次分配预定的扩散误差值,且分配过程中每个像素点的灰度值不能超过灰度值上限或者低于灰度值下限。
优选地,所述误差扩散值Err(m,n)=[A(m,n)-Out(m,n)];其中,[A(m,n)-Out(m,n)]表示对A(m,n)-Out(m,n)取整,且当所述误差扩散值为正数时,每次分配一点扩散误差值;当所述误差扩散值为负数时,每次分配负一点扩散误差值。
优选地,所述根据每个像素点的输出灰度值获得量化灰度图像,具体为:
获取每个像素点的输出灰度值;
根据所述输出灰度值与所述输出灰度等级集合内的输出灰度等级的映射关系,确定与所述输出灰度值对应的输出灰度等级,从而确定每个像素点的输出灰度等级;
根据每个像素点的输出灰度等级,获得输出灰度图像。
本发明实施例还提供了一种灰度图像处理装置,包括:
实际灰度值获取单元,用于获取当前像素点的实际灰度值;其中,所述实际灰度值根据所述像素点的初始灰度值以及由其他像素点通过误差扩散分配的扩散灰度值生成;
量化系数计算单元,用于根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数;其中,所述输出灰度等级集合包括所述打印机能输出的所有灰度等级;
输出灰度值计算单元,用于根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值;
扩散误差值生成单元,用于根据所述实际灰度值以及所述输出灰度值,生成扩散误差值;
扩散分配单元,用于根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上;以及
输出灰度图像生成单元,用于在遍历待处理的灰度图像上的每个像素点后,将每个像素点的输出灰度值转化为对应的输出灰度等级,以获得输出灰度图像。
本发明实施例还提供了一种打印机,包括存储器以及处理器,所述存储器内存储有可执行代码,所述可执行代码能够被所述处理器执行,以实现如上述的灰度图像处理方法。
上述实施例中,根据打印机的输出灰度等级集合生成量化系数,再根据量化系数以及输出灰度等级集合来生成量化区间,当打印机的输出灰度等级集合是非均匀时,量化区间也是非均分的,与打印机的非连续的输出灰度等级一一对应,因而更加准确的表示实际图像,进而缩小打印出的图像与实际图像差距。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明第一实施例提供的灰度图像处理方法的流程示意图。
图2是采用Floyd-Steinberg误差扩散生成的量化灰度图。
图3是本发明实施例生成的量化灰度图。
图4是本发明实施例进行误差扩散的流程示意图。
图5是本发明第一实施例提供的灰度图像处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,本发明第一实施例提供了一种灰度图像处理方法,其可由灰度图像处理设备来执行,特别的,由灰度图像处理设备内的至少一个处理器执行,其至少包括如下步骤:
重复步骤S101~S104直至遍历待处理的灰度图像上的每个像素点:
S101,获取当前像素点的实际灰度值;其中,所述实际灰度值根据所述像素点的初始灰度值以及由其他像素点通过误差扩散分配的扩散灰度值生成。
在本实施例中,所述灰度图像处理设备可为打印机,特别的,为喷墨打印机。
在本实施例中,打印机在打印前,需先获得待打印的图像,其中,如果所述图像为灰度图像,则该灰度图像即为待处理的灰度图像。如果所述图像为彩色图像,则先需将其转化为灰度图像,例如,可通过将该彩色图像的每个像素点的RGB值转换为CMYK值,从而获得与该彩色图像对应的灰度图像。
其中,理想状态下,可通过如下公式将RGB转为CMYK:
c'=255-r;
m'=255-g;
y'=255-b;
k=min(c',m',y');
c=c'-k;
m=m'-k;
y=y'-k。
在本实施例中,在获得所述灰度图像后,需依次对所述灰度图像的每个像素点进行处理,以获得每个像素点对应的输出灰度值。其中,所述实际灰度值根据所述像素点的初始灰度值以及由其他像素点通过误差扩散分配的扩散灰度值生成。例如,假设当前像素点的初始灰度值为10,而通过其他像素点误差扩散分配的扩散灰度值为5,则所述像素点的实际灰度值为15。
需要说明的是,扩散灰度值一般是由多个像素点共同扩散得到的,且对于所述灰度图像的第一个像素点,其扩散灰度值为零,即其实际灰度值等于其初始灰度值。
S102,根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数;其中,所述输出灰度等级集合包括所述打印机能输出的所有灰度等级。
具体地,在本实施例中,步骤S102可包括:
S1021,根据所述灰度图像的位数,获取所述灰度图像的灰度上限Z,其中,Z=2n-1,n为图像的位数。
在本实施例中,例如,对于一个8位表示的灰度图像,其灰度上限Z=28-1=255。
S1022,获取当前打印机的输出灰度等级集合内的最大输出灰度等级。
在本实施例中,所述输出灰度等级是打印机的自身属性,其决定了该打印机的灰度输出等级以及每个等级的打印灰度值。
例如,假设一种情况下,所述输出灰度等级集合为(0、5、7、12、18、26),则表明该打印机有6个输出灰度等级,其中,不同的数值代表不同的喷墨量,显然,数值越大,喷墨量也越大,对应的灰度值也更高,一般而言,输出灰度等级集合内的输出灰度等级是按照从小到大进行排序的。
在本实施例中,设输出灰度等级集合内的输出灰度等级的个数为D个,且第i个输出灰度等级表示为Oi-1,则显然,最后一个也就是最大的输出灰度等级表示为OD-1。
S1023,根据所述灰度上限Z以及最大输出灰度等级OD-1获得量化系数k;其中,k=Z/OD-1。
以上述为例,此时,量化系数k=255/26=9.8076923077,为方便,本实施例保留两位小数,取k=9.8。
S103,根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值。
具体地:
首先,根据所述量化系数以及所述输出灰度等级集合内的输出灰度等级生成量化区间;其中,每个量化区间的上下限根据量化系数以及两个相邻的输出灰度等级生成;
然后,根据所述量化区间,获取与每个量化区间对应的输出灰度值。为便于对本发明的理解,设输出灰度等级集合内的输出灰度等级的个数为D个,且第i个输出灰度等级表示为Oi-1,则输出灰度值通过如下式子获得:
其中,Out(m,n)为坐标为(m,n)的当前像素点的输出灰度值,A(m,n)为当前像素点的实际灰度值。
将(0、5、7、12、18、26)代入到上式中,则可得到:
可以看出,所述量化区间与所述打印机的输出灰度等级集合具有相同的分布特性,如果所述打印机的输出灰度等级是非均匀分布的,则所述量化区间也是非均匀分布的。
S104,根据所述实际灰度值以及所述输出灰度值,生成扩散误差值。
其中,所述扩散误差值可由所述实际灰度值减去所述输出灰度值后取整获得。
即所述误差扩散值Err(m,n)=[A(m,n)-Out(m,n)];其中,[A(m,n)-Out(m,n)]表示对A(m,n)-Out(m,n)取整。
S105,根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上。
在本实施例中,在进行扩散误差值分配时,通常是通过误差扩散模板(或者误差扩散矩阵)进行分配的,对于误差扩散模板,其会定义向哪些像素点分配扩散误差值以及分配多少比例的扩散误差值。
现有技术中,常见的误差扩散模板是将误差扩散值可以3:2:3的比例分配到该像素点的右边、右下、下边的三个像素点上。也有将误差扩散值按照7:3:5:1的比例分配到该像素点的右边、左下、右下、下边的四个像素点上,具体可视实际情况而定。
S106,在遍历待处理的灰度图像上的每个像素点后,将每个像素点的输出灰度值转化为对应的输出灰度等级,以获得输出灰度图像。
在本实施例中,在获得每个像素点的输出灰度值后,即可以根据所述输出灰度值与所述输出灰度等级集合内的输出灰度等级的映射关系,确定与所述输出灰度值对应的输出灰度等级,从而确定每个像素点的输出灰度等级;再根据每个像素点的输出灰度等级,获得量化灰度图像。
其中,以上述例子为例,当所述输出灰度等级集合为(0、5、7、12、18、26)时,则输出灰度值0对应的输出灰度等级为0,输出灰度值49对应的输出灰度等级为5,输出灰度值69对应的输出灰度等级为7,输出灰度值118对应的输出灰度等级为12,输出灰度值177对应的输出灰度等级为18,输出灰度值255对应的输出灰度等级为26,即将输出灰度值除以量化系数就可获得对应的输出灰度等级。
当然,应当理解的是,这个映射关系是根据输出灰度等级集合生成的,不同的输出灰度等级集合有不同的映射关系,但输出灰度等级集合内的每个输出灰度等级都唯一对应有一个输出灰度值。
综上,本实施例中,根据打印机的输出灰度等级集合生成量化系数,再根据量化系数以及输出灰度等级集合来生成量化区间,当打印机的输出灰度等级集合是非均匀时,量化区间也是非均分的,与打印机的非连续的输出灰度等级一一对应,因而更加准确的表示实际图像,进而缩小打印出的图像与实际图像差距。
在上述实施例的基础上,在本发明的一个优选实施例中,设当前像素点的位置为(m,n);
则步骤S104具体为:
将所述扩散误差值按顺序循环分配到位置为(m+1,n),(m,n+1),(m+1,n+1),(m-1,n+1)的四个像素点上直至所述扩散误差值为零;其中,每次分配预定的扩散误差值,且分配过程中每个像素点的灰度值不能超过灰度值上限或者低于灰度值下限。
现有技术中,例如,Floyd-Steinberg误差扩散模板,采用的是将误差扩散值分配到不同区域的权重不一致,因此误差会向一个方向聚集,导致误差有规则排列,表现到图像数据上是在图像内部容易出现有规则的竖向条纹(如图2所示)。
为此,在本实施例中,采用了平均分配的方法来分配扩散误差值,使得误差能最好地体现到周围,使中间调过渡更平滑,减少图像内部伪轮廓(如图3所示)。
具体地,如图4所示,在本实施例中,会将扩散误差值分配到位置为(m+1,n),(m,n+1),(m+1,n+1),(m-1,n+1)的四个像素点(即右、下、右下、左下的像素点)上。在分配时,先向位置为(m+1,n)分配预定的扩散误差值,再依次向(m,n+1),(m+1,n+1),(m-1,n+1)分配预定的扩散误差值直至扩散误差值为0,例如,如果误差扩散值为16,则正常情况下是向四个像素点均分配4个点的误差扩散值,如果误差扩散值为15,则正常情况下是向前三个像素点均分配4个点的误差扩散值,向最后一个像素点(m-1,n+1)分配3个点的误差扩散值。但需注意的是,在分配时,如果确定分配后像素点的灰度值超过255(对于图像位数为8位的情况)或者低于0,则将停止向该像素点分配误差扩散值,而将误差扩散值分配到其他像素点上。
当然,需要说明的是,在本发明的其他实施例中,也可更改分配的顺序,如分配顺序改为右、右下、下、左下或者修改为右、左下、下、右下等,这些方案均在本发明的保护范围之内。
综上,基于本实施例的误差扩散模板,相比传统的Floyd-Steinberg误差扩散模板,由于采用平均分配,误差能最好地体现到周围,使中间调过渡更平滑,减少图像内部伪轮廓。
优选的,当所述误差扩散值为正数时,每次分配一点扩散误差值;当所述误差扩散值为负数时,每次分配负一点扩散误差值。
在上位机软件领域,由于计算机硬件技术的高速发展,硬件资源十分丰富,软件开发过程不必过多考虑效率问题。而在嵌入式软件领域,由于应用环境限制,硬件资源仍然受限,对于不具备硬件浮点运算的处理器来说,浮点运算只能靠编译器软实现,需要耗费数千个指令周期才能执行完毕,因此特别缓慢。即使处理器带有硬件浮点数运算部件,一般内核还是要避免直接进行浮点数运算,因为这些部件有可能被用户进程占用了,内核要判断这些浮点数部件是否被占用,保护现场,然后用浮点运算部件计算结果,恢复现场,开销会很大。本方案采用定点数和整数分配,大大提高运算速度,降低对硬件的要求。
本发明第二实施例还提供了一种灰度图像处理装置,包括:
实际灰度值获取单元210,用于获取当前像素点的实际灰度值;其中,所述实际灰度值根据所述像素点的初始灰度值以及由其他像素点通过误差扩散分配的扩散灰度值生成;
量化系数计算单元220,用于根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数;其中,所述输出灰度等级集合包括所述打印机能输出的所有灰度等级;
输出灰度值计算单元230,用于根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值;
扩散误差值生成单元240,用于根据所述实际灰度值以及所述输出灰度值,生成扩散误差值;
扩散分配单元250,用于根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上;以及
输出灰度图像生成单元260,用于在遍历待处理的灰度图像上的每个像素点后,将每个像素点的输出灰度值转化为对应的输出灰度等级,以获得输出灰度图像。
优选地,还包括:
转换单元,用于对彩色图像,将其每个像素点的RGB值转换为CMYK值,以获得待处理的灰度图像。
优选地,设输出灰度等级集合内的输出灰度等级的个数为D个,且第i个输出灰度等级表示为Oi-1;
则所述量化系数计算单元220具体包括:
灰度上限获取模块,用于根据所述灰度图像的位数,获取所述灰度图像的灰度上限Z,其中,Z=2n-1,n为图像的位数;
最大输出灰度等级获取模块,用于获取当前打印机的输出灰度等级集合内的最大输出灰度等级OD-1;
量化系数计算模块,用于根据所述灰度上限Z以及最大输出灰度等级OD-1获得量化系数k;其中,k=Z/OD-1。
优选地,所述输出灰度值计算单元具体包括:
量化区间生成模块,用于根据所述量化系数以及所述输出灰度等级集合内的输出灰度等级生成量化区间;其中,每个量化区间的上下限根据量化系数以及两个相邻的输出灰度等级生成;
输出灰度值获取模块,用于根据所述量化区间,获取与每个量化区间对应的输出灰度值。
优选地,输出灰度值通过如下式子获得:
其中,Out(m,n)为坐标为(m,n)的当前像素点的输出灰度值,A(m,n)为当前像素点的实际灰度值。
优选地,设当前像素点的位置为(m,n);
则扩散误差值生成单元240具体用于:
将所述扩散误差值按顺序循环分配到位置为(m+1,n),(m,n+1),(m+1,n+1),(m-1,n+1)的四个像素点上直至所述扩散误差值为零;其中,每次分配预定的扩散误差值,且分配过程中每个像素点的灰度值不能超过灰度值上限或者低于灰度值下限。
优选地,所述误差扩散值Err(m,n)=[A(m,n)-Out(m,n)];其中,[A(m,n)-Out(m,n)]表示对A(m,n)-Out(m,n)取整,且当所述误差扩散值为正数时,每次分配一点扩散误差值;当所述误差扩散值为负数时,每次分配负一点扩散误差值。
优选地,所述输出灰度图像生成单元260具体包括:
输出灰度值获取模块,用于获取每个像素点的输出灰度值;
映射模块,用于根据所述输出灰度值与所述输出灰度等级集合内的输出灰度等级的映射关系,确定与所述输出灰度值对应的输出灰度等级,从而确定每个像素点的输出灰度等级;
输出灰度图像获取模块,用于根据每个像素点的输出灰度等级,获得输出灰度图像。
本发明第三实施例还提供了一种打印机,包括存储器以及处理器,所述存储器内存储有可执行代码,所述可执行代码能够被所述处理器执行,以实现如上述的灰度图像处理方法
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种灰度图像处理方法,其特征在于,包括:
重复以下步骤直至遍历待处理的灰度图像上的每个像素点:
获取当前像素点的实际灰度值;其中,所述实际灰度值根据所述像素点的初始灰度值以及由其他像素点通过误差扩散分配的扩散灰度值生成;
根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数;其中,所述输出灰度等级集合包括所述打印机能输出的所有灰度等级;
根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值;其中,具体地,根据所述量化系数以及所述输出灰度等级集合内的输出灰度等级生成量化区间;根据所述量化区间,获取与每个量化区间对应的输出灰度值;所述量化区间与所述输出灰度等级集合具有相同的分布特性;
根据所述实际灰度值以及所述输出灰度值,生成扩散误差值;
根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上;以及
在遍历待处理的灰度图像上的每个像素点后,将每个像素点的输出灰度值转化为对应的输出灰度等级,以获得输出灰度图像。
2.根据权利要求1所述的灰度图像处理方法,其特征在于,在获取当前像素点的实际灰度值之前,还包括:
对彩色图像,将其每个像素点的RGB值转换为CMYK值,以获得待处理的灰度图像。
3.根据权利要求1所述的灰度图像处理方法,其特征在于,设输出灰度等级集合内的输出灰度等级的个数为D个,且第i个输出灰度等级表示为Oi-1;
则所述根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数,具体包括:
根据所述灰度图像的位数,获取所述灰度图像的灰度上限Z,其中,Z=2n-1,n为图像的位数;
获取当前打印机的输出灰度等级集合内的最大输出灰度等级OD-1;
根据所述灰度上限Z以及最大输出灰度等级OD-1获得量化系数k;其中,k=Z/OD-1。
4.根据权利要求3所述的灰度图像处理方法,其特征在于,
每个量化区间的上下限根据量化系数以及两个相邻的输出灰度等级生成。
6.根据权利要求5所述的灰度图像处理方法,其特征在于,设当前像素点的位置为(m,n);
则根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上,具体为:
将所述扩散误差值按顺序循环分配到位置为(m+1,n),(m,n+1),(m+1,n+1),(m-1,n+1)的四个像素点上直至所述扩散误差值为零;其中,每次分配预定的扩散误差值,且分配过程中每个像素点的灰度值不能超过灰度值上限或者低于灰度值下限。
7.根据权利要求6所述的灰度图像处理方法,其特征在于,所述误差扩散值Err(m,n)=[A(m,n)-Out(m,n)];其中,[A(m,n)-Out(m,n)]表示对A(m,n)-Out(m,n)取整,且当所述误差扩散值为正数时,每次分配一点扩散误差值;当所述误差扩散值为负数时,每次分配负一点扩散误差值。
8.根据权利要求1所述的灰度图像处理方法,其特征在于,根据每个像素点的输出灰度值获得量化灰度图像,具体为:
获取每个像素点的输出灰度值;
根据所述输出灰度值与所述输出灰度等级集合内的输出灰度等级的映射关系,确定与所述输出灰度值对应的输出灰度等级,从而确定每个像素点的输出灰度等级;
根据每个像素点的输出灰度等级,获得输出灰度图像。
9.一种灰度图像处理装置,其特征在于,包括:
实际灰度值获取单元,用于获取当前像素点的实际灰度值;其中,所述实际灰度值根据所述像素点的初始灰度值以及由其他像素点通过误差扩散分配的扩散灰度值生成;
量化系数计算单元,用于根据所述灰度图像的位数以及当前打印机的输出灰度等级集合确定量化系数;其中,所述输出灰度等级集合包括所述打印机能输出的所有灰度等级;
输出灰度值计算单元,用于根据所述量化系数、所述输出灰度等级集合以及所述实际灰度值,获得当前像素点的输出灰度值;其中,具体地,根据所述量化系数以及所述输出灰度等级集合内的输出灰度等级生成量化区间;根据所述量化区间,获取与每个量化区间对应的输出灰度值;所述量化区间与所述输出灰度等级集合具有相同的分布特性;
扩散误差值生成单元,用于根据所述实际灰度值以及所述输出灰度值,生成扩散误差值;
扩散分配单元,用于根据预设的误差扩散模板将所述扩散误差值分配到与当前像素点临近的预设的像素点上;以及
输出灰度图像生成单元,用于在遍历待处理的灰度图像上的每个像素点后,将每个像素点的输出灰度值转化为对应的输出灰度等级,以获得输出灰度图像。
10.一种打印机,其特征在于,包括存储器以及处理器,所述存储器内存储有可执行代码,所述可执行代码能够被所述处理器执行,以实现如权利要求1至8任意一项所述的灰度图像处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579496.5A CN110475041B (zh) | 2019-06-28 | 2019-06-28 | 一种灰度图像处理方法、装置及打印机 |
CN202010614526.4A CN111901497B (zh) | 2019-06-28 | 2019-06-28 | 一种灰度图像处理方法、装置及打印机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910579496.5A CN110475041B (zh) | 2019-06-28 | 2019-06-28 | 一种灰度图像处理方法、装置及打印机 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010614526.4A Division CN111901497B (zh) | 2019-06-28 | 2019-06-28 | 一种灰度图像处理方法、装置及打印机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110475041A CN110475041A (zh) | 2019-11-19 |
CN110475041B true CN110475041B (zh) | 2021-11-02 |
Family
ID=68507065
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910579496.5A Active CN110475041B (zh) | 2019-06-28 | 2019-06-28 | 一种灰度图像处理方法、装置及打印机 |
CN202010614526.4A Active CN111901497B (zh) | 2019-06-28 | 2019-06-28 | 一种灰度图像处理方法、装置及打印机 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010614526.4A Active CN111901497B (zh) | 2019-06-28 | 2019-06-28 | 一种灰度图像处理方法、装置及打印机 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110475041B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111563517B (zh) * | 2020-04-20 | 2023-07-04 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN112558892B (zh) * | 2020-12-22 | 2022-06-14 | 厦门喵宝科技有限公司 | 一种便携式智能打印装置及控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0887998B1 (en) * | 1997-06-23 | 2003-02-05 | Hewlett-Packard Company, A Delaware Corporation | Correlating cyan and magenta planes for error diffusion halftoning |
CN101404713A (zh) * | 2007-09-14 | 2009-04-08 | 株式会社理光 | 图像处理设备、图像记录设备、程序、及记录介质 |
CN102346849A (zh) * | 2010-07-26 | 2012-02-08 | 佳能株式会社 | 图像处理设备和图像处理方法 |
CN103402042A (zh) * | 2013-07-31 | 2013-11-20 | 浙江大学 | 基于分块式误差扩散的半色调图像生成方法 |
CN103957343A (zh) * | 2014-04-22 | 2014-07-30 | 杭州电子科技大学 | 一种彩色误差扩散方法 |
CN106651816A (zh) * | 2016-12-30 | 2017-05-10 | 首都师范大学 | 数字图像的半色调处理方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006020019A (ja) * | 2004-07-01 | 2006-01-19 | Seiko Epson Corp | 画像処理装置、画像処理方法、及びプログラム |
JP2010016698A (ja) * | 2008-07-04 | 2010-01-21 | Canon Inc | 拡散係数を決定する方法、情報処理装置、及びプログラム |
US9215345B2 (en) * | 2013-03-26 | 2015-12-15 | Xerox Corporation | Method and system for inverse halftoning utilizing inverse projection of predicted errors |
CN108810314A (zh) * | 2018-06-11 | 2018-11-13 | 昆明理工大学 | 基于多灰度图像边缘增强的无序误差扩散数字半色调方法 |
-
2019
- 2019-06-28 CN CN201910579496.5A patent/CN110475041B/zh active Active
- 2019-06-28 CN CN202010614526.4A patent/CN111901497B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0887998B1 (en) * | 1997-06-23 | 2003-02-05 | Hewlett-Packard Company, A Delaware Corporation | Correlating cyan and magenta planes for error diffusion halftoning |
CN101404713A (zh) * | 2007-09-14 | 2009-04-08 | 株式会社理光 | 图像处理设备、图像记录设备、程序、及记录介质 |
CN102346849A (zh) * | 2010-07-26 | 2012-02-08 | 佳能株式会社 | 图像处理设备和图像处理方法 |
CN103402042A (zh) * | 2013-07-31 | 2013-11-20 | 浙江大学 | 基于分块式误差扩散的半色调图像生成方法 |
CN103957343A (zh) * | 2014-04-22 | 2014-07-30 | 杭州电子科技大学 | 一种彩色误差扩散方法 |
CN106651816A (zh) * | 2016-12-30 | 2017-05-10 | 首都师范大学 | 数字图像的半色调处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111901497A (zh) | 2020-11-06 |
CN111901497B (zh) | 2023-06-02 |
CN110475041A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6472336B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2500837B2 (ja) | 画素値量子化方法 | |
JP4165570B2 (ja) | 画像処理装置,画像処理方法,及び画像処理プログラム | |
JP4527633B2 (ja) | 階調処理装置および方法 | |
CN110475041B (zh) | 一种灰度图像处理方法、装置及打印机 | |
US7599097B2 (en) | Method and system for designing multilevel halftone screens using spot functions | |
JP3698541B2 (ja) | 擬似階調画像処理装置 | |
JP2015216455A (ja) | 画像処理装置、画像処理方法及びプログラム。 | |
JP2001158132A (ja) | レーザビームプリンタでグレー成分を有したイメージの多値化処理回路及び方法 | |
KR20190005114A (ko) | 화상 처리 장치, 화상 처리 방법 및 저장 매체 | |
JP4412248B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JPH10229496A (ja) | 多グレーレベルのハーフトーン画像にグレーレベルを追加する方法及び装置 | |
JP2003110849A (ja) | デジタル画像の多階調処理方法 | |
JP2000299783A (ja) | 画像処理方法及びその装置 | |
JP7191665B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP5915410B2 (ja) | 画像処理装置及びプログラム | |
JP2005295131A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2004260700A (ja) | 画像処理装置及び方法 | |
JP2019062577A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP5162430B2 (ja) | 画像処理装置および画像処理方法 | |
JP2002027249A (ja) | ハーフトーン処理装置およびその処理手順を記録した媒体 | |
JP4492723B2 (ja) | 画像処理装置,画像処理方法,及び画像処理プログラム | |
JP2792581B2 (ja) | 画像処理装置 | |
JP2005269131A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2005341142A (ja) | 画像処理装置、画像処理方法、画像処理プログラムおよびそのプログラムを記録した記録媒体 |
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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Lin Yang Inventor after: Other inventors ask not to disclose names Inventor before: Not publicizing the inventor |
|
GR01 | Patent grant | ||
GR01 | Patent grant |