CN114726997B - 图像存储及读取方法、装置、电子设备及存储介质 - Google Patents
图像存储及读取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114726997B CN114726997B CN202110004481.3A CN202110004481A CN114726997B CN 114726997 B CN114726997 B CN 114726997B CN 202110004481 A CN202110004481 A CN 202110004481A CN 114726997 B CN114726997 B CN 114726997B
- Authority
- CN
- China
- Prior art keywords
- application program
- preview image
- image
- section
- data length
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000004044 response Effects 0.000 claims abstract description 28
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 claims description 53
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 claims description 53
- 101150053844 APP1 gene Proteins 0.000 claims description 30
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 claims description 30
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 claims description 30
- 239000003550 marker Substances 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 9
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 claims description 8
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 claims description 8
- 239000012634 fragment Substances 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- 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/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Facsimiles In General (AREA)
Abstract
本公开涉及一种图像存储及读取方法、装置、电子设备及存储介质,以解决相关技术中提供的预览图像清晰度不高的问题。所述方法包括:响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码。这样,可以在存储目标图像时,可以根据目标分辨率存储预览图像,可以提高提供的预览图像的清晰度。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及图像存储及读取方法、装置、电子设备及存储介质。
背景技术
JPEG(Joint Photographic Experts Group,联合图像专家组)是面向连续色调静止图像(照片、视频)的一种压缩标准,几乎所有的拍照设备都支持将拍摄内容保存为JPEG格式。拍照设备(例如,智能手机,数码相机),在提供照相功能的同时提供图像预览功能,若直接提供图像的原图供用户预览,会造成预览过程中解码时间较长,并且存储图像的原图会占用较大的内存。因此,为缩短预览过程中的解码时间以及减少对内存的占用,通常会提供图像的预览图像供用户浏览。
相关技术中,JFIF(JPEG File Interchange format,JPEG文件交换格式)使用第一个应用程序标记段APP0(Application Marker Segment 0)(APPMarker为0xFFE0)插入拍摄内容的配置数据和存储预览图像,而为避免与JFIF的格式冲突,Exif(Exchange imagefile format,可交换图像文件格式)使用第二个应用程序标记段APP1(APPMarker为0xFFE1)插入拍摄内容的配置数据和存储预览图像。
发明内容
为克服相关技术中存在的问题,本公开提供一种图像存储及读取方法、装置、电子设备及存储介质。
根据本公开实施例的第一方面,提供一种图像存储方法,包括:
响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;
将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码。
可选地,所述根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,包括:
根据所述指令,从所述应用程序标记段APPn中选取第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段,所述第一目标应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;或者,
从所述应用程序标记段APPn中选取出能够存储的数据总长度大于或等于所述预览图像的数据长度的第二目标应用程序标记段。
可选地,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于预览图像的数据长度。
可选地,所述应用程序标记段APPn中的每一应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度,所述根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,包括:
在确定所述数据长度大于或等于预设的长度阈值的情况下,在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段;
所述方法还包括:
在确定所述数据长度小于所述长度阈值的情况下,将所述预览图像存储至所述目标图像对应的所述应用程序标记段APP1或者所述应用程序标记段APP2中。
可选地,所述响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度,包括:
响应于存储目标图像的预览图像的指令,获取拍摄所述目标图像的电子设备的屏幕分辨率;
根据所述屏幕分辨率确定所述预览图像的数据长度。
可选地,所述响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度,包括:
响应于存储目标图像的预览图像的指令,获取用于展示所述预览图像的应用程序预设的分辨率参数;
根据所述分辨率参数确定所述预览图像的数据长度。
根据本公开实施例的第二方面,提供一种图像读取方法,包括:
响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,其中,n为3至15中的任意一个自然数;
从选取的应用程序标记段中读取预览图像;
展示读取到的所述预览图像。
可选地,所述从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,包括:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
可选地,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于预览图像的数据长度。
根据本公开实施例的第三方面,提供一种图像存储装置,包括:
确定模块,被配置为响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
选取模块,被配置为根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;
存储模块,被配置为将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码。
可选地,所述选取模块,被配置为:
根据所述指令,从所述应用程序标记段APPn中选取第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段,所述第一目标应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;或者,
从所述应用程序标记段APPn中选取出能够存储的数据总长度大于或等于所述预览图像的数据长度的第二目标应用程序标记段。
可选地,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于预览图像的数据长度。
可选地,所述应用程序标记段APPn中的每一应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;
所述选取模块,被配置为:
在确定所述数据长度大于或等于预设的长度阈值的情况下,在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段;
在确定所述数据长度小于所述长度阈值的情况下,将所述预览图像存储至所述目标图像对应的所述应用程序标记段APP1或者所述应用程序标记段APP2中。
可选地,所述确定模块,被配置为:
响应于存储目标图像的预览图像的指令,获取拍摄所述目标图像的电子设备的屏幕分辨率;
根据所述屏幕分辨率确定所述预览图像的数据长度。
可选地,所述确定模块,被配置为:
响应于存储目标图像的预览图像的指令,获取用于展示所述预览图像的应用程序预设的分辨率参数;
根据所述分辨率参数确定所述预览图像的数据长度。
根据本公开实施例的第四方面,提供一种图像读取装置,包括:
响应模块,被配置为响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,其中,n为3至15中的任意一个自然数;
读取模块,被配置为从选取的应用程序标记段中读取预览图像;
展示模块,被配置为展示读取到的所述预览图像。
可选地,所述响应模块,被配置为:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
可选地,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,选取的应用程序标记段是从APP3至APP15中依次选取出的多个应用程序标记段。
根据本公开实施例的第五方面,提供一种图像存储装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;
将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码。
根据本公开实施例的第六方面,提供一种图像读取装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,其中,n为3至15中的任意一个自然数;
从选取的应用程序标记段中读取预览图像;
展示读取到的所述预览图像。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现第一方面中任一项所述图像存储方法的步骤。
根据本公开实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现第二方面任一项所述图像读取方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过响应于存储目标图像的预览图像的指令,确定预览图像的数据长度;根据数据长度在目标图像对应的应用程序标记段APPn中选取至少一个用于存储预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;将预览图像存储至选取的应用程序标记段,且在选取的应用程序标记段中写入图片标识码。这样,在预览图像时,可以避免预览目标图像的原图,缩短了预览过程中的解码时间以及减少了对内存的占用,并且,可以在存储目标图像的预览图像时,确定预览图像的数据长度,避免压缩预览图像,解决了相关技术中预览图像存储受指令协议最高不超过65K限制,进而可以提高展示的预览图像的清晰度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种图像存储方法的流程图。
图2是示例性实施例示出的JPEG文件的数据结构的示意图。
图3是示例性实施例示出的APP1的数据结构的示意图。
图4是示例性实施例示出的TIFF的数据结构的示意图。
图5是示例性实施例示出的IFD的数据结构的示意图。
图6是根据一示例性实施例示出的一种图像读取方法的流程图。
图7是根据一示例性实施例示出的一种图像存储装置400的框图。
图8是根据一示例性实施例示出的一种图像读取装置500的框图。
图9是根据一示例性实施例示出的一种装置800的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,在本公开中,说明书和权利要求书以及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必理解为描述特定的顺序或先后次序。同理,术语“S121”、“S122”等用于区别步骤,而不必理解为按照特定的顺序或先后次序执行方法步骤。
在介绍本公开提供的图像存储及读取方法、装置、电子设备及存储介质之前,首先对本公开的应用场景进行介绍。本公开提供的图像存储方法可以应用于在具有图像预览功能的电子设备,该电子设备例如可以是智能手机、数码相机,在智能手机或者数码相机拍摄照片时,提供拍摄的照片预览时,需要存储拍摄照片对应的预览图像。
发明人发现,根据相关技术协议,JFIF使用的第一个应用程序标记段APP0,以及Exif使用的第二个应用程序标记段APP1只能够存储不超过65K(65535字节)大小的信息,因此,存储在APP0或者APP1中的预览图像大小也不能超过65K。在预览图像的预览图像时,可能存储的不超过65K大小的预览图像清晰度不高,例如,分辨率为320×240大小的预览图像,清晰度较低。进一步地,若用户在预览图像的预览图像时,预览图像清晰度不高,用户会选择放大预览的预览图像,在放大预览的预览图像时,电子设备直接调用图像的原图,先解码图像的原图,再基于大图采用下采样的方式得到目标图像。例如,如果原图的大小为108M(12032×9024),目标图像的大小为1440×1080。在原图的基础上,每8行每8列采样1个点,得到大小为1440×1080的目标图像。这样,原图占用的内存较大,解码原图的时间过长并且下采样得到目标图像也会增加得到预览图的时间。
为解决上述技术问题,本公开提供一种图像存储方法。图1是根据一示例性实施例示出的一种图像存储方法的流程图,如图1所示,所述方法包括以下步骤。
在步骤S11中,响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度。
在步骤S12中,根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数。
在步骤S13中,将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码。
首先,JPEG文件的数据结构如图2所示,SOI表示存储预览图像开始标志位,其占用2个字节长度,其值为0xFFD8;EOI表示存储预览图像结束标志位,占用2个字节长度,其值为0xFFD9;APPn为应用程序标记段,n的值为十进制的0到15,APP0到APP15的APPMarker分别为0xFFE0到0xFFEF。
其中,每一应用程序标记段的数据结构包括标识段位、数据长度位、标志码Identifier Code、标签图像文件格式(Tagged Image File Format简称TIFF)等。例如,第二应用程序标记段APP1的标识段用APP1 Maker表示,其值如图3所示为0XFFE1,其数据长度用APP1 Length表示,其标志码Identifier Code用Eixf Identifier Code表示,占用4个字节长度,其值如图3所示为0x457869660000,其中0x45、0x78、0x69、0x66分别为字符‘E’、‘x’、‘i’、‘f’的ASCII码。
示例地,APP1 length占用2个字节长度,包含APP1length自身占用的2个字节长度。TIFF有16个字节标识,占用8个字节长度。其中,TIFF Header是TIFF的前8个字节标识,占用4个字节长度,前2个字节长度定义TIFF数据采用的字节顺序,例如,定义TIFF Header为0x4949,表示TIFF采用“Intel”的小端字节顺序,定义TIFF Header为0x4D4D,表示TIFF采用“Motorola”的大端字节顺序。随后的2个字节长度表示TIFF的标志位,其值固定为0x002A。
最后8个字节标识为第1个IFD(Image File Directory,图像文件目录)的偏移量,占用4个字节长度。在TIFF格式中,偏移量的数值大小为TIFF的TIFF Header占用字节数目与TIFF的标志位占用字节数目之和。即从TIFF的第一个字节(0x49或者0x4D)开始计算,到IFD所在位置的字节数目为止。APP1的偏移量的数值大小为TIFF的TIFF Header占用字节数目4与TIFF的标志位占用字节数目4之和,4+4=8,所以,APP1的偏移量的值为0x00000008。
TIFF的数据结构如图4所示。其中,第1个IFD(图4中标记有“0th IFD forPrimaryImage Data”)用于存储图像的原图信息,第2个IFD(图4中“1th IFD for ThumbnailData”)用于存储预览图像。
IFD的数据结构如图5所示。其中,Entry No表示IFD包含的tag数量,占用2个字节长度,Entry1-N表示tag对象,其中,每个tag占用12个字节长度。Offset to next IFD表示下一个IFD的偏移量,其占用4个字节长度。例如。如果IFD偏移量的值为0x00000000,表示该IFD是最后一个IFD。
值得说明的是,如图5所示,在每个tag对象Entry中,0xTTTT表示tag id(Identitydocument身份标识号),占用2个字节长度。0xffff表示tag的数据类型,占用2个字节长度,例如,“1”表示tag的数据类型是BYTE,“2”表示tag的数据类型是ASCII,“3”表示tag的数据类型是SHORT。0xNNNNNNNN表示tag的组成元素的数量,占用4个字节长度。例如,若tag的数据类型是ASCII,该字段的数值是10,表示Entry为10个ASCII组成的字符。0xDDDDDDDD表示tag包含数据本身或者数据的偏移量。若存储的数据占用的字节长度小于或等于4个字节长度,则将该数据直接存储在0xDDDDDDDD中;若存储的数据占用的字节长度大于4个字节长度,则将该数据在IFD中的偏移量保存在0xDDDDDDDD中。
具体实施时,在电子设备例如智能手机、数码相机、PC(Personal Computer个人计算机)拍摄目标图像完成时,根据拍摄目标图像的指令,生成存储目标图像的预览图像的指令,进而确定预览图像的数据长度。也可以是在将目标图像导入到电子设备时,根据导入指令生成存储目标图像的预览图像的指令,进而确定预览图像的数据长度。该数据长度表示存储预览图像所需要占用的应用程序标记段的数据长度。
在一种可能实现的方式中,在步骤S11中,所述响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度,包括:
响应于存储目标图像的预览图像的指令,获取拍摄所述目标图像的电子设备的屏幕分辨率;
根据所述屏幕分辨率确定所述预览图像的数据长度。
示例地,用户在使用电子设备拍摄目标图像时,响应于拍摄动作完成并存储目标图像的动作,电子设备获取该电子设备的屏幕分辨率,进而在该电子设备的屏幕展示预览图像。这样,可以根据电子设备的屏幕分辨率确定合适的在该电子设备的屏幕显示的预览图像的数据长度。
在另一种可能实现的方式中,在步骤S11中,所述响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度,包括:
响应于存储目标图像的预览图像的指令,获取用于展示所述预览图像的应用程序预设的分辨率参数。
根据所述分辨率参数确定所述预览图像的数据长度。
具体地,用户可以根据需要在应用程序相应的用户界面设置分辨率参数,例如,根据个人电脑的屏幕分辨率在智能手机的相机中设置分辨率参数,这样,在个人电脑浏览目标图像的预览图像时,可以适应个人电脑的屏幕分辨率,该分辨率参数根据个人电脑的屏幕分辨率进行设置。
可以说明的是,每一应用程序标记段能够存储的数据总长度根据区段字节长度确定,预览图像的数据长度越长,需要占用的应用程序标记段能够存储的数据总长度越长。
值得说明的是,图片标识码用于展示目标图像的预览图像时提供唯一标识,因而,只有在存储预览图像时在选取的应用程序标记段中写入图片标识码,在读取预览图像时,图像浏览应用程序才能够根据该图片标识码解码对应的图像数据,读取到相应的预览图像。
上述技术方案,通过响应于存储目标图像的预览图像的指令,确定预览图像的数据长度;根据数据长度在目标图像对应的应用程序标记段APPn中选取至少一个用于存储预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;将预览图像存储至选取的应用程序标记段,且在选取的应用程序标记段中写入图片标识码。这样,在预览目标图像时,可以避免预览目标图像的原图,缩短了预览过程中的解码时间以及减少了对内存的占用,并且,可以在存储目标图像的预览图像时,确定预览图像的数据长度,避免压缩预览图像,解决了相关技术中预览图像存储受指令协议最高不超过65K限制,进而可以提高展示的预览图像的清晰度。
可选地,在步骤S12中,所述根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,包括以下步骤。
在步骤S121中,根据所述指令,从所述应用程序标记段APPn中选取第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段,所述第一目标应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;或者,
在步骤S122中,从所述应用程序标记段APPn中选取出能够存储的数据总长度大于或等于所述预览图像的数据长度的第二目标应用程序标记段。
可选地,第一目标应用程序标记段可以一个应用程序标记段,也可以是多个应用程序标记段。
值得说明的是,应用程序标记段对应的区段占用的字节长度越多,应用程序标记段能够存储的数据总长度越长。示例地,应用程序标记段对应的区段占用的字节长度可以为2个字节长度,则该应用程序标记段能够存储的数据总长度为216-1;应用程序标记段对应的区段占用的字节长度可以为3个字节长度,则该应用程序标记段能够存储的数据总长度为224-1。
这样,可以调整不受现有技术协议限制的APP3至APP15每一应用程序标记段对应的区段占用的字节长度,进而可以灵活地设置应用程序标记段的存储有效数据长度,可以提高应用程序标记段存储预览图像的大小,进而可以提高预览图像的清晰度。
具体实施时,每一应用程序标记段的存储有效数据长度存在差异,根据预览图像的数据长度可以选用相应的应用程序标记段。例如,APP3的存储有效数据长度为128000个字节长度,APP4的区段占用的字节长度为256000个字节长度,在预览图像的数据长度小于127994字节的情况下,确定存储预览图像的应用程序标记段为APP3,在预览图像的有效数据长度小于255994字节的情况下,确定存储预览图像的应用程序标记段为APP4。
可选地,所述应用程序标记段APPn中的每一应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度。
所述根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,包括:
在确定所述数据长度大于或等于预设的长度阈值的情况下,在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段;
所述方法还包括:
在确定所述数据长度小于所述长度阈值的情况下,将所述预览图像存储至所述目标图像对应的所述应用程序标记段APP1或者所述应用程序标记段APP2中。
其中,所述预设的长度阈值为65529,示例地,在确定预览图像的数据长度占用的字节长度小于65529字节长度的情况下,可以将预览图像以JFIF格式存储到APP1中,或者可以将预览图像以Exif格式存储到APP2中。因为,APP1以及APP2能够存储的数据总长度应当减去APP1(APP2)的length占用的2个字节长度以及减去应用程序标记段的图片标识码占用的4个字节长度。所以,APP1(APP2)能够存储的数据总长度不能超过65535个字节,存储预览图像的数据长度不能超过65535-2-4=65529个字节长度。
在确定所述数据长度大于等于所述长度阈值65529的情况下,从应用程序标记段APP3至APP15中选取能够存储的数据总长度大于65529字节的至少一个应用程序标记段。
具体地,每一个应用程序标记段的数据结构以APP3为例进行说明,第1个字节和第2个字节为应用程序标记段APP3的Marker,其值为0xFF0xE3。第3个字节和第4个字节为应用程序标记段APP3的length,占用2个字节长度。第5个字节到第8个字节为应用程序标记段的Identifier Code,为字符‘X’、‘M’、‘T’和‘H’的ASCII码,对应的值分别为:0x58、0x4D、0x54和0x48。‘X’、‘M’、‘T’和‘H’是应用程序标记段APP3存储的预览图像的Identifier Code。只有当Identifier Code的值为0x58、0x4D、0x54和0x48时,应用程序标记段APP3中存储的数据才会被识别为图像数据,图片浏览应用程序才能够解码对应的图像数据,提供相应的预览图像。第9个字节开始为预览图像的有效数据长度。APP3保存预览图像的数据结构如
表1所示:
表1
在一种可能实现的方式中,选取的应用程序标记段为多个n值相同的应用程序标记段以以下示例说明,以n为3为例,假如预览图像的数据长度为128000个字节长度,对应的16进制值为0x01F400,确定第一个应用程序标记段APP3能够存储的数据长度为65535个字节长度,则第一个应用程序标记段APP3实际存储的预览图像数据长度为65535-2-4=65529,其中,“2”为第一个应用程序标记段APP3的length占用的字节长度,“4”为第一个应用程序标记段APP3的Identifier Code占用的字节长度。第一个应用程序标记段APP3的length为65535,对应的16进制的数值为0xFFFF。
进一步地,确定第二个应用程序标记段的APP3实际存储的数据长度为62471个字节长度,即128000-65529=62471。第二个应用程序标记段APP3的length为62471+2+4=62477,对应的16进制的数值为0xF40D,其中,“2”为第二个应用程序标记段APP3的length占用的字节长度,“4”为第二个应用程序标记段APP3的Identifier Code占用的字节长度。
进一步地,得到预览图像存储在应用程序标记段的数据结构如表2所示:
表2
进一步地,图片标识码为0x584D5448,则在第一个应用程序标记段APP3中存储65535个字节长度(其中65529个字节长度为预览图像的有效数据,存储在第一个应用程序标记段APP3的“data”中),对应的16进制的数值为0xFFFF,以及在第一个应用程序标记段APP3中写入图片标识码0x584D5448;并在第二个应用程序标记段APP3中存储62477个字节长度(其中62471个字节长度为预览图像的有效数据,存储在第二个应用程序标记段APP3的“data”中),对应的16进制的数值为0xF40D,以及在第二个应用程序标记段APP3中也写入图片标识码0x584D5448,这样,将128000个字节长度的预览图像存储到多个n值相同的应用程序标记段中。此处以128000个字节长度为例,可以根据需要存储的字节长度,确定第三个应用程序标记段APP3以及更多的应用程序标记段APP3,此处不再赘述。
在另一种可能实现的方式中,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于预览图像的数据长度。
示例地,假如预览图像的数据长度为128000个字节长度,依次确定应用程序标记段APP3至APP15能够存储的数据长度,确定应用程序标记段APP3能够存储的数据长度为65535个字节长度,则应用程序标记段APP3实际存储的预览图像的长度为65535-2-4=65529,其中,“2”为应用程序标记段APP3的length占用的字节长度,“4”为应用程序标记段APP3的Identifier Code占用的字节长度。应用程序标记段APP3的length为65535,对应的16进制的数值为0xFFFF。
进一步地,确定应用程序标记段APP4实际存储的预览图像的数据长度为62471个字节长度,即应用程序标记段APP4实际存储的预览图像的数据长度为128000-65529=62471,应用程序标记段APP4的length为62471+2+4=62477,对应的16进制的数值为0xF40D,其中,“2”为应用程序标记段APP4的length占用的字节长度,“4”为应用程序标记段APP4的Identifier Code占用的字节长度。这样,依次从APP3至APP15中选取出应用程序标记段APP3和应用程序标记段APP4,使得应用程序标记段APP3和应用程序标记段APP4能够存储的数据长度大于预览图像的数据长度。
进一步地,图片标识码为0x584D5448,则在应用程序标记段APP3中存储65535个字节(其中65529个字节为预览图像的有效数据,存储在应用程序标记段APP3的“data”中),对应的16进制的数值为0xFFFF,以及在应用程序标记段APP3中写入图片标识码0x584D5448;并在应用程序标记段APP4中存储62477个字节(其中62471个字节为预览图像的有效数据,存储在应用程序标记段APP4的“data”中),对应的16进制的数值为0xF40D,以及在应用程序标记段APP4中也写入图片标识码0x584D5448,这样,将128000个字节长度的预览图像存储到多个应用程序标记段中。此处以128000个字节长度为例,可以根据需要存储的字节长度,依次选取出更多的应用程序标记段APPn存储预览图像。
示例地,假如预览图像的数据长度为256000个字节长度,依次确定应用程序标记段APP3至APP15能够存储的总数据长度,确定应用程序标记段APP3能够存储的数据长度为65535个字节长度,应用程序标记段APP3实际存储的预览图像的长度为65535-2-4=65529,确定应用程序标记段APP4能够存储的数据长度为65535个字节长度,应用程序标记段APP4实际存储的预览图像的长度为65535-2-4=65529,确定应用程序标记段APP5能够存储的数据长度为65535个字节长度,应用程序标记段APP5实际存储的预览图像的长度为65535-2-4=65529,确定应用程序标记段APP6能够存储的数据长度为65535个字节长度,应用程序标记段APP6实际存储的预览图像的长度为256000-65529×3=59413。
这样,依次从APP3至APP15中选取出应用程序标记段APP3、应用程序标记段APP4、应用程序标记段APP5和应用程序标记段APP6,使得应用程序标记段APP3、应用程序标记段APP4、应用程序标记段APP5和应用程序标记段APP6能够存储的数据长度大于预览图像的数据长度。
采用上述技术方案,可以将预览图像存储到多个n值相同的应用程序标记段,也可以依次从APP3至APP15中选取出多个应用程序标记段,进而通过多个应用程序标记段共同存储预览图像,可以提高存储预览图像的数据长度,提高预览图像存储的灵活性。
值得说明的是,本公开实施例提供的图像存储方法可以应用于Exif、JPEG、TIFF、RIFF(Resource interchange file format,资源互换文件格式)、HIEC(High EfficiencyImage File Format,高效率图像文件格式)等文件格式的预览图像存储,可以根据目标分辨率确定预览图像的像素,进而确定合适的应用程序标记段存储预览图像,解决了相关技术中预览图像不能超过65K的问题,可以提高预览图像的清晰度。进而解决了解码原图占用较长的时间以及原图占用内存较大的问题。
采用上述技术方案,可以灵活地确定存储预览图像的应用程序标记段,并且,预览图像的大小可以不受现有技术协议的限制,可以提高预览图像的清晰度,进而避免调用图像的原图,解决了解码原图占用较长的时间以及原图占用内存较大的问题。
图6是根据一示例性实施例示出的一种图像读取方法的流程图,如图6所示,所述方法包括以下步骤。
在步骤S61中,响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段。
其中,n为3至15中的任意一个自然数。
在步骤S62中,从选取的应用程序标记段中读取预览图像。
在步骤S63中,展示读取到的所述预览图像。
示例地,响应于用户在电子设备的屏幕展示多个目标图像的操作,生成展示目标图像的预览图像的指令,从每一目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,例如,从第一目标图像对应的应用程序标记段中选取存储有图片标识码0x584D5448的应用程序标记段APP1,并从第二目标图像对应的应用程序标记段中选取存储有图片标识码0x584D5448的多个应用程序标记段APP3,其中,第一目标图像的预览图像的数据长度小于65529字节,第二目标图像的预览图像的数据长度大于65529字节,且小于多个应用程序标记段APP3能够存储的数据总长度。
进一步地,从APP1中读取第一目标图像的预览图像,从多个应用程序标记段APP3读取第二目标图像的预览图像,并在电子设备的屏幕展示第一目标图像的预览图像以及第二目标图像的预览图像。
采用上述技术方案,通过响应于展示目标图像的预览图像的指令,从目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,从选取的应用程序标记段中读取预览图像,并展示读取到的预览图像。这样,可以在预览目标图像时,避免预览目标图像的原图,缩短了预览过程中的解码时间以及减少了对内存的占用,进而可以提高展示的目标图像的快速性。
可选地,所述从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,包括:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
可选地,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于等于预览图像的数据长度。
示例地,从多个APP3中依次判断每一应用程序标记段APP3中是否存储有图片标志码0x584D5448,得到存储有图片标志码的第二目标应用程序标记段。
又一示例,从多个APP3中以及多个APP4中依次判断每一应用程序标记段APP3中是否存储有图片标志码0x584D5448,得到存储有图片标志码的第二目标应用程序标记段。
再一示例,从APP3至APP15中依次判断每一应用程序标记段APPn中是否存储有图片标志码0x584D5448,得到存储有图片标志码的第二目标应用程序标记段。
基于相同的发明构思,本公开还提供一种图像存储装置400,用于执行上述方法实施例提供的图像存储方法的步骤,该装置400可以以软件、硬件或者两者相结合的方式实现图像存储方法。图7是根据一示例性实施例示出的一种图像存储装置的框图,如图7所示,所述装置400包括:确定模块410,选取模块420和存储模块430。
其中,该确定模块410,被配置为响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
该选取模块420,被配置为根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;
该存储模块430,被配置为将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码。
上述装置400可以在预览目标图像时,可以避免预览目标图像的原图,缩短了预览过程中的解码时间以及减少了对内存的占用,并且,可以在存储目标图像的预览图像时,确定预览图像的数据长度,避免压缩预览图像,解决了相关技术中预览图像存储受指令协议最高不超过65K限制,进而可以提高展示的预览图像的清晰度。
可选地,所述选取模块420,被配置为:
根据所述指令,从所述应用程序标记段APPn中选取第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段,所述第一目标应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;或者,
从所述应用程序标记段APPn中选取出能够存储的数据总长度大于或等于所述预览图像的数据长度的第二目标应用程序标记段。
可选地,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于预览图像的数据长度。
可选地,所述应用程序标记段APPn中的每一应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;
所述选取模块420,被配置为:
在确定所述数据长度大于或等于预设的长度阈值的情况下,在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段;
在确定所述数据长度小于所述长度阈值的情况下,将所述预览图像存储至所述目标图像对应的所述应用程序标记段APP1或者所述应用程序标记段APP2中。
可选地,所述确定模块410,被配置为:
响应于存储目标图像的预览图像的指令,获取拍摄所述目标图像的电子设备的屏幕分辨率;
根据所述屏幕分辨率确定所述预览图像的数据长度。
可选地,所述确定模块410,被配置为:
响应于存储目标图像的预览图像的指令,获取用于展示所述预览图像的应用程序预设的分辨率参数。
根据所述分辨率参数确定所述预览图像的数据长度。
基于相同的发明构思,本公开还提供一种图像读取装置500,用于执行上述方法实施例提供的图像读取方法的步骤,该装置500可以以软件、硬件或者两者相结合的方式实现图像读取方法。图8是根据一示例性实施例示出的一种图像读取装置的框图,如图8所示,所述装置500包括:响应模块510、读取模块520和展示模块530。
其中,该响应模块510,被配置为响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,其中,n为3至15中的任意一个自然数;
该读取模块520,被配置为从选取的应用程序标记段中读取预览图像;
该展示模块530,被配置为展示读取到的所述预览图像。
上述装置500可以在预览目标图像时,避免预览目标图像的原图,缩短了预览过程中的解码时间以及减少了对内存的占用,进而可以提高展示的目标图像的快速性。
可选地,所述响应模块510,被配置为:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
可选地,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于预览图像的数据长度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
此外值得说明的是,为描述的方便和简洁,说明书中所描述的实施例均属于优选实施例,其所涉及的部分并不一定是本发明所必须的,例如,响应模块510和读取模块520,在具体实施时可以是相互独立的装置也可以是同一个装置,本公开对此不作限定。
本公开实施例的还提供一种图像存储装置,包括:处理器;以及,
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,其中,n为3至15中的任意一个自然数;
将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码。
本公开实施例还提供一种图像读取装置,包括:处理器;以及,
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,其中,n为3至15中的任意一个自然数;
从选取的应用程序标记段中读取预览图像;
展示读取到的所述预览图像。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现任一项所述图像存储方法的步骤。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现任一项所述图像读取方法的步骤。
图9是根据一示例性实施例示出的一种装置800的框图。该装置800可以被配置成一图像存储装置,也可以被配置成一图像读取装置。例如,装置800可以是移动电话,数码相机,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图9,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的图像存储和/或读取方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述图像存储和/或读取方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述图像存储和/或读取方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的图像存储和/或读取方法的代码部分。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (13)
1.一种图像存储方法,其特征在于,包括:
响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,使得选取的至少一个应用程序标记段能够存储的数据长度大于所述预览图像的数据长度,其中,n为3至15中的任意一个自然数;
将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码;
所述根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,包括:
根据所述指令,从所述应用程序标记段APPn中选取第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段,所述第一目标应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;或者,
从所述应用程序标记段APPn中选取出能够存储的数据总长度大于或等于所述预览图像的数据长度的第二目标应用程序标记段。
2.根据权利要求1所述的方法,其特征在于,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段。
3.根据权利要求1所述的方法,其特征在于,所述应用程序标记段APPn中的每一应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度,所述根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,包括:
在确定所述数据长度大于或等于预设的长度阈值的情况下,在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段;
所述方法还包括:
在确定所述数据长度小于所述长度阈值的情况下,将所述预览图像存储至所述目标图像对应的所述应用程序标记段APP1或者所述应用程序标记段APP2中。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度,包括:
响应于存储目标图像的预览图像的指令,获取拍摄所述目标图像的电子设备的屏幕分辨率;
根据所述屏幕分辨率确定所述预览图像的数据长度。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度,包括:
响应于存储目标图像的预览图像的指令,获取用于展示所述预览图像的应用程序预设的分辨率参数;
根据所述分辨率参数确定所述预览图像的数据长度。
6.一种图像读取方法,其特征在于,包括:
响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,选取的至少一个应用程序标记段能够存储的数据长度大于所述预览图像的数据长度,其中,n为3至15中的任意一个自然数;
从选取的应用程序标记段中读取预览图像;
展示读取到的所述预览图像;
其中,所述从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,包括:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
7.根据权利要求6所述的方法,其特征在于,选取的应用程序标记段为多个n值相同的应用程序标记段;或者,依次从APP3至APP15中选取出多个应用程序标记段,使得选择出的多个应用程序标记段能够存储的数据长度大于预览图像的数据长度。
8.一种图像存储装置,其特征在于,包括:
确定模块,被配置为响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
选取模块,被配置为根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,使得选取的至少一个应用程序标记段能够存储的数据长度大于所述预览图像的数据长度,其中,n为3至15中的任意一个自然数;
存储模块,被配置为将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码;
所述选取模块,被配置为:
根据所述指令,从所述应用程序标记段APPn中选取第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段,所述第一目标应用程序标记段能够存储的数据长度大于应用程序标记段APP1能够存储的数据长度和应用程序标记段APP2能够存储的数据长度;或者,
从所述应用程序标记段APPn中选取出能够存储的数据总长度大于或等于所述预览图像的数据长度的第二目标应用程序标记段。
9.一种图像读取装置,其特征在于,包括:
响应模块,被配置为响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,选取的至少一个应用程序标记段能够存储的数据长度大于所述预览图像的数据长度,其中,n为3至15中的任意一个自然数;
读取模块,被配置为从选取的应用程序标记段中读取预览图像;
展示模块,被配置为展示读取到的所述预览图像;
所述响应模块,被配置为:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
10.一种图像存储装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
响应于存储目标图像的预览图像的指令,确定所述预览图像的数据长度;
根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,使得选取的至少一个应用程序标记段能够存储的数据长度大于所述预览图像的数据长度,其中,n为3至15中的任意一个自然数;
将所述预览图像存储至选取的应用程序标记段,且在所述选取的应用程序标记段中写入图片标识码;
所述根据所述数据长度在所述目标图像对应的应用程序标记段APPn中选取至少一个用于存储所述预览图像的应用程序标记段,包括:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
11.一种图像读取装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
响应于展示目标图像的预览图像的指令,从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,选取的至少一个应用程序标记段能够存储的数据长度大于所述预览图像的数据长度,其中,n为3至15中的任意一个自然数;
从选取的应用程序标记段中读取预览图像;
展示读取到的所述预览图像;
其中,所述从所述目标图像对应的应用程序标记段APPn中选取存储有图片标识码的至少一个应用程序标记段,包括:
根据所述指令,从所述应用程序标记段APPn中选取存储有图片标志码的第一目标应用程序标记段,所述第一目标应用程序标记段是指令协议中指定的应用程序标记段;或者
从所述应用程序标记段APPn中依次判断每一所述应用程序标记段是否存储有图片标志码,得到存储有图片标志码的第二目标应用程序标记段。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求1-5中任一项所述图像存储方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时实现权利要求6-7任一项所述图像读取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004481.3A CN114726997B (zh) | 2021-01-04 | 2021-01-04 | 图像存储及读取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110004481.3A CN114726997B (zh) | 2021-01-04 | 2021-01-04 | 图像存储及读取方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726997A CN114726997A (zh) | 2022-07-08 |
CN114726997B true CN114726997B (zh) | 2024-01-19 |
Family
ID=82234953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110004481.3A Active CN114726997B (zh) | 2021-01-04 | 2021-01-04 | 图像存储及读取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726997B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115866074B (zh) * | 2022-11-29 | 2024-08-20 | 金蝶软件(中国)有限公司 | 基于区块链的图片处理方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072488A (ja) * | 2002-08-07 | 2004-03-04 | Seiko Epson Corp | 画像データの出力画像調整 |
JP2004312430A (ja) * | 2003-04-08 | 2004-11-04 | Sharp Corp | 画像データ作成/表示方法及び画像データ作成/表示装置、及び、画像データ作成/表示プログラム及びプログラム記録媒体 |
CN1832556A (zh) * | 2004-12-17 | 2006-09-13 | 松下电器产业株式会社 | 数据记录方法和装置 |
JP2010206586A (ja) * | 2009-03-04 | 2010-09-16 | Seiko Epson Corp | 画像形成装置 |
US9542760B1 (en) * | 2014-12-18 | 2017-01-10 | Amazon Technologies, Inc. | Parallel decoding JPEG images |
US10417184B1 (en) * | 2017-06-02 | 2019-09-17 | Keith George Long | Widely accessible composite computer file operative in a plurality of forms by renaming the filename extension |
-
2021
- 2021-01-04 CN CN202110004481.3A patent/CN114726997B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004072488A (ja) * | 2002-08-07 | 2004-03-04 | Seiko Epson Corp | 画像データの出力画像調整 |
JP2004312430A (ja) * | 2003-04-08 | 2004-11-04 | Sharp Corp | 画像データ作成/表示方法及び画像データ作成/表示装置、及び、画像データ作成/表示プログラム及びプログラム記録媒体 |
CN1832556A (zh) * | 2004-12-17 | 2006-09-13 | 松下电器产业株式会社 | 数据记录方法和装置 |
JP2010206586A (ja) * | 2009-03-04 | 2010-09-16 | Seiko Epson Corp | 画像形成装置 |
US9542760B1 (en) * | 2014-12-18 | 2017-01-10 | Amazon Technologies, Inc. | Parallel decoding JPEG images |
US10417184B1 (en) * | 2017-06-02 | 2019-09-17 | Keith George Long | Widely accessible composite computer file operative in a plurality of forms by renaming the filename extension |
Also Published As
Publication number | Publication date |
---|---|
CN114726997A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101817023B1 (ko) | 폰트 추가 방법, 장치, 프로그램 및 기록 매체 | |
CN109241470A (zh) | 页面显示方法、装置及系统 | |
KR20130072642A (ko) | 휴대용 단말기에서 메시지의 첨부 파일을 관리하기 위한 장치 및 방법 | |
CN111259289B (zh) | 一种图片加载方法、装置、电子设备及存储介质 | |
CN102984456A (zh) | 移动终端和移动终端拍照的控制方法 | |
CN114726997B (zh) | 图像存储及读取方法、装置、电子设备及存储介质 | |
KR101451562B1 (ko) | 휴대용 단말기의 데이터 저장 방법 및 장치 | |
US11600300B2 (en) | Method and device for generating dynamic image | |
CN107123078A (zh) | 显示图像的方法及装置 | |
CN107679205B (zh) | 多媒体数据播放方法、装置、计算机设备及存储介质 | |
CN112860625B (zh) | 数据获取方法、数据存储方法、装置、设备及存储介质 | |
KR100746602B1 (ko) | 이미지 처리를 위한 방법 및 시스템, 장치 및 이미지레코드 | |
CN112764599B (zh) | 一种数据处理方法、装置和介质 | |
CN110874829B (zh) | 图像处理方法及装置、电子设备及存储介质 | |
KR20120026458A (ko) | 데이터 관리 장치, 데이터 관리 방법 및 기록 매체 | |
CN103581512B (zh) | 拍摄装置和方法 | |
CN114500819B (zh) | 拍摄方法、拍摄装置以及计算机可读存储介质 | |
KR101622680B1 (ko) | 이동단말기 및 그의 이미지 처리 방법 | |
CN107682623B (zh) | 拍照方法及装置 | |
CN112036241A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN114727001B (zh) | 一种处理图像数据的方法、装置及介质 | |
KR20080113843A (ko) | 휴대용 단말기에서 얼굴 인식을 통한 사용자 정보 검색장치 및 방법 | |
CN110933300B (zh) | 一种图像处理方法和电子终端设备 | |
CN111241097B (zh) | 处理对象的方法、处理对象的装置及存储介质 | |
CN105335047B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |