CN109993760A - 一种图片的边缘检测方法和装置 - Google Patents
一种图片的边缘检测方法和装置 Download PDFInfo
- Publication number
- CN109993760A CN109993760A CN201711475409.9A CN201711475409A CN109993760A CN 109993760 A CN109993760 A CN 109993760A CN 201711475409 A CN201711475409 A CN 201711475409A CN 109993760 A CN109993760 A CN 109993760A
- Authority
- CN
- China
- Prior art keywords
- pixel
- picture
- edge
- pixel point
- detected
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种图片的边缘检测方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与所述待检测图片的像素点对应的待着色像素点;根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以区分所述待检测图片的边缘。该实施方式能够快速高效的对图片进行边缘检测。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种图片的边缘检测方法和装置。
背景技术
目前,在很多移动端的应用中,都需要对摄像头采集的图像数据进行实时的处理计算,例如对视频进行实时人脸检测和实时识别计算等。在这些计算操作中,边缘检测是一种重要的图像处理技术,边缘检测能够检测出图像的指定区域并勾勒出轮廓。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:现有的移动端的边缘检测方法是运行在移动端的CPU上的,由于边缘检测的所需的计算量通常较大,在移动端运行环境的处理能力有限的情况下(内存可用性低、内存宽带低以及电源消耗敏感等),由于CPU并发处理能力较低,造成现有移动端的边缘检测方法对于单张图片的边缘检测的运算时间通常较长,不能够实时高效的进行视频流的边缘检测计算。
因此,亟需一种快速高效的图片边缘检测方法和装置。
发明内容
有鉴于此,本发明实施例提供一种图片的边缘检测方法和装置,能够快速高效的对图片进行边缘检测。
为实现上述目的,根据本发明实施例的一个方面,提供了一种图片的边缘检测方法,包括:
构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与所述待检测图片的像素点对应的待着色像素点;
根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以区分所述待检测图片的边缘。
进一步的,所述确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色包括:
对每个片段执行下述步骤:
读取当前片段对应的待检测图片的像素点的纹理信息;
根据该纹理信息,确定当前片段对应的像素点中的边缘像素点;
将该边缘像素点对应的待着色像素点设置为指定颜色。
进一步的,确定片段对应的像素点中的边缘像素点包括:
对片段对应的待检测图片的每个像素点执行下述步骤:
采集当前像素点的每个邻域像素点的颜色值;
根据每个邻域像素点的颜色值计算其灰度值;
根据每个邻域像素点的灰度值计算当前像素点在邻域范围内的x和y方向的差分,以得到当前像素点邻域范围内的灰度变化梯度值;
根据当前像素点邻域范围内的灰度变化梯度值确定当前像素点为边缘像素点。
进一步的,本发明实施例提供的图片的边缘检测方法还包括:
根据所述纹理信息,为每一个片段的除边缘像素点外的其他非边缘像素点对应的待着色像素点设置颜色;
将所述边缘像素点对应的待着色像素点的颜色和非边缘像素点对应的待着色像素点的颜色输入颜色缓冲区,以获得带有边缘轮廓的待检测图片的像素数据。
为实现上述目的,根据本发明实施例的一个方面,提供了一种图片的边缘检测装置,包括:
构建模块,用于构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与所述待检测图片的像素点对应的待着色像素点;
判断模块,用于根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以区分所述待检测图片的边缘。
进一步的,所述判断模块进一步用于对每个片段执行下述步骤:
读取当前片段对应的待检测图片的像素点的纹理信息;
根据该纹理信息,确定当前片段对应的像素点中的边缘像素点;
将该边缘像素点对应的待着色像素点设置为指定颜色。
进一步的,所述判断模块进一步用于对片段对应的待检测图片的每个像素点执行下述步骤:
采集当前像素点的每个邻域像素点的颜色值;
根据每个邻域像素点的颜色值计算其灰度值;
根据每个邻域像素点的灰度值计算当前像素点在邻域范围内的x和y方向的差分,以得到当前像素点邻域范围内的灰度变化梯度值;
根据当前像素点邻域范围内的灰度变化梯度值确定当前像素点为边缘像素点。
进一步的,所述判断模块还用于根据所述纹理信息,为每一个片段的除边缘像素点外的其他非边缘像素点对应的待着色像素点设置颜色,然后将所述边缘像素点对应的待着色像素点的颜色和非边缘像素点对应的待着色像素点的颜色输入颜色缓冲区,以获得带有边缘轮廓的待检测图片的像素数据。
为实现上述目的,根据本发明实施例的一个方面,提供了一种图片的边缘检测电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的图片的边缘检测方法。
为实现上述目的,根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例提供的图片的边缘检测方法。
本发明实施例提供的图片的边缘检测方法和装置,基于GLSL着色语言开发,通过在OpenGLES渲染管线中的片段着色器中确定片段对应的待检测图片的像素点中的边缘像素点,将对图片的边缘像素点的检测过程,分解到每一个片段中,基于片段着色器的并行计算能力,以片段为单位并行的检测图片的边缘像素点,从而极大的提高了图片边缘检测的速度和效率。且GLSL的开发可以完全基于编程语言C++来实现,在Android端和iOS端的代码具有一致性,具有较高的开发效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例提供的图片的边缘检测方法的主要流程的示意图;
图2是本发明实施例提供的OpenGLES渲染管线的渲染流程的示意图;
图3是本发明实施例提供的确定边缘像素点的流程示意图;
图4是本发明实施例提供的像素点的8领域的示意图;
图5是本发明实施例提供的图片的边缘检测装置的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明提供一种图片的边缘检测方法,该方法可以应用于移动端,对移动端采集的图片进行边缘检测,例如,可以应用于对用户通过摄像头采集的视频的每一帧画面进行边缘监测,然后将带有边缘轮廓的视频画面显示给用户。
本发明提供的图片的边缘检测方法,可以基于面向嵌入式系统的开放式图形接口(OpenGL for Embedded Systems,OpenGLES)实现,OpenGLES是开放式图形接口(OpenGraphics Library,OpenGL)的三维图形应用程序编程接口API的子集,其是以移动端设备为目标的高级3D图形应用编程接口,OpenGLES支持的平台包括Android、iOS以及Linux等,此外,其还是基于浏览器的Web图形接口(Web Graphics Library,WebGL)的基础。
本发明方法利用OpenGL着色语言(OpenGL Shading Language,GLSL),在图形卡的图形处理单元(Graphic Processor Unit,GPU)上执行,通过OpenGLES渲染管线中的顶点着色器和片段着色器,使用GPU的并行计算机制进行图片的边缘检测,处理过程快速高效。且GLSL的开发可以完全基于编程语言C++来实现,在Android端和iOS端的代码具有一致性,具有较高的开发效率。当然,本发明提供的方法也可以通过其他编程语言应用于其他提供类似功能的图形接口上。
如图1所示,本发明实施例提供的图片的边缘检测方法包括:步骤S101和步骤S102。在步骤S101中,构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与待检测图片的像素点对应的待着色像素点。
图2所示为OpenGLES渲染管线的渲染流程,渲染管线是指三维渲染的过程中显卡执行的,从几何形状到最终渲染图像的数据传输处理计算的过程。其中,顶点缓冲区/数组对象和纹理表示整个渲染流程的输入,用户可以实际控制顶点着色器的处理过程和像素着色器的处理过程,其余图元装配、光栅化、逐片段操作和帧缓冲区为OpenGLES渲染管线实现的功能,用户不能够自己定制。
在渲染流程中,首先需要预先设置需要渲染的对象,为渲染对象创建顶点缓冲区/数组对象,这些对象预存储在顶点缓冲区或者顶点数组当中,在渲染流程开始后输入到顶点着色器中进行处理,顶点着色器是用来进行顶点处理的可编辑程序,顶点处理包括顶点的坐标变换和顶点法线计算等等。
顶点着色器的输出是一系列经过变换后的顶点的图元信息,这些顶点在图元装配过程中,根据顶点之间的连接关系(点、线以及多边形)进行图元装配,将顶点连接在一起,组成由线和面单元组成的几何形状的网格结构图元。之后再进行视锥体裁剪和根据图元的法线方向抛弃部分不可见的图元。
本发明步骤S101中,构建待检测图片的几何形状的过程在OpenGLES渲染管线的创建顶点缓冲区/数组对象、顶点着色器处理和图元装配阶段实现。在本发明的一种实施方式中,由于待检测图片是四边形的,因此在本步骤中构建一个四边形,即创建四边形顶点的顶点缓冲区/数组对象,然后交由顶点着色器进行顶点处理得到构成四边形的四个顶点,然后在图元装配阶段将四个顶点进行连接,而得到由两个三角形面组成的四边形图元。
在图元装配阶段后是光栅化阶段,光栅化是将图元转换为一组二维片段的过程,每个二维片段都包含了颜色、深度和纹理数据,每个二维片段中的每个元素对应帧缓冲区中的一个像素。
本发明步骤S101中,将图元装配阶段得到的几何形状转换为至少一个片段,是在光栅化阶段实现的,其中,片段是指具有相同属性的一小部分像素区域,每个片段中包括至少一个与待检测图片的像素点对应的待着色像素点。
在本发明的步骤S102中,根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以区分所述待检测图片的边缘。本步骤通过OpenGLES渲染管线的片段着色器处理实现,片段着色器是用于处理片段中的像素的颜色的可编辑程序,片段着色器的输入为待检测图片的纹理信息和光栅化后的二维片段,其进行逐像素点的相关操作。在片段着色器之后,进行逐片段操作,即在片段着色器中对光栅化后得到的每一个片段进行处理。最终将所有片段输出的颜色数据输入帧缓冲区,从而得到待检测图片的边缘像素数据。
由于OpenGLES渲染管线的片段着色器程序在GPU上执行,具有并行计算能力,片段着色器可以并行的处理光栅化后得到的每一个片段。本发明实施例提供的图片的边缘检测方法,在片段着色器中确定片段对应的待检测图片的像素点中的边缘像素点,将对图片的边缘像素点的检测过程,分解到每一个片段中,通过片段着色器的并行计算能力,以片段为单位并行的检测图片的边缘像素点,从而极大的提高了图片边缘检测的速度和效率。
在本发明的一种实施方式中,步骤S102中,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色的过程具体为对每个片段执行下述步骤:首先,读取当前片段对应的待检测图片的像素点的纹理信息,其中,在光栅化过程中,会为每个片断配置纹理坐标以索引待检测图片的纹理像素,通过纹理坐标读取片段对应的待检测图片的像素点的纹理信息。然后根据当前片段的纹理信息,确定当前片段对应的像素点中的边缘像素点,最后将该边缘像素点对应的待着色像素点设置为指定颜色,从而将待检测图片中的边缘像素点和非边缘像素点进行区分显示。
在本发明的一种实施方式中,如图3所示,确定片段对应的待检测图片的像素点中的边缘像素点的过程具体为对片段对应的待检测图片的每个像素点执行下述步骤:首先,进行领域采样,采集当前像素点的邻域内的每个邻域像素点的颜色值。例如,在本发明的一种实施方式中,领域为如图4所示的8领域,其中z5为当前像素点,z1至z4,z6至z9为z5的8个领域像素,读取该8个领域像素的颜色值。当然,根据边缘检测的不同精度需求,在本步骤中可以对应采用不同的领域范围,例如24邻域等。
然后,根据每个邻域像素点的颜色值计算每个邻域像素点的灰度值。例如,在本发明的一种实施方式中,通过下式计算领域像素点的灰度值:
g=0.3R+0.59G+0.11B
其中,R、G、B分别代表像素点的红、绿、蓝三个通道的颜色值,g为像素点的灰度值。其中,R、G、B三通道前面的系数值可以根据人眼对各个通道的敏感程度进行调整设置。
在获得灰度值后,进行灰度值的差分计算,根据每个邻域像素点的灰度值计算当前像素点在邻域范围内的x和y方向的差分,然后根据该x和y方向的差分计算得到当前像素点的邻域范围内灰度变化梯度值。如上例,在本发明的一种实施方式中,通过下述公式计算像素点邻域范围内的灰度变化梯度值:
M=|gx|+|gy|
其中,gx表示x方向的差分,gy表示y方向的差分,M为像素点邻域范围内的灰度变化梯度值,z1至z4,z6至z9分别表示对应领域像素点的灰度值。
根据当前像素点邻域范围内的灰度变化梯度值判断当前像素点是否为边缘像素点,x和y方向的差分的绝对值越大意味着灰度值变化越明显,即边缘特征越明显。例如,可以定义当前像素点邻域范围内的灰度变化梯度值大于某一阈值时,确定当前像素点为边缘像素点,具体可以结合实际边缘检测需要进行配置。
在边缘像素点后,可以将边缘像素点在片段中对应的待着色像素点设置为指定颜色,从而输出边缘轮廓,区分显示图片的边缘。或者,在本发明的一种实施方式中,可以根据像素点的邻域范围内的灰度变化梯度值M来确定对应的待着色像素点的颜色值的输出,即得到图片有梯度变化的边缘轮廓。
例如,通过下式进行颜色值的输出:
gl_FragColor.rgba=M*vec4(0,0,1,1),其中,gl_FragColor.rgba表示片段着色器的输出的颜色值结果变量,vec40,0,1,1)表示颜色四元向量,各个分量初始化为0、0、1、1,M为像素点的邻域范围内的灰度变化梯度值M。
本发明实施例提供的图片的边缘检测方法还包括下述过程,即片段着色器中对每个片段还执行下述步骤:
在确定每一个片段对应的待检测图片的像素点中的边缘像素点后,根据纹理信息,为每一个片段的除边缘像素点外的其他非边缘像素点对应的待着色像素点设置颜色,将边缘像素点和非边缘像素点对应的待着色像素点的颜色输入帧缓冲区中的颜色缓冲区,以获得所述带有边缘轮廓的待检测图片的像素数据,从而展示待检测图片的边缘检测结果。
例如,在对摄像头采集的人脸视频画面进行边缘检测的应用场景中,实时获取视频画面的每一帧图片作为待检测图片,然后通过本发明上述步骤中提供的OpenGLES渲染管线的渲染流程对待检测图片进行人脸边缘检测,在片段着色器中对根据定义的算法确定待检测图片中对应于该片段的边缘像素点和非边缘像素点,将片段中对应于边缘像素点的待着色像素点设置为指定的边缘颜色,将片段中对应于非边缘像素点的待着色像素点设置为原纹理颜色。在将所有片段输出的颜色数据输入帧缓冲区中后,就可以在屏幕上实时的显示出带有人脸边缘轮廓的原视频画面。
本发明实施例还提供一种图片的边缘检测装置,如图5所示,该装置500包括:构建模块501和判断模块502。其中,构建模块501用于构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与待检测图片的像素点对应的待着色像素点。
判断模块502用于根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以获得待检测图片的边缘像素数据。
在本发明实施例中,判断模块进一步用于对每个片段执行下述步骤:
读取当前片段对应的待检测图片的像素点的纹理信息,然后根据该纹理信息,确定当前片段对应的像素点中的边缘像素点,最后,将该边缘像素点对应的待着色像素点设置为指定颜色。
在本发明实施例中,判断模块进一步用于对片段对应的待检测图片的每个像素点执行下述步骤:
采集当前像素点的每个邻域像素点的颜色值,然后根据每个邻域像素点的颜色值计算其灰度值。根据每个邻域像素点的灰度值计算当前像素点在邻域范围内的x和y方向的差分,以得到当前像素点邻域范围内的灰度变化梯度值。最终根据当前像素点邻域范围内的灰度变化梯度值确定当前像素点为边缘像素点。
在本发明实施例中,判断模块还用于根据纹理信息,为每一个片段的除边缘像素点外的其他非边缘像素点对应的待着色像素点设置颜色,然后将边缘像素点对应的待着色像素点的颜色和非边缘像素点对应的待着色像素点的颜色输入颜色缓冲区,以获得带有边缘轮廓的待检测图片的像素数据。
本发明实施例提供的图片的边缘检测方法和装置,基于GLSL着色语言开发,通过在OpenGLES渲染管线中的片段着色器中确定片段对应的待检测图片的像素点中的边缘像素点,将对图片的边缘像素点的检测过程,分解到每一个片段中,基于片段着色器的并行计算能力,以片段为单位并行的检测图片的边缘像素点,从而极大的提高了图片边缘检测的速度和效率。且GLSL的开发可以完全基于编程语言C++来实现,在Android端和iOS端的代码具有一致性,具有较高的开发效率。
图6示出了可以应用本发明实施例的图片的边缘检测方法或图片的边缘检测装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络104用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种客户端应用,例如对采集到的图片进行边缘检测的应用。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对终端设备601、602、603的应用提供支持的后台管理服务器。
需要说明的是,本发明实施例所提供的图片的边缘检测方法一般由终端设备601、602、603执行,相应地,图片的边缘检测装置一般设置于终端设备601、602、603中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CCPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CCPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CCRT)、液晶显示器(LCCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CCPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CCD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括构建模块和判断模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,判断模块还可以被描述为“将确定的边缘像素点对应的待着色像素点设置为指定颜色的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与所述待检测图片的像素点对应的待着色像素点;
根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以获得所述待检测图片的边缘像素数据。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种图片的边缘检测方法,其特征在于,包括:
构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与所述待检测图片的像素点对应的待着色像素点;
根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以区分所述待检测图片的边缘。
2.根据权利要求1所述的方法,其特征在于,所述确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色包括:
对每个片段执行下述步骤:
读取当前片段对应的待检测图片的像素点的纹理信息;
根据该纹理信息,确定当前片段对应的像素点中的边缘像素点;
将该边缘像素点对应的待着色像素点设置为指定颜色。
3.根据权利要求2所述的方法,其特征在于,确定片段对应的像素点中的边缘像素点包括:
对片段对应的待检测图片的每个像素点执行下述步骤:
采集当前像素点的每个邻域像素点的颜色值;
根据每个邻域像素点的颜色值计算其灰度值;
根据每个邻域像素点的灰度值计算当前像素点在邻域范围内的x和y方向的差分,以得到当前像素点邻域范围内的灰度变化梯度值;
根据当前像素点邻域范围内的灰度变化梯度值确定当前像素点为边缘像素点。
4.根据权利要求1所述的方法,其特征在于,还包括:
根据所述纹理信息,为每一个片段的除边缘像素点外的其他非边缘像素点对应的待着色像素点设置颜色;
将所述边缘像素点对应的待着色像素点的颜色和非边缘像素点对应的待着色像素点的颜色输入颜色缓冲区,以获得带有边缘轮廓的待检测图片的像素数据。
5.一种图片的边缘检测装置,其特征在于,包括:
构建模块,用于构建待检测图片的几何形状,并将该几何形状转换为至少一个片段,其中,每个片段包括至少一个与所述待检测图片的像素点对应的待着色像素点;
判断模块,用于根据待检测图片的纹理信息,确定每一个片段对应的待检测图片的像素点中的边缘像素点,并将确定的边缘像素点对应的待着色像素点设置为指定颜色,以区分所述待检测图片的边缘。
6.根据权利要求5所述的装置,其特征在于,所述判断模块进一步用于对每个片段执行下述步骤:
读取当前片段对应的待检测图片的像素点的纹理信息;
根据该纹理信息,确定当前片段对应的像素点中的边缘像素点;
将该边缘像素点对应的待着色像素点设置为指定颜色。
7.根据权利要求6所述的装置,其特征在于,所述判断模块进一步用于对片段对应的待检测图片的每个像素点执行下述步骤:
采集当前像素点的每个邻域像素点的颜色值;
根据每个邻域像素点的颜色值计算其灰度值;
根据每个邻域像素点的灰度值计算当前像素点在邻域范围内的x和y方向的差分,以得到当前像素点邻域范围内的灰度变化梯度值;
根据当前像素点邻域范围内的灰度变化梯度值确定当前像素点为边缘像素点。
8.根据权利要求5所述的装置,其特征在于,所述判断模块还用于根据所述纹理信息,为每一个片段的除边缘像素点外的其他非边缘像素点对应的待着色像素点设置颜色,然后将所述边缘像素点对应的待着色像素点的颜色和非边缘像素点对应的待着色像素点的颜色输入颜色缓冲区,以获得带有边缘轮廓的待检测图片的像素数据。
9.一种图片的边缘检测电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711475409.9A CN109993760A (zh) | 2017-12-29 | 2017-12-29 | 一种图片的边缘检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711475409.9A CN109993760A (zh) | 2017-12-29 | 2017-12-29 | 一种图片的边缘检测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109993760A true CN109993760A (zh) | 2019-07-09 |
Family
ID=67109580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711475409.9A Pending CN109993760A (zh) | 2017-12-29 | 2017-12-29 | 一种图片的边缘检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109993760A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110248242A (zh) * | 2019-07-10 | 2019-09-17 | 广州虎牙科技有限公司 | 一种图像处理和直播方法、装置、设备和存储介质 |
CN111768422A (zh) * | 2020-01-16 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 边缘检测的处理方法、装置、设备及存储介质 |
CN112614210A (zh) * | 2020-12-23 | 2021-04-06 | 万翼科技有限公司 | 工程图纸显示方法、系统及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216932A (zh) * | 2008-01-03 | 2008-07-09 | 威盛电子股份有限公司 | 图形处理装置、单元与执行三角形配置、属性配置的方法 |
CN107045729A (zh) * | 2017-05-05 | 2017-08-15 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及装置 |
CN107392989A (zh) * | 2016-04-29 | 2017-11-24 | Arm有限公司 | 图形处理系统 |
CN107483771A (zh) * | 2017-06-13 | 2017-12-15 | 青岛海信电器股份有限公司 | 一种图像生成的方法和图像显示装置 |
-
2017
- 2017-12-29 CN CN201711475409.9A patent/CN109993760A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216932A (zh) * | 2008-01-03 | 2008-07-09 | 威盛电子股份有限公司 | 图形处理装置、单元与执行三角形配置、属性配置的方法 |
CN107392989A (zh) * | 2016-04-29 | 2017-11-24 | Arm有限公司 | 图形处理系统 |
CN107045729A (zh) * | 2017-05-05 | 2017-08-15 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及装置 |
CN107483771A (zh) * | 2017-06-13 | 2017-12-15 | 青岛海信电器股份有限公司 | 一种图像生成的方法和图像显示装置 |
Non-Patent Citations (1)
Title |
---|
赵婕: "《图像特征提取与语义分析》", 31 July 2015, 重庆大学出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110248242A (zh) * | 2019-07-10 | 2019-09-17 | 广州虎牙科技有限公司 | 一种图像处理和直播方法、装置、设备和存储介质 |
CN110248242B (zh) * | 2019-07-10 | 2021-11-09 | 广州虎牙科技有限公司 | 一种图像处理和直播方法、装置、设备和存储介质 |
CN111768422A (zh) * | 2020-01-16 | 2020-10-13 | 北京沃东天骏信息技术有限公司 | 边缘检测的处理方法、装置、设备及存储介质 |
CN112614210A (zh) * | 2020-12-23 | 2021-04-06 | 万翼科技有限公司 | 工程图纸显示方法、系统及相关装置 |
CN112614210B (zh) * | 2020-12-23 | 2024-03-19 | 深圳市万翼数字技术有限公司 | 工程图纸显示方法、系统及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263816B2 (en) | Method and device for a placement of a virtual object of an augmented or mixed reality application in a real-world 3D environment | |
US11455773B2 (en) | Image processing method and device | |
EP3035292B1 (en) | 3d rendering method and apparatus | |
EP0875860B1 (en) | Precise gradient calculation system and method for a texture mapping system of a computer graphics system | |
US8351654B2 (en) | Image processing using geodesic forests | |
CN114842121B (zh) | 贴图生成模型训练和贴图生成方法、装置、设备及介质 | |
CN109993760A (zh) | 一种图片的边缘检测方法和装置 | |
US10089782B2 (en) | Generating polygon vertices using surface relief information | |
CN110570506B (zh) | 一种地图资源管理方法、装置、计算设备及存储介质 | |
CN107622504A (zh) | 用于处理图片的方法和装置 | |
US20100097388A1 (en) | Graphics processing systems | |
CN110188495A (zh) | 一种基于深度学习的二维户型图生成三维户型图的方法 | |
CN105488840B (zh) | 一种信息处理方法及电子设备 | |
US20150145858A1 (en) | Method and apparatus to process current command using previous command information | |
CN114424239A (zh) | 用于光线追踪应用中的循环模糊的去噪技术 | |
CN109272050A (zh) | 图像处理方法和装置 | |
US10062138B2 (en) | Rendering apparatus and method | |
CN110084873A (zh) | 用于渲染三维模型的方法和装置 | |
CN113648652B (zh) | 对象渲染方法和装置、存储介质及电子设备 | |
CN109448123B (zh) | 模型的控制方法及装置、存储介质、电子设备 | |
CN112508778B (zh) | 一种3d人脸道具贴图方法、终端及存储介质 | |
CN108921792A (zh) | 用于处理图片的方法和装置 | |
CN115311403B (zh) | 深度学习网络的训练方法、虚拟形象生成方法及装置 | |
CN115797661A (zh) | 图像处理方法及装置、电子设备及存储介质 | |
US10062140B2 (en) | Graphics processing systems |
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 |