CN111756997B - 像素存储方法、装置、计算机设备及可读存储介质 - Google Patents
像素存储方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN111756997B CN111756997B CN202010565283.XA CN202010565283A CN111756997B CN 111756997 B CN111756997 B CN 111756997B CN 202010565283 A CN202010565283 A CN 202010565283A CN 111756997 B CN111756997 B CN 111756997B
- Authority
- CN
- China
- Prior art keywords
- image
- preset
- pixel point
- pixel
- yuv
- 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
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
本发明实施例提供一种像素存储方法,包括:获取预设模型的预设图像像素点、预设像素格式和预设像素格式的YUV存储规则;申请与预设图像像素点对应的内存空间,并将内存空间的值设置为预设像素;获取第一图像的第一像素点,并根据预设图像像素点和第一像素点对第一图像进行像素点转换,得到具有第二像素点的第二图像;根据第二像素点、预设图像像素点、YUV存储规则和预设图像补边规则,计算第二图像的YUV各个分量分别在内存空间的起始位置;将第二图像的YUV各个分量,按照YUV存储规则,分别以内存空间对应的起始位置依次存储。本发明能够减少数据的搬运,降低系统的消耗时间,提高系统的处理效率。
Description
技术领域
本发明实施例涉及图像处理领域,尤其涉及一种像素存储方法、装置、计算机设备及可读存储介质。
背景技术
在实际应用中,由于摄像头的像素限制,从摄像头获取的图像像素点和算法模型支持的图像像素点存在一定的差别。此时,需要对获取的图像像素点进行转换,甚至需要对图像进行补边操作,以满足算法模型对图像像素点的要求。补边操作指的是当处理外围的图像像素时,若外围为空白,则取不到像素,此时需要在外围填充预设YUV值(例如,填充128的YUV值,也即灰色),以进行补边/填充操作。
由于多数具备GPU计算功能的芯片通常具备图像处理的硬件模块,故,在现有的图像像素点转换方法中,通过利用具备GPU计算功能的芯片进行图像像素点的转换。然而,现有方法中,对于图像补边操作并进行像素点转换的场景,通常需要大量的数据搬运工作,造成大量的时间消耗,处理效率低下。
因此,本发明旨在解决在图像补边操作并进行像素点转换的场景中,数据搬运工作大,导致系统时间消耗大以及处理效率低下的问题。
发明内容
有鉴于此,有必要提供一种像素存储方法、像素存储装置、计算机设备及可读存储介质,能够解决现有技术在图像补边操作并进行像素点转换的场景中,数据搬运工作大,导致系统时间消耗大以及处理效率低下的问题。
为实现上述目的,本发明实施例提供了一种像素存储方法,所述方法包括:
获取预设模型的预设图像像素点、预设像素格式和所述预设像素格式的YUV存储规则;
根据所述预设图像像素点申请与所述预设图像像素点对应的内存空间,并将所述内存空间的值设置为预设像素;
获取第一图像的第一像素点,并根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像;
根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置;
将所述第二图像的YUV各个分量,按照所述YUV存储规则,分别以所述内存空间对应的起始位置依次存储。
可选地,所述根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像,包括:
将所述预设图像像素点与所述第一像素点进行比较,得到所述第一图像的缩放比例;
根据所述缩放比例,将所述第一图像进行转换,得到具有第二像素点的所述第二图像。
可选地,所述预设图像像素点包括预设宽度和预设高度,所述第一像素点包括第一宽度和第一高度,所述将所述预设图像像素点与所述第一像素点进行比较,得到所述第一图像的缩放比例,包括:
分别计算所述预设宽度与所述第一宽度的第一比值,和所述预设高度与所述第一高度的第二比值;
将所述第一比值和所述第二比值进行比较,得到比较结果;
根据所述比较结果,选择比值大的数值作为所述缩放比例。
可选地,所述根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置,包括:
根据所述预设像素数据格式,确定所述第二图像的所述YUV各个分量的数据比例;
根据所述数据比例、所述YUV存储规则和所述预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置。
可选地,当预设像素格式为YUV420格式时,所述YUV各个分量的数据比例为4:1:1,所述预设图像补边规则至少包括上下补边和左右补边,所述YUV存储规则包括Y分量、U分量、V分量分别打包,并依次存储或所述Y分量和所述UV分量分别打包,所述Y分量和所述UV分量依次存储,所述U分量和所述V分量交错存储。
为实现上述目的,本发明实施例还提供了一种像素存储装置,包括:
获取模块,用于获取预设模型的预设图像像素点、预设像素格式和所述预设像素格式的YUV存储规则;
申请模块,用于根据所述预设图像像素点申请与所述预设图像像素点对应的内存空间,并将所述内存空间的值设置为预设像素;
转换模块,用于获取第一图像的像素点,并根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像;
计算模块,用于根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV分量分别在所述内存空间的起始位置;
存储模块,用于将所述第二图像的YUV各个分量,按照所述YUV存储规则,分别以所述内存空间对应的起始位置依次存储。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上所述的像素存储方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的像素存储方法的步骤。
本发明实施例提供的像素存储方法、像素存储装置、计算机设备及可读存储介质,通过先申请与预设图像像素点对应的内存空间,并将所述内存空间设置为预设像素,然后,将获取的第一图像进行像素点转换,得到具有第二像素点的第二图像,接着,根据所述第二像素点、所述预设图像像素点、YUV存储规则和预设图像补边规则,计算所述第二图像的YUV分量分别在所述内存空间的起始位置,最后将所述第二图像的YUV各个分量,按照所述YUV存储规则,分别以所述内存空间对应的起始位置依次存储。本发明通过直接将转换后的第二图像保存至所述内存空间中,极大地减少了数据的搬运,从而降低系统的消耗时间,提高了系统的处理效率。
附图说明
图1为本发明实施例一之像素存储方法的步骤流程图;
图2为像素填充效果图;
图3为所述图1中步骤S104中的根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像的一种可选的步骤流程图;
图4为所述图1中步骤S108一种可选的步骤流程图;
图5为本发明实施例二之像素存储装置的程序模块示意图;
图6为本发明实施例三之计算机设备的硬件架构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
名词解释:
像素点:也即图像的尺寸大小,包括图像的宽度和高度。
实施例一
参阅图1,示出了本发明实施例一之像素存储方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。需要说明是,本实施例以计算机设备为执行主体进行示例性描述,所述计算机设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便携式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。具体包括以下步骤:
步骤S100:获取预设模型的预设图像像素点、预设像素格式和所述预设像素格式的YUV存储规则。
在深度学习领域,通常通过输入预设像素点的图像至预设模型中进行深度学习。例如:预设模型默认输入图像像素点为512*512,也即输入图像尺寸为:宽512,高512。每个图像均有对应的像素格式,包括YUV像素格式,其中所述YUV像素格式包括planar和packed两类。所述planar的YUV像素格式为:先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。所述packed的YUV像素格式为:每个像素点的Y,U,V是连续交替存储的。Y表示明亮度,也即灰度值;U和V表示色度,用于描述影像色彩和饱和度,用于指定像素的颜色。每种像素格式均有对应的YUV存储规则,例如,YUV420格式的YUV存储规则包括:Y分量、U分量、V分量分别打包,并依次存储;或者所述Y分量和所述UV分量分别打包,所述Y分量和所述UV分量依次存储,所述U分量和所述V分量交错存储。其中,YUV420格式的YUV各个分量的数据比例为4:1:1,也即每4个Y分量公用一组UV分量。
步骤S102:根据所述预设图像像素点申请与所述预设图像像素点对应的内存空间,并将所述内存空间的值设置为预设像素。
具体地,当将输入至预设模型的图像进行存储时,向内存空间申请与所述预设图像像素点大小一致的内存空间,然后将所述内存空间的值设置为灰度图像要求的YUV值。例如,所述预设图像像素点为M*N,则申请像素点为M*N的内存空间。所述预设图像像素点为512*512,则申请像素点为512*512的内存空间。然后,将所述内存空间的值设置为YUV为128的值。
步骤S104:获取第一图像的第一像素点,并根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像。
具体地,当从摄像头获取到第一图像的第一像素点后,在实际应用中,所述第一像素点与所述预设图像像素点存在较大的差别。此时需要根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像,以满足所述预设模型对输入图像的要求。例如,预设图像像素点为512*512,第一像素点为720P(1280*720),此时,根据所述第一像素点和所述预设图像像素点进行转换,得到具有第二像素点的第二图像,其中,所述第二像素点小于或等于所述预设图像像素点。
需要说明的是,当所述第二像素点小于所述预设图像像素点时,需要对所述第二图像进行补边操作,以使得补边后的图像像素点等于所述预设图像像素点。当然,具体的补边规则,可进行设定,然后根据所述补边规则对所述第二图像进行补边。
例如,输入的第一图像为YUV格式,像素点为宽度为W,高度为H。所述预设模型的预设图像像素点宽度为M,高度为N。所述第一图像转换前后,宽高比有改变,即当将所述第一图像同比例转换成第二图像后,将多余区域填充成灰度值(也即YUV值为128),效果图如图2所示。
现有的像素点转换方法包括:(1)在CPU上面调用OpenCV库进行软件转换,此种方法需要CPU进行大量计算,耗时较多,此种方法适用于高性能服务器,并不适用于落地场景下的低性能芯片;(2)芯片内置加速处理单元,对OpenCV库进行加速处理,可以大大降低图像的时间,缺点是符合OpenCV硬件加速的芯片种类较少,移植到其他不具备此性能的平台,这种优势不复存在。通过本发明的实现的像素点转换,既适用于落地场景下的低性能芯片,同时芯片兼容性强,极大地降低了硬件成本。
在示例性的实施例中,如图3所示,所述步骤S104中的根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像,可以包括步骤S200和步骤S202。
步骤S200:将所述预设图像像素点与所述第一像素点进行比较,得到所述第一图像的缩放比例。
具体地,将所述预设图像像素点的预设宽度和所述第一像素点的第一宽度进行比较,并计算所述第一像素点的第一宽度和所述预设图像像素点的预设宽度的第一比值。将所述预设图像像素点的预设高度和所述第一像素点的第一高度进行比较,并计算所述第一像素点的第一高度和所述预设图像像素点的预设高度的第二比值。在实际应用中,可以从所述第一比值和所述第二比值中选择比值大的数值作为所述第一图像的缩放比例。例如,第一图像的像素点为1280*720,所述预设图像像素点为512*512,经过比较,1280为512的2.5倍,720为512的1.40625,则选择2.5作为所述第一图像的缩放比例。通过选择比值大的数值作为所述缩放比例,能够使得所述第一图像转换后符合所述预设图像像素点的要求。
步骤S202:根据所述缩放比例,将所述第一图像进行转换,得到具有第二像素点的所述第二图像。
具体地,根据计算出的所述缩放比例,将所述第一图像进行缩放,得到第二图像,其中所述第二图像的像素点为第二像素点。例如,将像素点为1280*720的所述第一图像以2.5的比例进行缩小时,得到第二像素点为512*288的第二图像。
本实施例通过根据所述预设图像像素点和所述第一像素点,计算所述第一图像的缩放比例,并根据所述缩放比例将所述第一图像进行转换,能够将所述第一图像转换成符合预设图像像素点的图像,能够有效地减少内存空间的占用。
步骤S106:根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV分量分别在所述内存空间的起始位置。
具体地,所述第二像素点确定所述第二图像的大小,所述预设图像像素点确定所述内存空间的大小,所述YUV存储规则确定所述YUV各个分量的存储关系,所述预设图像补边规则确定所述内存空间中存储所述第二图像后剩余空间存储预设像素的存储方式。根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,即可计算所述第二图像的YUV分量分别在所述内存空间的起始位置。
需要说明的是,所述预设图像补边规则可以为上下补边和左右补边等,当然,在其他实施例中,可以为其他的补边方式,发明并不作限定。在本发明实施例中,仅以上下补边方式为例进行示例性的说明。
在示例性的实施例中,如图4所示,所述步骤S106可以包括步骤S300和步骤S302。
步骤S300:根据所述预设像素数据格式,确定所述第二图像的所述YUV各个分量的数据比例。
具体地,每种预设像素数据格式对应有确定的YUV各个分量的数据比例。例如,所述预设像素数据格式为YUV420格式,则确定所述Y分量:U分量:V分量=4:1:1。当然,在其他实施例中,可以是其他的像素数据格式,在此仅以YUV420格式进行示例性的说明。
步骤S302:根据所述数据比例、所述YUV存储规则和所述预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置。
在示例性的实施例中,当所述预设图像补边规则为在所述第二图像的上下以n:m的数据比例进行补边时,且所述预设YUV存储规则为Y分量、U分量、V分量分别打包,并依次存储时,计算公式为:
其中,所述Ys表示所述Y分量在所述内存空间的起始位置;所述Us表示所述U分量在所述内存空间的起始位置;所述Vs表示所述V分量在所述内存空间的起始位置;所述a表示所述预设图像像素点,所述b表示所述第二像素点,所述n和所述m均为正数。
示例性地,若在所述第二图像的上下均等补边,也即n:m=1:1,且所述预设YUV存储规则为Y分量、U分量、V分量分别打包,并依次存储时,所述预设图像像素点a=512*512,所述第二像素点b=512*288,则所述Y分量在所述内存空间的起始位置Ys=512*112+1;所述U分量在所述内存空间的起始位置所述V分量在所述内存空间的起始位置
通过本实施例,可以快速地确定各个分量在所述内存空间的起始位置。
步骤S108:将所述第二图像的YUV各个分量,按照所述YUV存储规则,分别以所述内存空间对应的起始位置依次存储。
具体地,当所述预设图像补边规则为在所述第二图像的上下以1:1的数据比例进行补边时,且所述预设YUV存储规则为Y分量、U分量、V分量分别打包,并依次存储时,所述Y分量在所述内存空间的存储位置为512*112+1~512*112+512*288;所述U分量在所述内存空间的存储位置为所述V分量在所述内存空间的存储位置为
通过此种方式,占用的内存空间为216K Bytes,同时减少216K Bytes的内存消耗和内存拷贝时间消耗,降低硬件成本。
在实际应用中,通常先申请与所述第二像素点对应大小的第一内存空间,所述第一内存空间可以用于存储所述第二图像。然后申请与所述预设图像像素点对应大小的第二内存空间,并将所述第二图像的矩阵值拷贝至所述第二内存空间的对应位置。然而,这种通过申请两块内存空间(包括第一内存空间和第二内存空间)的方式,由于所述两块内存空间存储的数据内容大部分相同,造成了内存空间的极大浪费。同时,在将所述第二图像的矩阵值拷贝至所述第二内存空间的对应位置时,这种进行大量数据拷贝的方式,极大地造成了系统的处理时间消耗,严重降低了系统的处理性能。
本发明实施例提供的像素存储方法仅仅申请一块与预设图像像素点对应的内存空间,极大地提高了内存空间的利用率,同时,通过直接将转换后的第二图像保存至所述内存空间中,极大地减少了数据的搬运,从而降低系统的消耗时间,提高了系统的处理效率。
实施例二
请参阅图5,示出了本发明实施例二之像素存储装置的程序模块示意图。所述像素存储装置可以应用于电子设备中。在本实施例中,像素存储装置20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述像素存储装置。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述像素存储装置20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
获取模块201,用于获取预设模型的预设图像像素点、预设像素格式和所述预设像素格式的YUV存储规则。
在深度学习领域,通常通过输入预设像素点的图像至预设模型中进行深度学习。例如:预设模型默认输入图像像素点为512*512,也即输入图像尺寸为:宽512,高512。每个图像均有对应的像素格式,包括YUV像素格式,其中所述YUV像素格式包括planar和packed两类。所述planar的YUV像素格式为:先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。所述packed的YUV像素格式为:每个像素点的Y,U,V是连续交替存储的。Y表示明亮度,也即灰度值;U和V表示色度,用于描述影像色彩和饱和度,用于指定像素的颜色。每种像素格式均有对应的YUV存储规则,例如,YUV420格式的YUV存储规则包括:Y分量、U分量、V分量分别打包,并依次存储;或者所述Y分量和所述UV分量分别打包,所述Y分量和所述UV分量依次存储,所述U分量和所述V分量交错存储。其中,YUV420格式的YUV各个分量的数据比例为4:1:1,也即每4个Y分量公用一组UV分量。
申请模块202,用于根据所述预设图像像素点申请与所述预设图像像素点对应的内存空间,并将所述内存空间的值设置为预设像素。
具体地,当将输入至预设模型的图像进行存储时,所述申请模块202向内存空间申请与所述预设图像像素点大小一致的内存空间,然后将所述内存空间的值设置为灰度图像要求的YUV值。例如,所述预设图像像素点为M*N,则申请像素点为M*N的内存空间。所述预设图像像素点为512*512,则所述申请模块202申请像素点为512*512的内存空间。然后,所述申请模块202将所述内存空间的值设置为YUV为128的值。
转换模块203,用于获取第一图像的第一像素点,并根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像。
具体地,当从摄像头获取到第一图像的第一像素点后,在实际应用中,所述第一像素点与所述预设图像像素点存在较大的差别。此时所述转换模块203需要根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像,以满足所述预设模型对输入图像的要求。例如,预设图像像素点为512*512,第一像素点为720P(1280*720),此时,所述转换模块203根据所述第一像素点和所述预设图像像素点进行转换,得到具有第二像素点的第二图像,其中,所述第二像素点小于或等于所述预设图像像素点。
需要说明的是,当所述第二像素点小于所述预设图像像素点时,所述像素存储装置20中的补边模块还需要对所述第二图像进行补边操作,以使得补边后的图像像素点等于所述预设图像像素点。当然,具体的补边规则,可进行设定,然后根据所述补边规则对所述第二图像进行补边。
例如,输入的第一图像为YUV格式,像素点为宽度为W,高度为H。所述预设模型的预设图像像素点宽度为M,高度为N。所述第一图像转换前后,宽高比有改变,即当所述转换模块203将所述第一图像同比例转换成第二图像后,所述补边模块将多余区域填充成灰度值(也即YUV值为128),效果图如图2所示。
现有的像素点转换方法包括:(1)在CPU上面调用OpenCV库进行软件转换,此种方法需要CPU进行大量计算,耗时较多,此种方法适用于高性能服务器,并不适用于落地场景下的低性能芯片;(2)芯片内置加速处理单元,对OpenCV库进行加速处理,可以大大降低图像的时间,缺点是符合OpenCV硬件加速的芯片种类较少,移植到其他不具备此性能的平台,这种优势不复存在。通过本发明的实现的像素点转换,既适用于落地场景下的低性能芯片,同时芯片兼容性强,极大地降低了硬件成本。
在示例性的实施例中,所述转换模块203具体包括比较单元和转换单元。
所述比较单元,用于将所述预设图像像素点与所述第一像素点进行比较,得到所述第一图像的缩放比例。
具体地,所述比较单元将所述预设图像像素点的预设宽度和所述第一像素点的第一宽度进行比较,并计算所述第一像素点的第一宽度和所述预设图像像素点的预设宽度的第一比值。所述比较单元将所述预设图像像素点的预设高度和所述第一像素点的第一高度进行比较,并计算所述第一像素点的第一高度和所述预设图像像素点的预设高度的第二比值。在实际应用中,所述比较单元可以从所述第一比值和所述第二比值中选择比值大的数值作为所述第一图像的缩放比例。例如,第一图像的像素点为1280*720,所述预设图像像素点为512*512,经过比较,1280为512的2.5倍,720为512的1.40625,则选择2.5作为所述第一图像的缩放比例。通过选择比值大的数值作为所述缩放比例,能够使得所述第一图像转换后符合所述预设图像像素点的要求。
所述转换单元,用于根据所述缩放比例,将所述第一图像进行转换,得到具有第二像素点的所述第二图像。
具体地,所述转换单元根据计算出的所述缩放比例,将所述第一图像进行缩放,得到第二图像,其中所述第二图像的像素点为第二像素点。例如,将像素点为1280*720的所述第一图像以2.5的比例进行缩小时,得到第二像素点为512*288的第二图像。
本实施例通过根据所述预设图像像素点和所述第一像素点,计算所述第一图像的缩放比例,并根据所述缩放比例将所述第一图像进行转换,能够将所述第一图像转换成符合预设图像像素点的图像,能够有效地减少内存空间的占用。
计算模块204,用于根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV分量分别在所述内存空间的起始位置。
具体地,所述第二像素点确定所述第二图像的大小,所述预设图像像素点确定所述内存空间的大小,所述YUV存储规则确定所述YUV各个分量的存储关系,所述预设图像补边规则确定所述内存空间中存储所述第二图像后剩余空间存储预设像素的存储方式。所述计算模块204根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,即可计算所述第二图像的YUV分量分别在所述内存空间的起始位置。
需要说明的是,所述预设图像补边规则可以为上下补边和左右补边等,当然,在其他实施例中,可以为其他的补边方式,发明并不作限定。在本发明实施例中,仅以上下补边方式为例进行示例性的说明。
在示例性的实施例中,所述计算模块204可以包括确定单元和计算单元。
所述确定单元,用于根据所述预设像素数据格式,确定所述第二图像的所述YUV各个分量的数据比例。
具体地,每种预设像素数据格式对应有确定的YUV各个分量的数据比例。例如,所述预设像素数据格式为YUV420格式,则所述确定单元确定所述Y分量:U分量:V分量的数据比例为4:1:1。当然,在其他实施例中,可以是其他的像素数据格式,在此仅以YUV420格式进行示例性的说明。
所述计算单元,用于根据所述数据比例、所述YUV存储规则和所述预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置。
在示例性的实施例中,当所述预设图像补边规则为在所述第二图像的上下以n:m的数据比例进行补边时,且所述预设YUV存储规则为Y分量、U分量、V分量分别打包,并依次存储时,计算公式为:
其中,所述Yμ表示所述Y分量在所述内存空间的起始位置;所述Us表示所述U分量在所述内存空间的起始位置;所述Vs表示所述V分量在所述内存空间的起始位置;所述a表示所述预设图像像素点,所述b表示所述第二像素点,所述n和所述m均为正数。
示例性地,若在所述第二图像的上下均等补边,也即n:m=1:1,且所述预设YUV存储规则为Y分量、U分量、V分量分别打包,并依次存储时,所述预设图像像素点a=512*512,所述第二像素点b=512*288,则所述Y分量在所述内存空间的起始位置Ys=512*112+1;所述U分量在所述内存空间的起始位置所述V分量在所述内存空间的起始位置
通过本实施例,可以快速地确定各个分量在所述内存空间的起始位置。
存储模块205,用于将所述第二图像的YUV各个分量,按照所述YUV存储规则,分别以所述内存空间对应的起始位置依次存储。
具体地,当所述预设图像补边规则为在所述第二图像的上下以1:1的比例进行补边时,且所述预设YUV存储规则为Y分量、U分量、V分量分别打包,并依次存储时,所述Y分量在所述内存空间的存储位置为512*112+1~512*112+512*288;所述U分量在所述内存空间的存储位置为所述V分量在所述内存空间的存储位置为
通过此种方式,占用的内存空间为216K Bytes,同时减少216K Bytes的内存消耗和内存拷贝时间消耗,降低硬件成本。
在实际应用中,通常先申请与所述第二像素点对应大小的第一内存空间,所述第一内存空间可以用于存储所述第二图像。然后申请与所述预设图像像素点对应大小的第二内存空间,并将所述第二图像的矩阵值拷贝至所述第二内存空间的对应位置。然而,这种通过申请两块内存空间(包括第一内存空间和第二内存空间)的方式,由于所述两块内存空间存储的数据内容大部分相同,造成了内存空间的极大浪费。同时,在将所述第二图像的矩阵值拷贝至所述第二内存空间的对应位置时,这种进行大量数据拷贝的方式,极大地造成了系统的处理时间消耗,严重降低了系统的处理性能。
本发明实施例提供的像素存储装置仅仅申请一块与预设图像像素点对应的内存空间,极大地提高了内存空间的利用率,同时,通过直接将转换后的第二图像保存至所述内存空间中,极大地减少了数据的搬运,从而降低系统的消耗时间,提高了系统的处理效率。
实施例三
请参阅图6,示出了本发明实施例三之计算机设备的硬件架构示意图。计算机设备2包括,但不仅限于,可通过系统总线相互通信连接存储器21、处理22以及网络接口23,图6仅示出了具有组件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,所述存储器也可以是所述计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器21还可以既包括所述计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述计算机设备2的操作系统和各类应用软件,例如像素存储装置20的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述计算机设备2的总体操作。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述像素存储装置20等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子设备之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图6仅示出了具有部件21-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述数据的导入系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
实施例四
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的像素存储方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart MediaCard,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的像素存储方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种像素存储方法,其特征在于,所述方法包括:
获取预设模型的预设图像像素点、预设像素格式和所述预设像素格式的YUV存储规则,其中,所述像素点指的是图像分辨率;
根据所述预设图像像素点申请与所述预设图像像素点对应的内存空间,并将所述内存空间的值设置为预设像素;
获取第一图像的第一像素点,并根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像,
其中,所述根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像,包括:
将所述预设图像像素点与所述第一像素点进行比较,得到所述第一图像的缩放比例;
所述预设图像像素点包括预设宽度和预设高度,所述第一像素点包括第一宽度和第一高度,所述将所述预设图像像素点与所述第一像素点进行比较,得到所述第一图像的缩放比例,包括:
分别计算所述第一宽度与所述预设宽度的第一比值,和所述第一高度与所述预设高度的第二比值;
将所述第一比值和所述第二比值进行比较,得到比较结果;
根据所述比较结果,选择比值大的数值作为所述缩放比例;
根据所述缩放比例,将所述第一图像进行缩小转换,得到具有第二像素点的所述第二图像;
根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置;
将所述第二图像的YUV各个分量,按照所述YUV存储规则,分别以所述YUV各个分量在所述内存空间对应的起始位置依次存储。
2.如权利要求1所述的像素存储方法,其特征在于,所述根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置,包括:
根据所述预设像素格式,确定所述第二图像的所述YUV各个分量的数据比例;
根据所述数据比例、所述YUV存储规则和所述预设图像补边规则,计算所述第二图像的YUV各个分量分别在所述内存空间的起始位置。
3.如权利要求2所述的像素存储方法,其特征在于,当预设像素格式为YUV420格式时,所述YUV各个分量的数据比例为4:1:1,所述预设图像补边规则至少包括上下补边和左右补边,所述YUV存储规则包括Y分量、U分量、V分量分别打包,并依次存储或所述Y分量和UV分量分别打包,所述Y分量和所述UV分量依次存储,所述U分量和所述V分量交错存储。
5.一种像素存储装置,其特征在于,包括:
获取模块,用于获取预设模型的预设图像像素点、预设像素格式和所述预设像素格式的YUV存储规则,其中,所述像素点指的是图像分辨率;
申请模块,用于根据所述预设图像像素点申请与所述预设图像像素点对应的内存空间,并将所述内存空间的值设置为预设像素;
转换模块,用于获取第一图像的第一像素点,并根据所述预设图像像素点和所述第一像素点对所述第一图像进行像素点转换,得到具有第二像素点的第二图像,
其中,所述转换模块包括比较单元和转换单元:
所述比较单元,用于将所述预设图像像素点与所述第一像素点进行比较,得到所述第一图像的缩放比例;
所述预设图像像素点包括预设宽度和预设高度,所述第一像素点包括第一宽度和第一高度,所述比较单元具体用于:
分别计算所述第一宽度与所述预设宽度的第一比值,和所述第一高度与所述预设高度的第二比值;
将所述第一比值和所述第二比值进行比较,得到比较结果;
根据所述比较结果,选择比值大的数值作为所述缩放比例;
所述转换单元,用于根据所述缩放比例,将所述第一图像进行缩小转换,得到具有第二像素点的所述第二图像;
计算模块,用于根据所述第二像素点、所述预设图像像素点、所述YUV存储规则和预设图像补边规则,计算所述第二图像的YUV分量分别在所述内存空间的起始位置;
存储模块,用于将所述第二图像的YUV各个分量,按照所述YUV存储规则,分别以所述YUV各个分量在所述内存空间对应的起始位置依次存储。
6.一种计算机设备,其特征在于,所述计算机设备存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4中任一项所述的像素存储方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-4中任一项所述的像素存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010565283.XA CN111756997B (zh) | 2020-06-19 | 2020-06-19 | 像素存储方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010565283.XA CN111756997B (zh) | 2020-06-19 | 2020-06-19 | 像素存储方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756997A CN111756997A (zh) | 2020-10-09 |
CN111756997B true CN111756997B (zh) | 2022-01-11 |
Family
ID=72674876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010565283.XA Active CN111756997B (zh) | 2020-06-19 | 2020-06-19 | 像素存储方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111756997B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1049763A (zh) * | 1989-08-25 | 1991-03-06 | 德国汤姆森-勃朗特有限公司 | 用于扩展数字信号的方法 |
CN1132981A (zh) * | 1994-12-06 | 1996-10-09 | 索尼公司 | 视频信号宽高比转换装置 |
CN1574977A (zh) * | 2003-05-28 | 2005-02-02 | 精工爱普生株式会社 | 图像尺寸的变更方法及装置 |
CN1997158A (zh) * | 2006-12-29 | 2007-07-11 | 北京中星微电子有限公司 | Jpeg 图像压缩时非标准图像尺寸的图像数据处理装置及方法 |
CN101692336A (zh) * | 2009-10-09 | 2010-04-07 | 青岛海信宽带多媒体技术有限公司 | 一种图像的缩小方法 |
JP2011004019A (ja) * | 2009-06-17 | 2011-01-06 | Ricoh Co Ltd | 動画像処理装置、動画像処理装置の制御方法、プログラム及び記録媒体 |
WO2015040703A1 (ja) * | 2013-09-18 | 2015-03-26 | 株式会社吉田製作所 | 画像処理装置及びx線撮影装置 |
CN110471701A (zh) * | 2019-08-12 | 2019-11-19 | Oppo广东移动通信有限公司 | 图像渲染的方法、装置、存储介质及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005136902A (ja) * | 2003-10-31 | 2005-05-26 | Ricoh Co Ltd | 画像データ処理装置 |
CN102567950A (zh) * | 2011-12-27 | 2012-07-11 | 深圳市万兴软件有限公司 | 一种图像缩放方法及系统 |
CN110213458B (zh) * | 2019-05-31 | 2022-08-26 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置及存储介质 |
-
2020
- 2020-06-19 CN CN202010565283.XA patent/CN111756997B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1049763A (zh) * | 1989-08-25 | 1991-03-06 | 德国汤姆森-勃朗特有限公司 | 用于扩展数字信号的方法 |
CN1132981A (zh) * | 1994-12-06 | 1996-10-09 | 索尼公司 | 视频信号宽高比转换装置 |
CN1574977A (zh) * | 2003-05-28 | 2005-02-02 | 精工爱普生株式会社 | 图像尺寸的变更方法及装置 |
CN1997158A (zh) * | 2006-12-29 | 2007-07-11 | 北京中星微电子有限公司 | Jpeg 图像压缩时非标准图像尺寸的图像数据处理装置及方法 |
JP2011004019A (ja) * | 2009-06-17 | 2011-01-06 | Ricoh Co Ltd | 動画像処理装置、動画像処理装置の制御方法、プログラム及び記録媒体 |
CN101692336A (zh) * | 2009-10-09 | 2010-04-07 | 青岛海信宽带多媒体技术有限公司 | 一种图像的缩小方法 |
WO2015040703A1 (ja) * | 2013-09-18 | 2015-03-26 | 株式会社吉田製作所 | 画像処理装置及びx線撮影装置 |
CN110471701A (zh) * | 2019-08-12 | 2019-11-19 | Oppo广东移动通信有限公司 | 图像渲染的方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111756997A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652845A (zh) | 异常细胞自动标注方法、装置、电子设备及存储介质 | |
CN108159693B (zh) | 游戏场景构建方法及装置 | |
CN112541902A (zh) | 相似区域搜索方法、装置、电子设备及介质 | |
CN113538502A (zh) | 图片裁剪方法、装置、电子设备及存储介质 | |
CN111476225A (zh) | 基于人工智能的车内人脸识别方法、装置、设备及介质 | |
US20170315773A1 (en) | Virtualizing Applications for Per-Monitor Displaying | |
EP4075381B1 (en) | Image processing method and system | |
CN112837254B (zh) | 一种图像融合方法、装置、终端设备及存储介质 | |
CN111756997B (zh) | 像素存储方法、装置、计算机设备及可读存储介质 | |
CN112184538B (zh) | 图像加速方法、相关装置、设备及存储介质 | |
CN112419430B (zh) | 动画播放方法、装置及计算机设备 | |
CN116127261B (zh) | 处理器中矩阵乘累加方法、装置及电子设备 | |
CN113140292A (zh) | 图像异常区域浏览方法、装置、移动端设备及存储介质 | |
US9373193B2 (en) | Method and apparatus for detecting and avoiding conflicts of space entity element annotations | |
CN112528984A (zh) | 图像信息抽取方法、装置、电子设备及存储介质 | |
CN108734665A (zh) | 一种图像的校正方法、装置、设备及存储介质 | |
US8502832B2 (en) | Floating point texture filtering using unsigned linear interpolators and block normalizations | |
CN113780286A (zh) | 对象识别方法及装置、存储介质、电子装置 | |
CN113436347A (zh) | 一种三维图像压缩方法 | |
CN110941399A (zh) | 数据处理方法、装置和电子设备 | |
CN111722823A (zh) | 自适应屏幕分辨率的方法、装置、存储介质及电子设备 | |
CN118312130B (zh) | 数据处理方法及装置、处理器、电子设备、存储介质 | |
CN114407364B (zh) | 三维模型的切片方法、打印方法、打印系统及电子设备 | |
US20240233082A9 (en) | Optimized image processing filter | |
CN116993798A (zh) | 一种图像处理方法和电子设备 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40032046 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |