发明内容
本发明提供一种图像处理方法及装置,用以解决现有挂网制版技术中原始一位点阵内存在过多的纯色像素值数量的问题。
本发明实施例提供一种图象处理方法,应用于打印机挂网制版技术,包括:
生成随机挂网抖动矩阵T;所述随机挂网抖动矩阵T中每个数据项i的值为ti,且ti∈[0,255],i∈[0,WT-1],其中WT为所述随机挂网抖动矩阵T内数据项的个数;
将所述随机挂网抖动矩阵T中每个数据项i的值ti减去正负转换因子δ,得到对应每个数据项i的差值rti,且δ∈[0,255],用所述差值rti替换原每个数据项i的值ti;
根据所述差值rti和设置的图像n个色面中每个色面的随机挂网抖动阈值Fj,生成每个色面的网点抖动对照矩阵CTj,其中,Fj∈[0,127],j∈[1,n];
将图像的每个色面的一位调幅网点矩阵中的每个数据项分别与该色面的所述网点抖动对照矩阵CTj中的对应位置的数据项做逻辑“与”运算,并用所述逻辑“与”运算的结果值替换所述一位调幅网点矩阵中对应数据项的值,得到所述图像的每个色面处理后的一位调幅网点矩阵。
所述随机挂网抖动矩阵T是边长为L的正方形矩阵。
所述随机挂网抖动矩阵T中的每个数据项的值与其相邻数据项的值差异较大。
所述生成随机挂网抖动矩阵T,包括:
采用公式T=(a×u+b×v)mod(c)生成随机挂网抖动矩阵T,其中,
u和v分别表示所述随机挂网抖动矩阵T中各数据项所在的水平和竖直方向上的坐标;
参数a、b和c是互为质数的三个正整数,且取值满足对应的ti∈[0,255],i=v×L+u。
所述参数a、b和c采用公式Trn=Trn-1+Trn-2+Trn-3,n>2获得,其中,Tr0=0,Tr1=1,Tr2=1。
所述根据所述差值rti和设置的图像n个色面中每个色面的随机挂网抖动阈值Fj,生成每个色面的网点抖动对照矩阵CTj,包括:
对于图像的每一个色面j,如果所述随机挂网抖动矩阵T中的数据项i的所述替换后的值rti满足rti<0,且(rti+δ)<Fj,则设置所述网点抖动对照矩阵CTj中对应位置数据项的值为1,否则,设置所述网点抖动对照矩阵CTj中对应位置数据项的值为0。
所述将图像的每个色面的一位调幅网点矩阵中的每个数据项与该色面的所述网点抖动对照矩阵CTj中的对应位置的数据项做逻辑“与”运算,包括:对于每一个色面j,将该色面的所述网点抖动对照矩阵CTj逐个平铺,使平铺后获得的平铺矩阵SCTj的长和宽分别大于该色面的一位调幅网点矩阵的长和宽;
在所述平铺矩阵SCTj中选取与所述一位调幅网点矩阵的长和宽相等的任意一部分作为对照矩阵CSCTj;
将所述一位调幅网点矩阵中的每个数据项与所述对照矩阵CSCTj中对应位置的数据项做逻辑“与”运算。
本发明实施例还提供一种图像处理装置,应用于打印机挂网制版技术,包括:
矩阵生成第一单元,用于生成随机挂网抖动矩阵T;所述随机挂网抖动矩阵T中每个数据项i的值为ti,且ti∈[0,255],i∈[0,WT-1],其中WT为所述随机挂网抖动矩阵T内数据项的个数;
转换单元,用于将所述随机挂网抖动矩阵T中每个数据项i的值ti减去δ,得到对应每个数据项i的差值rti,且δ∈[0,255],用所述差值rti替换原每个数据项i的值ti;
阈值设置单元,用于设置图像的n个色面中每个色面的随机挂网抖动阈值Fj,且Fj∈[0,127],j∈[1,n];
矩阵生成第二单元,用于根据所述Fj和所述替换后的值rti,生成每个色面的网点抖动对照矩阵CTj;
处理单元,用于将图像的每个色面的一位调幅网点矩阵中的每个数据项分别与该色面的所述网点抖动对照矩阵CTj中的对应位置的数据项做逻辑“与”运算,并用所述逻辑“与”运算的结果值替换所述一位调幅网点矩阵中对应数据项的值,得到所述图像的每个色面处理后的一位调幅网点矩阵。
所述矩阵生成第一单元包括:
矩阵生成子单元,用于采用公式T=(a×u+b×v)mod(c)生成所述随机挂网抖动矩阵T,其中,u和v分别表示所述随机挂网抖动矩阵T中各数据项所在的水平和竖直方向上的坐标;参数a、b和c是互为质数的三个正整数,且取值满足对应的ti∈[0,255],i=v×L+u,L为所述随机挂网抖动矩阵T的边长。
参数计算子单元,用于采用公式Trn=Trn-1+Trn-2+Trn-3(n>2)计算获得参数a、b和c,其中,Tr0=0,Tr1=1,Tr2=1。
所述处理单元包括:
平铺子单元,用于将一个色面的所述网点抖动对照矩阵CTj逐个平铺,使平铺后获得的平铺矩阵SCTj的长和宽分别大于该色面的一位调幅网点矩阵的长和宽;
选取子单元,用于在所述平铺矩阵SCTj中选取与所述一位调幅网点矩阵的长和宽相等的任意一部分作为对照矩阵CSCTj;
处理子单元,用于将所述一位调幅网点矩阵中的每个数据项与所述对照矩阵CSCTj中对应位置的数据项做逻辑“与”运算,并用所述逻辑“与”运算的结果值替换所述一位调幅网点矩阵中对应数据项的值。
本发明有益效果如下:
本发明实施例提供的图像处理方法及装置,生成随机挂网抖动矩阵T,且矩阵T中每个数据项i的值ti∈[0,255];将随机挂网抖动矩阵T中每个数据项i的值ti减去δ,得到对应每个数据项i的差值rti,且δ∈[0,255];设置图像的n个色面中每个色面的随机挂网抖动阈值Fj;根据差值rti和设置的图像n个色面中每个色面的随机挂网抖动阈值Fj生成每个色面的网点抖动对照矩阵CTj;将图像的每个色面的一位调幅网点矩阵中的每个数据项分别与该色面的网点抖动对照矩阵CTj中的对应位置的数据项做逻辑“与”运算,并用逻辑“与”运算的结果值替换一位调幅网点矩阵中对应数据项的值。采用本发明提供的图像处理方法及装置,随机的将原一位调幅网点矩阵中部分值为1的数据项的值置为0,解决了现有挂网制版技术中原始一位点阵内存在过多的纯色像素值数量的问题。
具体实施方式
本发明实施例提供一种图像处理方法,包括:
生成随机挂网抖动矩阵T,且矩阵T中每个数据项i的值ti∈[0,255],i∈[0,WT-1],其中WT为所述随机挂网抖动矩阵T内数据项的个数;
将矩阵T中每个数据项i的值ti减去δ,得到对应每个数据项i的差值rti,且δ∈[0,255];
根据差值rti和设置的图像n个色面中每个色面的随机挂网抖动阈值Fj生成每个色面的网点抖动对照矩阵CTj;
将图像的每个色面的一位调幅网点矩阵中的每个数据项分别与该色面的网点抖动对照矩阵CTj中的对应位置的数据项做逻辑“与”运算,并用逻辑“与”运算的结果值替换一位调幅网点矩阵中对应数据项的值。
下面结合附图对本发明上述方法进行详细描述。
图1所示为本发明实施例中图像处理方法流程图,包括:
步骤S101、本发明实施例中采用公式T=(a×u+b×v)mod(c)生成随机挂网抖动矩阵T,其中,
矩阵T中每个数据项i的值为ti,且ti∈[0,255],i∈[0,WT-1],WT为矩阵T内数据项的个数;
矩阵T的边长为L,则WT=L×L;
u和v分别表示矩阵T中各数据项所在的水平和竖直方向上的坐标;
参数a、b和c是互为质数的三个正整数,且取值满足对应的ti∈[0,255],i=v×L+u。
具体的,由于矩阵T的边长L越大,方法的处理质量越高,但处理效率越低,综合考虑方法的处理质量和效率,所以本发明实施例中设L=256;
本发明实施例中采用公式Trn=Trn-1+Trn-2+Trn-3(n>2)获得参数a、b和c,其中,Tr0=0,Tr1=1,Tr2=1,计算Trn,直到满足Trn、Trn-1和Trn-2互为质数,设置a=Trn-2,b=Trn-1,c=Trn,其他实施例也可以通过其他方法获得参数a、b和c。
根据上述方法生成的矩阵T的部分数据项的值如表1所示。
表1:矩阵T的部分数据项的值
1 | 3 | 184 | 111 | 76 | 180 | 251 | 234 | 88 | 141 |
5 | 90 | 255 | 237 | 148 | 145 | 216 | 163 | 65 | 67 |
168 | 125 | 219 | 202 | 37 | 38 | 81 | 124 | 68 | 70 |
150 | 44 | 49 | 131 | 42 | 40 | 99 | 246 | 193 | 140 |
83 | 45 | 47 | 244 | 191 | 116 | 175 | 228 | 221 | 22 |
196 | 118 | 100 | 227 | 209 | 156 | 13 | 157 | 164 | 24 |
250 | 232 | 86 | 138 | 173 | 74 | 8 | 10 | 182 | 113 |
214 | 161 | 58 | 60 | 104 | 109 | 12 | 92 | 253 | 235 |
[0065] 84 | 122 | 61 | 63 | 241 | 223 | 170 | 127 | 218 | 200 |
102 | 243 | 189 | 136 | 188 | 205 | 152 | 29 | 35 | 129 |
步骤S102、根据上述方法生成的矩阵T中每个数据项i的值ti都为非负数,为适应方法的后续处理,需要将矩阵T中每个数据项i的值ti做居中正负转换操作,设转换因子为δ,具体操作如下:
rti=ti-δ,δ∈[0,255],rti为转换后矩阵T中每个数据项i的值,rti∈[-δ,255-δ]。
转换因子δ的确定决定了经过正负转换操作后的矩阵T中正负数的个数,一般情况下,当正负数个数相当时为最佳选择,因此,本实施例中设δ=127。
经过上述正负转换操作后的矩阵T对应表1的部分数据项的值如表2所示。
表2:正负转换操作后的矩阵T的部分数据项的值
-126 | -124 | 57 | -16 | -51 | 53 | 124 | 107 | -39 | 14 |
-122 | -34 | 128 | 110 | 21 | 18 | 89 | 36 | -62 | -60 |
41 | -2 | 92 | 75 | -90 | -89 | -46 | -3 | -59 | -57 |
23 | -83 | -78 | 4 | -85 | -87 | -28 | -119 | 66 | 13 |
-44 | -82 | -80 | 117 | 64 | -11 | 48 | 53 | 84 | -105 |
69 | -9 | -27 | 100 | 82 | 29 | -114 | 30 | 37 | -103 |
123 | 105 | -41 | 11 | 46 | -53 | -119 | -117 | 55 | -14 |
87 | 34 | -69 | -67 | -23 | -18 | -115 | -35 | 126 | 108 |
-43 | -5 | -66 | -64 | 114 | 96 | 43 | 0 | 91 | 73 |
-25 | 116 | 62 | 9 | 61 | 78 | 25 | -98 | -92 | 2 |
步骤S103、设置图像的n个色面中每个色面的随机挂网抖动阈值Fj,且Fj∈[0,127],j∈[1,n]。
随机挂网抖动阈值Fj决定了对一位调幅网点矩阵中的数据加入随机抖动的程度,Fj的值越小,加入的随机抖动程度越大,本发明实施例中n=1,设置F1=110,其他实施例中可以选择其他数值。
本步骤与上述步骤S101和步骤S102不存在先后顺序。
步骤S104、获取当前色面j的随机挂网抖动阈值Fj。
步骤S105、获取经过正负转换操作后的矩阵T的当前数据项i的值rti。
步骤S106、如果rti<0,且(rti+δ)<Fj,执行步骤S107,设置当前色面的网点抖动对照矩阵CTj中对应位置数据项的值为1;否则,执行步骤S108,设置当前色面的网点抖动对照矩阵CTj中对应位置数据项的值为0。
步骤S109、判断经过正负转换操作后的矩阵T的所有数据项是否全部经过步骤S106的处理,如果没有全部经过步骤S106的处理,则进入步骤S105,获取经过正负转换操作后的矩阵T的下一个数据项i+1的值rti+1;如果全部经过步骤S106的处理,则进入步骤S110。
步骤S110、根据上述方法获得当前色面j的网点抖动对照矩阵CTj。
本发明实施例中获得的色面1的网点抖动对照矩阵CT1中对应表1的部分数据项的值如表3所示。
表3:色面1的网点抖动对照矩阵CT1的部分数据项的值
1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
[0083] 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
由于上述网点抖动对照矩阵CTj中的数据字节排列方式与输出设备中的一致,确与计算机存储操作反向,因此需要进行字节反向操作,本发明实施例中的操作规则如下,如图2所示:
按顺序每四个字节作为一个处理单元;
将四个字节在计算机中的存储顺序以字节为单位按顺序颠倒,即,由字节1,字节2,字节3,字节4转变为字节4,字节3,字节2,字节1。
步骤S111、根据当前色面网点抖动对照矩阵对当前色面的一位调幅网点矩阵进行处理,如图3所示。
将当前色面的网点抖动对照矩阵CTj301按顺序逐个平铺,保证平铺后获得的平铺矩阵SCTj302(图3中由4个网点抖动对照矩阵CTj301组成)的长和宽分别大于当前色面的一位调幅网点矩阵304的长和宽,在平铺矩阵SCTj302中选择与一位调幅网点矩阵的长和宽相等的一部分作为对照矩阵CSCTj303,将一位调幅网点矩阵304中的每个数据项与对照矩阵CSCTj303中对应位置的数据项做逻辑“与”运算,逻辑“与”运算的结果替换一位调幅网点矩阵304中对应位置数据项值,即将原一位调幅网点矩阵中部分值为1的数据项的值置为0,
步骤S112、判断是否每个色面都经过步骤S104-S111的处理,如果没有都经过步骤S104-S111的处理,则进入步骤S104,获取下一个色面j+1的随机挂网抖动阈值Fj+1;如果都经过步骤S104-S111的处理,则进入步骤S113,结束处理流程。
使用上述图像处理方法对不同层次下的一位调幅网点矩阵中的数据进行处理后的效果图如图4所示,分别为10%、50%和70%三种层次下的调幅网处理效果图,可见,图中黑色像素块内存在多个白色像素点。
基于同一发明构思,根据本发明上述实施例提供的图像处理方法,相应地,本发明实施例还提供了一种图像处理装置,装置结构示意图如图5所示,具体如下,
矩阵生成第一单元S501,用于生成随机挂网抖动矩阵T;随机挂网抖动矩阵T中每个数据项i的值为ti,且ti∈[0,255],i∈[0,WT-1],其中WT为所述随机挂网抖动矩阵T内数据项的个数;
转换单元S502,用于将随机挂网抖动矩阵T中每个数据项i的值ti减去δ,得到对应每个数据项i的差值rti,且δ∈[0,255],用差值rti替换原每个数据项i的值ti;
阈值设置单元S503,用于设置图像的n个色面中每个色面的随机挂网抖动阈值Fj,且Fj∈[0,127],j∈[1,n];
矩阵生成第二单元S504,用于根据随机挂网抖动阈值Fj和差值rti,生成每个色面的网点抖动对照矩阵CTj;
处理单元S505,用于将图像的每个色面的一位调幅网点矩阵中的每个数据项分别与该色面的网点抖动对照矩阵CTj中的对应位置的数据项做逻辑“与”运算,并用逻辑“与”运算的结果值替换一位调幅网点矩阵中对应数据项的值,得到图像的每个色面处理后的一位调幅网点矩阵。
上述矩阵生成第一单元S501,如图6所示,还包括:
矩阵生成子单元S601,用于采用公式T=(a×u+b×v)mod(c)生成矩阵T,其中,u和v分别表示随机挂网抖动矩阵T中各数据项所在的水平和竖直方向上的坐标;参数a、b和c是互为质数的三个正整数,且取值满足对应的ti∈[0,255],i=v×L+u。
参数计算子单元S602,用于采用公式Trn=Trn-1+Trn-2+Trn-3(n>2)获得参数a、b和c,其中,Tr0=0,Tr1=1,Tr2=1。
上述处理单元S505,如图7所示,还包括:
平铺子单元S701,用于将每一个色面的网点抖动对照矩阵CTj逐个平铺,使平铺后获得的平铺矩阵SCTj的长和宽分别大于该色面的一位调幅网点矩阵的长和宽;
选取子单元S702,用于在平铺矩阵SCTj中选取与一位调幅网点矩阵的长和宽相等的任意一部分作为对照矩阵CSCTj;
处理子单元S703,用于将一位调幅网点矩阵中的每个数据项与对照矩阵CSCTj中对应位置的数据项做逻辑“与”运算。
综上所述,本发明实施例提供的方案,根据生成的随机挂网抖动矩阵和设置的图象的每个色面的随机挂网抖动阈值生成每个色面的网点抖动对照矩阵,通过每个色面的一位调幅网点矩阵中的每个数据项与该色面的网点抖动对照矩阵中对应位置的数据项的逻辑“与”运算,随机的将原一位调幅网点矩阵中部分值为1的数据项的值置为0,解决了现有挂网制版技术中原始一位点阵内存在过多的纯色像素值数量的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。