CN104463803A - 一种消除图像锯齿的方法及装置 - Google Patents
一种消除图像锯齿的方法及装置 Download PDFInfo
- Publication number
- CN104463803A CN104463803A CN201410766422.XA CN201410766422A CN104463803A CN 104463803 A CN104463803 A CN 104463803A CN 201410766422 A CN201410766422 A CN 201410766422A CN 104463803 A CN104463803 A CN 104463803A
- Authority
- CN
- China
- Prior art keywords
- pixels
- array
- edge pixel
- color value
- 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.)
- Pending
Links
Abstract
本发明涉及图像处理技术领域,尤其涉及一种消除图像锯齿的方法及装置,该方法包括:加载图像所有像素的颜色值到像素数组中;计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像,本发明通过Android中像素数组的像素操作,对特定位的像素颜色执行高位透明处理,克服了需要动态获取图片而又采用了硬件加速场合下图像锯齿难以消除的问题,且消除边缘锯齿效果明显。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种消除图像锯齿的方法及装置。
背景技术
在Android绘图中,有两种消除图像锯齿的方法,分别是给Paint或Canvas加上抗锯齿标志:paint.setAntiAlias(true)和canvas.setDrawFilter(newPaintFlagsDrawFilter(0,Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG)),但现在很多应用程序为了提高性能都会开启硬件加速,此时这两种方法就不能消除图像锯齿,对于旋转或缩放图片导致的锯齿,大多数是让美工手动修改图片,将图片的边缘部分做一定的透明处理来避免锯齿,但对于动态获取的图片就无法消除图像锯齿。
发明内容
本发明的目的在于提出一种消除图像锯齿的方法及装置,对特定位的像素颜色执行高位透明处理,克服了需要动态获取图片而又采用了硬件加速场合下图像锯齿难以消除的问题,且消除边缘锯齿效果明显。
为达此目的,本发明采用以下技术方案:
一种消除图像锯齿的方法,包括:
步骤110、加载图像所有像素的颜色值到像素数组中;
步骤120、计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;
步骤130、根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;
步骤140、将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像。
其中,所述像素数组是一个包含所述图像的宽度和高度的二维矩阵。
其中,所述步骤130具体包括:
步骤131、根据所述像素数组和边缘像素偏移量得到边缘像素颜色值;
步骤132、将所述边缘像素颜色值的灰度通道做与零处理,其中所述灰度通道为边缘像素颜色值的最高位字节;
步骤133、将处理后边缘像素颜色值赋值到所述像素数组中对应的元素。
其中,所述步骤110具体为:采用Andriod的Bitmap类中的getpixels接口函数将图像所有像素的颜色值加载到像素数组pixels中,所述像素数组pixels为4字节的整型数组。
其中,所述步骤120具体包括:
步骤121、从第i行开始扫描,其中,0≤i≤h-1,h为像素数组的高度;
步骤122、判断i是否大于h-1,若是,则结束扫描;
步骤123、若i≤h-1,判断i是否大于等于预设的边缘宽度e且小于h-e,若是,则i+1,返回步骤121,若否,则进入步骤124;
步骤124、从第j列开始扫描,其中,0≤j≤w-1,w为像素数组的宽度;
步骤125、判断j是否大于w-1,若是,则i+1,返回步骤121,若否,则进入步骤126;
步骤126、判断j是否大于等于预设的边缘宽度e且小于w-e,若是,则j+1,返回步骤124,若否,则进入步骤127;
步骤127、计算该第i行j列的边缘像素偏移量offset=j+i*w;
步骤128、重复步骤124到127扫描完整个第i行;
步骤129、重复以上步骤直至计算出所有边缘像素偏移量。
一种消除图像锯齿的装置,包括:
像素加载单元,用于加载图像所有像素的颜色值到像素数组中;
计算单元,用于计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;
透明处理单元,用于根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;
消除锯齿单元,用于将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像。
其中,所述像素数组是一个包含所述图像的宽度和高度的二维矩阵。
其中,所述透明处理单元具体包括:
边缘像素颜色值计算模块,用于根据所述像素数组和边缘像素偏移量得到边缘像素颜色值;
与零处理模块,用于将所述边缘像素颜色值的灰度通道做与零处理,其中所述灰度通道为边缘像素颜色值的最高位字节;
赋值模块,用于将处理后边缘像素颜色值赋值到所述像素数组中对应的元素。
其中,所述像素加载单元的工作流程具体为:采用Andriod的Bitmap类中的getpixels接口函数将图像所有像素的颜色值加载到像素数组pixels中,所述像素数组pixels为4字节的整型数组。
其中,所述计算单元的工作流程具体包括:
步骤121、从第i行开始扫描,其中,0≤i≤h-1,h为像素数组的高度;
步骤122、判断i是否大于h-1,若是,则结束扫描;
步骤123、若i≤h-1,判断i是否大于等于预设的边缘宽度e且小于h-e,若是,则i+1,返回步骤121,若否,则进入步骤124;
步骤124、从第j列开始扫描,其中,0≤j≤w-1,w为像素数组的宽度;
步骤125、判断j是否大于w-1,若是,则i+1,返回步骤121,若否,则进入步骤126;
步骤126、判断j是否大于等于预设的边缘宽度e且小于w-e,若是,则j+1,返回步骤124,若否,则进入步骤127;
步骤127、计算该第i行j列的边缘像素偏移量offset=j+i*w;
步骤128、重复步骤124到127扫描完整个第i行;
步骤129、重复以上步骤直至计算出所有边缘像素偏移量。
本发明的有益效果为:一种消除图像锯齿的方法及装置,该方法包括:加载图像所有像素的颜色值到像素数组中;计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像,本发明通过Android中像素数组的像素操作,对特定位的像素颜色执行高位透明处理,克服了需要动态获取图片而又采用了硬件加速场合下图像锯齿难以消除的问题,且消除边缘锯齿效果明显。
附图说明
图1是本发明实施例一提供的一种消除图像锯齿的方法流程图。
图2是本发明实施例一提供的边缘像素偏移量计算方法流程图。
图3是本发明实施例二提供的一种消除图像锯齿的装置结构图。
具体实施方式
下面结合图1-图3并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
图1是本发明实施例一提供的一种消除图像锯齿的方法流程图。
一种消除图像锯齿的方法,包括:
步骤110、加载图像所有像素的颜色值到像素数组中;
步骤120、计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;
步骤130、根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;
步骤140、将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像。
在本实施例中,通过Android中像素数组pixels的像素操作,对特定位的像素颜色执行高位透明处理,克服了需要动态获取图片而又采用了硬件加速场合下图像锯齿难以消除的问题,且消除边缘锯齿效果明显。
在本实施例中,所述步骤110具体为:采用Andriod的Bitmap类中的getpixels接口函数将图像所有像素的颜色值加载到像素数组pixels中,所述像素数组pixels为4字节的整型数组。
在本实施例中,加载所有像素的颜色到像素数组pixels中的接口函数为:
b.getPixels(pixels,0,w,0,0,w,h),其中,b是bitmap类型的对象,w为图像的宽度,h为图像的高度。
在本实施例中,所述像素数组是一个包含所述图像的宽度和高度的二维矩阵w*h。
在本实施例中,将赋值后的像素数组设置到所述图像中所用到的接口函数为:b.setPixels(pixels,0,w,0,0,w,h)。
在本实施例中,所述步骤130具体包括:
步骤131、根据所述像素数组和边缘像素偏移量得到边缘像素颜色值;
步骤132、将所述边缘像素颜色值的灰度通道做与零处理,其中所述灰度通道为边缘像素颜色值的最高位字节;
步骤133、将处理后边缘像素颜色值赋值到所述像素数组中对应的元素。
如图2所示,在本实施例中,所述步骤120具体包括:
步骤121、从第i行开始扫描,其中,0≤i≤h-1,h为像素数组的高度;
步骤122、判断i是否大于h-1,若是,则结束扫描;
步骤123、若i≤h-1,判断i是否大于等于预设的边缘宽度e且小于h-e,若是,则i+1,返回步骤121,若否,则进入步骤124;
步骤124、从第j列开始扫描,其中,0≤j≤w-1,w为像素数组的宽度;
步骤125、判断j是否大于w-1,若是,则i+1,返回步骤121,若否,则进入步骤126;
步骤126、判断j是否大于等于预设的边缘宽度e且小于w-e,若是,则j+1,返回步骤124,若否,则进入步骤127;
步骤127、计算该第i行j列的边缘像素偏移量offset=j+i*w;
步骤128、重复步骤124到127扫描完整个第i行;
步骤129、重复以上步骤直至计算出所有边缘像素偏移量。
在本实施例中,计算边缘像素偏移量的伪代码为:
实施例二
如图3所示,一种消除图像锯齿的装置,包括:
像素加载单元,用于加载图像所有像素的颜色值到像素数组中;
计算单元,用于计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;
透明处理单元,用于根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;
消除锯齿单元,用于将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像。
在本实施例中,所述像素数组是一个包含所述图像的宽度和高度的二维矩阵。
在本实施例中,所述透明处理单元具体包括:
边缘像素颜色值计算模块,用于根据所述像素数组和边缘像素偏移量得到边缘像素颜色值;
与零处理模块,用于将所述边缘像素颜色值的灰度通道做与零处理,其中所述灰度通道为边缘像素颜色值的最高位字节;
赋值模块,用于将处理后边缘像素颜色值赋值到所述像素数组中对应的元素。
在本实施例中,所述像素加载单元的工作流程具体为:采用Andriod的Bitmap类中的getpixels接口函数将图像所有像素的颜色值加载到像素数组pixels中,所述像素数组pixels为4字节的整型数组。
在本实施例中,所述计算单元的工作流程具体包括:
步骤121、从第i行开始扫描,其中,0≤i≤h-1,h为像素数组的高度;
步骤122、判断i是否大于h-1,若是,则结束扫描;
步骤123、若i≤h-1,判断i是否大于等于预设的边缘宽度e且小于h-e,若是,则i+1,返回步骤121,若否,则进入步骤124;
步骤124、从第j列开始扫描,其中,0≤j≤w-1,w为像素数组的宽度;
步骤125、判断j是否大于w-1,若是,则i+1,返回步骤121,若否,则进入步骤126;
步骤126、判断j是否大于等于预设的边缘宽度e且小于w-e,若是,则j+1,返回步骤124,若否,则进入步骤127;
步骤127、计算该第i行j列的边缘像素偏移量offset=j+i*w;
步骤128、重复步骤124到127扫描完整个第i行;
步骤129、重复以上步骤直至计算出所有边缘像素偏移量。
以上所述仅为本发明的具体实施方式,这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方法,这些方式都将落入本发明的保护范围之内。
Claims (10)
1.一种消除图像锯齿的方法,其特征在于,包括:
步骤110、加载图像所有像素的颜色值到像素数组中;
步骤120、计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;
步骤130、根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;
步骤140、将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像。
2.根据权利要求1所述的一种消除图像锯齿的方法,其特征在于,所述像素数组是一个包含所述图像的宽度和高度的二维矩阵。
3.根据权利要求1所述的一种消除图像锯齿的方法,其特征在于,所述步骤130具体包括:
步骤131、根据所述像素数组和边缘像素偏移量得到边缘像素颜色值;
步骤132、将所述边缘像素颜色值的灰度通道做与零处理,其中所述灰度通道为边缘像素颜色值的最高位字节;
步骤133、将处理后边缘像素颜色值赋值到所述像素数组中对应的元素。
4.根据权利要求1所述的一种消除图像锯齿的方法,其特征在于,所述步骤110具体为:采用Andriod的Bitmap类中的getpixels接口函数将图像所有像素的颜色值加载到像素数组pixels中,所述像素数组pixels为4字节的整型数组。
5.根据权利要求2所述的一种消除图像锯齿的方法,其特征在于,所述步骤120具体包括:
步骤121、从第i行开始扫描,其中,0≤i≤h-1,h为像素数组的高度;
步骤122、判断i是否大于h-1,若是,则结束扫描;
步骤123、若i≤h-1,判断i是否大于等于预设的边缘宽度e且小于h-e,若是,则i+1,返回步骤121,若否,则进入步骤124;
步骤124、从第j列开始扫描,其中,0≤j≤w-1,w为像素数组的宽度;
步骤125、判断j是否大于w-1,若是,则i+1,返回步骤121,若否,则进入步骤126;
步骤126、判断j是否大于等于预设的边缘宽度e且小于w-e,若是,则j+1,返回步骤124,若否,则进入步骤127;
步骤127、计算该第i行j列的边缘像素偏移量offset=j+i*w;
步骤128、重复步骤124到127扫描完整个第i行;
步骤129、重复以上步骤直至计算出所有边缘像素偏移量。
6.一种消除图像锯齿的装置,其特征在于,包括:
像素加载单元,用于加载图像所有像素的颜色值到像素数组中;
计算单元,用于计算图像四周边缘的原始像素内存地址偏移量,得到边缘像素偏移量;
透明处理单元,用于根据所述像素数组和边缘像素偏移量对边缘像素颜色值的灰度通道做透明处理,得到处理后的边缘像素颜色值结果并赋值到所述像素数组中;
消除锯齿单元,用于将赋值后的像素数组设置到所述图像中,得到消除锯齿后的图像。
7.根据权利要求6所述的一种消除图像锯齿的装置,其特征在于,所述像素数组是一个包含所述图像的宽度和高度的二维矩阵。
8.根据权利要求6所述的一种消除图像锯齿的装置,其特征在于,所述透明处理单元具体包括:
边缘像素颜色值计算模块,用于根据所述像素数组和边缘像素偏移量得到边缘像素颜色值;
与零处理模块,用于将所述边缘像素颜色值的灰度通道做与零处理,其中所述灰度通道为边缘像素颜色值的最高位字节;
赋值模块,用于将处理后边缘像素颜色值赋值到所述像素数组中对应的元素。
9.根据权利要求6所述的一种消除图像锯齿的装置,其特征在于,所述像素加载单元的工作流程具体为:采用Andriod的Bitmap类中的getpixels接口函数将图像所有像素的颜色值加载到像素数组pixels中,所述像素数组pixels为4字节的整型数组。
10.根据权利要求7所述的一种消除图像锯齿的装置,其特征在于,所述计算单元的工作流程具体包括:
步骤121、从第i行开始扫描,其中,0≤i≤h-1,h为像素数组的高度;
步骤122、判断i是否大于h-1,若是,则结束扫描;
步骤123、若i≤h-1,判断i是否大于等于预设的边缘宽度e且小于h-e,若是,则i+1,返回步骤121,若否,则进入步骤124;
步骤124、从第j列开始扫描,其中,0≤j≤w-1,w为像素数组的宽度;
步骤125、判断j是否大于w-1,若是,则i+1,返回步骤121,若否,则进入步骤126;
步骤126、判断j是否大于等于预设的边缘宽度e且小于w-e,若是,则j+1,返回步骤124,若否,则进入步骤127;
步骤127、计算该第i行j列的边缘像素偏移量offset=j+i*w;
步骤128、重复步骤124到127扫描完整个第i行;
步骤129、重复以上步骤直至计算出所有边缘像素偏移量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410766422.XA CN104463803A (zh) | 2014-12-11 | 2014-12-11 | 一种消除图像锯齿的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410766422.XA CN104463803A (zh) | 2014-12-11 | 2014-12-11 | 一种消除图像锯齿的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104463803A true CN104463803A (zh) | 2015-03-25 |
Family
ID=52909791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410766422.XA Pending CN104463803A (zh) | 2014-12-11 | 2014-12-11 | 一种消除图像锯齿的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104463803A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600544A (zh) * | 2016-11-10 | 2017-04-26 | 北京暴风魔镜科技有限公司 | 基于纹理贴图的抗锯齿方法及系统 |
CN107483771A (zh) * | 2017-06-13 | 2017-12-15 | 青岛海信电器股份有限公司 | 一种图像生成的方法和图像显示装置 |
CN109544459A (zh) * | 2017-09-21 | 2019-03-29 | 中国电信股份有限公司 | 图像锯齿处理方法和装置以及计算机可读存储介质 |
CN116433515A (zh) * | 2023-03-30 | 2023-07-14 | 格兰菲智能科技有限公司 | 图像旋转抗锯齿方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136723A (zh) * | 2011-11-29 | 2013-06-05 | 方正国际软件(北京)有限公司 | 一种图像锯齿消除方法及系统 |
CN103559690A (zh) * | 2013-11-05 | 2014-02-05 | 北京京东尚科信息技术有限公司 | 一种实现图像边沿平滑的方法 |
CN104200427A (zh) * | 2014-09-17 | 2014-12-10 | 厦门美图之家科技有限公司 | 一种消除图像边缘锯齿的方法 |
-
2014
- 2014-12-11 CN CN201410766422.XA patent/CN104463803A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136723A (zh) * | 2011-11-29 | 2013-06-05 | 方正国际软件(北京)有限公司 | 一种图像锯齿消除方法及系统 |
CN103559690A (zh) * | 2013-11-05 | 2014-02-05 | 北京京东尚科信息技术有限公司 | 一种实现图像边沿平滑的方法 |
CN104200427A (zh) * | 2014-09-17 | 2014-12-10 | 厦门美图之家科技有限公司 | 一种消除图像边缘锯齿的方法 |
Non-Patent Citations (2)
Title |
---|
杨丰盛: "《Android应用开发揭秘》", 31 January 2010, 机械工业出版社 * |
饶海潮等: "基于反走样算法的数字电视图象的抗闪烁", 《中国图象图形学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106600544A (zh) * | 2016-11-10 | 2017-04-26 | 北京暴风魔镜科技有限公司 | 基于纹理贴图的抗锯齿方法及系统 |
CN107483771A (zh) * | 2017-06-13 | 2017-12-15 | 青岛海信电器股份有限公司 | 一种图像生成的方法和图像显示装置 |
CN109544459A (zh) * | 2017-09-21 | 2019-03-29 | 中国电信股份有限公司 | 图像锯齿处理方法和装置以及计算机可读存储介质 |
CN116433515A (zh) * | 2023-03-30 | 2023-07-14 | 格兰菲智能科技有限公司 | 图像旋转抗锯齿方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11467661B2 (en) | Gaze-point determining method, contrast adjusting method, and contrast adjusting apparatus, virtual reality device and storage medium | |
CN104463803A (zh) | 一种消除图像锯齿的方法及装置 | |
JP2009239903A5 (ja) | 画像処理方法、表示装置、およびコンピュータプログラム | |
CN104966092B (zh) | 一种图像处理方法和装置 | |
CN108109109B (zh) | 一种超分辨率图像重构方法、装置、介质及计算设备 | |
CN104200427A (zh) | 一种消除图像边缘锯齿的方法 | |
CN105389776B (zh) | 图像缩放技术 | |
CN104200447A (zh) | 一种实时低照度彩色图像增强方法及其实现装置 | |
US7826678B2 (en) | Adaptive image sharpening method | |
US9129441B2 (en) | Lookup tables for text rendering | |
US8355580B2 (en) | Method and system for generating boundary in the process of rasterizing vector graphic as well as method for producing the system | |
US11323678B2 (en) | Method of and apparatus for processing frames in a data processing system | |
CN103714523A (zh) | 基于Kirsch算子的图像锐化系统及图像锐化方法 | |
CN113012068A (zh) | 图像去噪方法、装置、电子设备及计算机可读存储介质 | |
CN102402362A (zh) | 提高电子墨水屏输入速度的方法 | |
CN105045726B (zh) | 一种基于并行计算的图片操作方法及系统 | |
CN108198128B (zh) | 一种alpha通道边界腐蚀的方法及装置 | |
US20110221775A1 (en) | Method for transforming displaying images | |
US20230169689A1 (en) | Suppression of clipping artifacts from color conversion | |
CN111784590A (zh) | 图像处理方法、装置及系统和计算机可存储介质 | |
CN106780291B (zh) | 一种实时畸变图像处理加速装置 | |
US9083912B2 (en) | Method and apparatus for enabling parallel processing of pixels in an image | |
CN105513011A (zh) | 图像缩放方法 | |
CN111338627B (zh) | 前端网页主题颜色调节方法及装置 | |
KR20150019192A (ko) | Avm 시스템을 위한 영상 합성 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150325 |
|
RJ01 | Rejection of invention patent application after publication |