CN112837211B - 一种图片处理方法、装置、电子设备及可读存储介质 - Google Patents
一种图片处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112837211B CN112837211B CN202110118607.XA CN202110118607A CN112837211B CN 112837211 B CN112837211 B CN 112837211B CN 202110118607 A CN202110118607 A CN 202110118607A CN 112837211 B CN112837211 B CN 112837211B
- Authority
- CN
- China
- Prior art keywords
- picture
- azimuth
- value
- pixel
- azimuth value
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000009877 rendering Methods 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims description 18
- 238000003491 array Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 22
- 230000004044 response Effects 0.000 abstract description 7
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G06T3/04—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明实施例提供了一种图片处理方法、装置、电子设备及可读存储介质,涉及图片处理技术领域,该图片处理方法包括接收对图片的显示调整请求;基于显示调整请求,确定图片的方位参数,方位参数用于指示图片的像素调整方式;基于方位参数,调整图片中各像素的像素位置;按照调整后的像素位置进行图片渲染,以显示图片。这样,可以通过修改方位参数更新方位参数对应的像素位置,基于更新后的像素位置进行图片渲染,无需对图片文件中的所有图片编码信息进行重新编码,可以降低图片损坏风险,简化处理过程以缩短响应时间。
Description
技术领域
本发明涉及图片处理技术领域,特别是涉及一种图片处理方法、装置、电子设备及可读存储介质。
背景技术
用户在图片浏览界面浏览图片时,通常需要调整图片的显示方式,例如,对图片进行旋转或者翻转的状态调整。
目前,在这个调整的过程中,通常需要对整张图片进行重新解码,然后基于解码结果执行旋转或者翻转的操作,再重新对整张图片进行编码保存,以实现对图片的显示方式调整。其中,在重新对整张图片进行编码时,容易出现编码出错的情况,这样,会对图片造成损坏,存在图片损坏风险。此外,重新编码的过程较为复杂,这也会在一定程度上影响响应时间,尤其是占用存储资源较大的大图,在重新对大图进行编码时,编码工作量较大,编码过程较慢,存在一定的延时。可见,现有技术中,对图片的显示方式调整的处理过程存在图片损坏风险,并且,实现方式复杂导致响应时间较长。
发明内容
本发明实施例的目的在于提供一种图片处理方法、装置、电子设备及可读存储介质,以降低图片损坏风险,简化处理过程以缩短响应时间。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种图片处理方法,包括:
接收对图片的显示调整请求;
基于所述显示调整请求,确定所述图片的方位参数,所述方位参数用于指示所述图片的像素调整方式;
基于所述方位参数,调整所述图片中各像素的像素位置;
按照调整后的像素位置进行图片渲染,以显示所述图片。
在本发明实施的第二方面,还提供了一种图片处理装置,包括:
第一处理模块,用于接收对图片的显示调整请求;
第二处理模块,用于基于所述显示调整请求,确定所述图片的方位参数,所述方位参数用于指示所述图片的像素调整方式;
第三处理模块,用于基于所述方位参数,调整所述图片中各像素的像素位置;
第四处理模块,用于按照调整后的像素位置进行图片渲染,以显示所述图片。
在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的图片处理方法。
在本发明实施的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的图片处理方法。
本发明实施例提供的一种图片处理方法、装置、电子设备及可读存储介质,通过接收对图片的显示调整请求,基于显示调整请求,确定图片的方位参数,方位参数用于指示图片的像素调整方式;基于方位参数,调整图片中各像素的像素位置;按照调整后的像素位置进行图片渲染,以显示图片。由此,可以基于方位参数快速调整图片中各像素的像素位置,这样,可以通过修改方位参数更新方位参数对应的像素位置,基于更新后的像素位置进行图片渲染,无需对图片文件中的所有图片编码信息进行重新编码,避免了在重新对整张图片进行编码时,容易出现编码出错的情况,不会对图片造成损坏,并且,在图片调整过程中,尤其是在对大图调整的过程中,降低了编码工作量,降低了图片损坏风险,简化了对图片的显示方式调整的处理过程,这有利于缩短响应时间,对用户而言,在对图片进行状态调整时,电子设备能够更快的响应该调整,实现对图片状态的快速调整。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种图片处理方法的流程图;
图2为本发明实施例提供的图片的Orientation参数的读取和写入的流程图;
图3为本发明实施例提供的一种图片处理装置的模块图;
图4为本发明实施例提供的一种电子设备的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的图片处理方法适用于用户在图片浏览界面浏览图片时的场景,例如,可以是指用户在移动设备上浏览图片,还可以是指用户在电脑端浏览图片。其中,无论用户在何种设备上浏览图片,都需要打开图片浏览界面,图片浏览界面可以是任意可用于显示图片的显示界面,示例性的,图片浏览界面包括但不限于:专用于查看图片的图片查看器的图片浏览界面,也可以是某些网页的图片浏览界面,用户可以在该网页上查看图片。例如,在使用图片查看器浏览图片时,用户首先在图片查看器中打开需要查看的图片,图片查看器在图片浏览界面显示该图片供用户浏览,用户可以在浏览的过程中,调整图片的显示方式。此处,对本申请实施例提供的图片处理方法的适用场景仅作示例,不做限定,可变换地,上述的图片处理方法还可以适用于其他可以显示图片的场景中。
此外,还需要说明的是,上述的图片处理方法适用于电子设备,该电子设备可以是具有显示屏或者显示区域的任意电子设备,换言之,该电子设备具备图片显示功能。如,移动电话、手机、便携式电脑、可穿戴设备、车载终端、大型显示屏(例如,购物显示屏、广告显示屏等)等,当然本申请不以此为限。
请参见图1,本申请实施例提供了一种图片处理方法,该图片处理方法包括:
步骤101、接收对图片的显示调整请求。
在本申请实施例中,接收可以理解为通过响应于显示调整请求接收,其中,接收方式具体可根据实际需求确定,本申请实施例对此不做限定。具体而言,本申请实施例中的图片可以是原生图片,也可以是经过编辑的图片。其中,原生图片是指通过相关的电子设备直接获取的,没有经过任何处理的原生图片;经过编辑的图片是指用户对图片进行裁剪或调色等编辑处理后的图片。
在该实施方式中,以JPG格式的图片为例进行示例说明。
此外,显示调整请求中包括对图片的显示方式进行调整的具体调整方式。电子设备接收到该调整方式,基于该调整方式对图片的显示方式进行调整。具体而言,本发明实施例所涉及的技术方案中,调整方式可以是对图片的显示方位进行调整,换言之,显示调整请求用于请求调整图片的显示方位。
例如,用户在查看图片时,图片相对于用户的显示方式为显示图片的原始状态(图片被获取时的原始状态),用户需要查看该图片相对于原始状态顺时针旋转90°之后的显示方式,则输入相应的调整请求,电子设备基于该调整请求所指示的调整方式对图片的显示方位进行调整,以满足用户需求。
在本申请实施方式中,对图片的显示方式进行调整,是指在图片的当前显示方式下进行调整,具体的调整方式包括但不限定于以下至少一种:维持原始状态(不做调整)、水平翻转、顺时针转180°、垂直翻转、顺时针转90°且同时水平翻转(还可以视为逆时针转90°且垂直翻转)、逆时针转90°(还可以视为顺时针转270°)、逆时针转90°且水平翻转(还可以视为顺时针转90°且垂直翻转)、顺时针转90°,等。
步骤102、基于显示调整请求,确定图片的方位参数,方位参数用于指示图片的像素调整方式。
可理解地,JPG格式的图片存储在电子设备中时,可以通过图片文件的形式存储在电子设备中,图片文件中包括可交换图像文件格式(Exchangeable image file format,EXIF)扩展信息,在EXIF扩展信息中,包括Orientation参数,该Orientation参数用于表示图片在当前的显示方式下的像素显示方式。也即,可以通过解析EXIF扩展信息中Orientation参数确定图片在当前的显示方式,并通过修改当前图片的Orientation参数,实现对当前图片的显示方式的调整。
本申请实施方式中的方位参数,可以是指该Orientation参数,根据显示调整请求中的方位参数修改Orientation参数,可以调整图片的各像素的显示方式,进而调整图片的显示方式。值得强调的是,在修改时,只修改Orientation参数而不修改EXIF扩展信息中的其余部分,可以保证只调整图片的显示方式,不会破坏图片的其他属性。
具体而言,在该实施方式中,图片的方位参数可以是字母标识、数值或者预设符号等,不论其是何种形式的方位参数,任意一个方位参数只能表示唯一的一种调整方式。具体地,以数值类型的方位参数为例进行示例说明。在该实施方式中,方位参数和调整方式之间的对应关系包括但不限于如下表1中的几种。
表1方位参数和调整方式的对应关系
根据表1可知,每一种调整方式与其对应的方位参数的数值之间为一一对应的关系。当然,对于数值的具体取值,此处仅作示例不做限定,在其他可行的实施例中,还可以选取其他的数值,方位参数的数值与调整方式之间的对应关系也可以做适当调整。例如,方位参数的数值为1时,对应的调整方式为水平翻转,方位参数的数值为2时,对应的调整方式为维持原始状态(不做调整),但不论其作何调整,都需要满足每一种调整方式与其对应的数值之间为一一对应的关系。
可变换地,在其他可行的实施方式中,还可以采用除数值以外的字符或者标签与调整方式对应,但不论其采用何种方式,都需满足数值与调整状态之间的对应关系。此处,仅作示例不做限定。
此外,需要说明的是,本发明实施例并不局限与前述表1所示的几种调整方式,实际场景中,还可以将至少两种调整方式进行组合,并预设组合调整方式对应的方位参数即可。示例性的,方位参数9可用于指示的调整方式可以为:顺时针转180°并垂直翻转;示例性的,方位参数10可用于指示的调整方式可以为:逆时针转90°并顺时针转180°。
另,可以理解,涉及到顺时针或逆时针转动图片时,转动的角度也可以有多种形式,例如,可以如表1所示,顺时针或逆时针转90°或180°,除此之外,课可以顺时针或逆时针转动60°、顺时针或逆时针转动30°、顺时针或逆时针转动45°等,此处不再一一罗列。
步骤103、基于方位参数,调整图片中各像素的像素位置。
这里,需要指出的是,本申请实施方式所指的调整图片中各像素的像素位置,是指对图片进行基于当前显示方式的调整。例如,若图片当前的显示方式是在原始状态下已经顺时针转90°之后的显示方式,那么,若需要在图片的当前显示方式下,继续调整图片顺时针转90°,则经过调整后,图片的显示方式是在原始状态下,顺时针转180°后的显示方式,其中,原始状态是指图片最初存储的状态。
具体地,以表1所示对应关系为例,若显示调整请求中的方位参数为3,则表示在图片的当前显示方式下,需要调整图片顺时针转180°。则,需要先确定在图片的当前显示方式下,图片中各像素的像素位置,然后基于在图片的当前显示方式下,图片中各像素的像素位置计算图片顺时针转180°后,图片中各像素点的像素位置,再根据计算结果调整图片中各像素的像素位置。
步骤104、按照调整后的像素位置进行图片渲染,以显示图片。
可理解地,用户在查看图片时,是通过图片中的各像素查看到图片的显示方式,换言之,调整图片的各像素的像素位置,可以调整图片的显示方式。
本发明实施例的一种图片处理方法,通过接收对图片的显示调整请求,基于显示调整请求,确定图片的方位参数,方位参数用于指示图片的像素调整方式;基于方位参数,调整图片中各像素的像素位置;按照调整后的像素位置进行图片渲染,以显示图片。由此,可以基于方位参数快速调整图片中各像素的像素位置,这样,可以通过修改方位参数更新方位参数对应的像素位置,基于更新后的像素位置进行图片渲染,无需对图片文件中的所有图片编码信息进行重新编码,避免了在重新对整张图片进行编码时,容易出现编码出错的情况,不会对图片造成损坏,并且,在图片调整过程中,尤其是在对大图调整的过程中,降低了编码工作量,降低了图片损坏风险,简化了对图片的显示方式调整的处理过程,这有利于缩短响应时间,对用户而言,在对图片进行状态调整时,电子设备能够更快的响应该调整,实现对图片状态的快速调整。
在一些可行的实施方式中,可以通过图片的当前显示方式和显示调整请求所指示的调整方式确定图片的方位参数。可选地,确定图片的方位参数的步骤包括:
基于显示调整请求,确定第一方位值,第一方位值用于指示显示调整请求对应的像素调整方式;
响应于显示调整请求,获取第二方位值,第二方位值用于指示图片的当前显示方式;
基于第一方位值和第二方位值,确定第三方位值,以作为方位参数。
在该实施方式中,根据显示调整请求确定第一方位值,因此,第一方位值用于指示显示调整请求对应的像素调整方式。值得强调的是,电子设备在显示图片时,是通过对图片中的各像素进行渲染后显示的,换言之,可以通过调整图片的各像素的像素位置,再对调整位置后的像素位置进行渲染,即可以便捷的调整图片的显示方式,提高了图片的调整效率,电子设备可以更快的响应用户操作,能为用户提供更优的图片调整体验。
具体而言,一种像素调整方式可以对应一种显示方式的调整方式。
在该实施方式中,像素的调整方式与显示方式的调整方式可以保持一致。例如,当显示方式的调整方式3为对图片进行顺时针转180°的调整时,像素的调整方式3与该显示方式的调整方式3对应,该像素的调整方式3用于指示:对图片中各像素进行顺时针转180°的调整。在该场景中,当显示调整请求用于请求对图片进行顺时针转180°时,可以获取到的第一方位值为3。
需要注意的是,像素的调整方式所对应的方位参数,与显示方式的调整方式所对应的方位参数,可以不一致。例如,当显示方式的调整方式3为顺时针转180°时,像素的调整方式1与该显示方式的调整方式3对应,该像素的调整方式1用于指示:对图片中各像素进行顺时针转180°的调整。在该场景中,当显示调整请求用于请求对图片进行顺时针转180°时,可以获取到的第一方位值为:1。
本发明实施例中,像素的调整方式可以包括但不限于如下至少一种:维持原始状态(不做调整)、水平翻转、顺时针转180°、垂直翻转、顺时针转90°且同时水平翻转(还可以视为逆时针转90°且垂直翻转)、逆时针转90°(还可以视为顺时针转270°)、逆时针转90°且水平翻转(还可以视为顺时针转90°且垂直翻转)、顺时针转90°。可以理解,像素的调整方式也可以为前述至少两种方式的组合方式。另,涉及转动的调整方式中,转动角度也无特别限制。
具体而言,由于第一方位值来自于显示调整请求,该显示调整请求可以是基于用户操作信息确定的,也可以是自动确定的,后续详述。以基于用户操作信息确定显示调整请求而言,当采集到用户在电子设备上的操作信息,且该操作信息用于指示对图片进行水平翻转,以表1所示为例,则电子设备接收到来显示调整请求,且该显示调整请求中携带的第一方位值为2,此时,该第一方位值2用于指示显示调整请求对应的像素调整方式为水平翻转。
此外,在该实施方式中,第二方位值用于指示图片的当前显示方式。由于在对图片进行调整时,是对图片在当前显示方式的基础上进行调整,因此,若需要完成一次对图片的调整,还需要获取图片当前的显示方式。由于图片的EXIF扩展信息中的Orientation参数指示图片显示方式,因此,在当前状态下的Orientation参数的取值,便是第二方位值。换言之,第二方位值为图片调整前的方位参数。
具体而言,在获取第二方位值时,在该实施方式中,基于图片的存储文件查找图片的Orientation参数的存储位置,然后获取该位置上的Orientation参数的取值,以及对应的数据格式,将Orientation参数的取值作为本申请实施方式的第二方位值,并获取与第二方位值对应的图片的像素信息,以便于后续对图片的显示方式进行调整。其中,图片的像素信息包括但不限于图片中的各像素的像素位置。
进一步地,基于第一方位值和第二方位值确定第三方位值,基于第三方位值更新图片的Orientation参数,以确定图片的调整后的显示方式。换言之,第三方位值是图片调整后的方位参数。根据第三方位值可以确定图片调整后的显示方式,进一步计算对应于调整后的显示方式对应的像素信息,基于该像素信息显示更新显示方式后的图片。
作为可变换的实施方式,基于第一方位值和第二方位值,确定第三方位值的方式包括但不限于,例如可以对第一方位值和第二方位值进行例如加权求和等数学计算确定第三方位值,还可以预设数组集合,基于第一方位值和第二方位值从该预设的数组集合中确定第三方位值。在该实施方式中,以预设数组的形式进行示例说明。
可选地,基于第一方位值和第二方位值,确定第三方位值,包括:
基于第一方位值与第二方位值,获取索引信息,索引信息用于唯一指示预设的数组集合中的一个数值,数组集合包括多个数组,任意一个数组包括一个或多个数值,每一数值表示一个方位值;
在数组集合中,获取索引信息所指示的一个方位值,得到第三方位值。
可选地,索引信息包括数组索引值和方位值索引值,其中,第一方位值为数组索引值,第二方位值为方位值索引值;或者,第二方位值为所述数组索引值,第一方位值为所述方位值索引值。
在该实施方式中,根据以第一方位值为数组索引值,第二方位值为方位值索引值为示例确定索引信息,进一步根据该索引信息确定第三方位值。当然,此处仅为预设的数组集合的其中一种表现形式,可变换地,在其他可行的实施例中,例如,当选取其他字符作为用于表示图片方向的参数时,还可以相应地调整数组中的各元素,但不论其作何变换,都在本申请实施例保护的范围之内。
需要说明的是,在实际应用中,在对图片的显示方式进行调整时,可采用的调整方式包括但不限于上述的8种调整方式及其组合方式,而图片原本的显示方式(调整前的方位参数)也包括但不限于上述的8种显示方式及其组合方式。
举例说明,本实施方式中,以表1中的8种原本的显示方式,8种调整方式为例进行说明,在8种原本的显示方式,8种调整方式的组合下,共有64种组合方式,在该实施方式中,为便于更好地基于每一种可能的组合情况确定调整后的图片的显示方式,根据这64种组合方式生成预设的数组集合const BYTE EXIF_ORITRANSLATE[8][8],其中,预设的数组集合的数组组成情况如下。
const BYTE EXIF_ORITRANSLATE[8][8]={
{1,2,3,4,5,6,7,8},{2,1,4,3,6,5,8,7},{3,4,1,2,7,8,5,6},{4,3,2,1,8,7,6,5},{5,8,7,6,1,4,3,2},{6,7,8,5,2,3,4,1},{7,6,5,8,3,2,1,4},{8,5,6,7,4,1,2,3}
};
在上述预设的数组中,共有8个数组,每一个数组对应一种数组索引值(例如,第二方位值)的取值情况,换言之,数组索引值用于指示目标元素所在的目标数组的索引位置。其中,该索引位置可以表示但不限于:预设的数组集合中从前至后的排序数目、预设的数组集合中从后至前的排序数目等。例如,当数组索引值为第二方位值,且第二方位值取值为1时,确定预设数组集合中从前至后的第一个数组为目标数组;或者,又例如,当数组索引值为第二方位值,且第二方位值取值为2时,确定预设数组集合中从前至后的第二个数组为目标数组,以此类推。
进一步地,目标数组中的每一个目标元素的索引位置与方位值索引值(例如,第一方位值)对应。换言之,方位值索引值用于指示目标元素在目标数组中的索引位置,该索引位置可以表示但不限于:目标数组中从前至后的排序数目、目标数组中从后至前的排序数目等。例如,当方位值索引值为第一方位值,且第一方位值取值为1时,则目标数组中从前至后的索引位置为1对应的元素为目标元素;或者,又例如,当方位值索引值为第一方位值,且第一方位值取值为2时,则目标数组中从前至后的索引位置为2对应的元素为目标元素,以此类推。这样,基于预设的数组集合、第一方位值和第二方位值,可以快速确定索引信息。
除前述实施例之外,在一些可行的实施方式中,若图片的当前显示方式为图片拍摄时的原始显示方式,也即,该原始显示方式的第二方位值为预设值或默认值,此时,可以直接将第一方位值作为第三方位值进行更新。在该种应用场景下,上述的图片处理方法还包括:
基于显示调整请求,确定第一方位值,将第一方位值确定为第三方位值,以作为方位参数,其中,第一方位值用于指示显示调整请求对应的像素调整方式;
基于显示调整请求,确定第一方位值之前,上述的图片处理方法还包括:
获取第二方位值,第二方位值用于指示图片的当前显示方式;
若第二方位值为预设值,则基于显示调整请求,确定第一方位值,将第一方位值确定为第三方位值,以作为方位参数。
在该实施方式中,图片的当前显示方式为图片拍摄时的原始显示方式,也即,预设值为1,当第二方位值为1时,若第一方位值取值为1,则,根据上述的索引查找方式,可以确定第三方位值的取值也为1;当第二方位值取值为1时,若第一方位值取值为2,则,根据上述的索引查找方式,可以确定第三方位值的取值也为2。如前所述,在该场景中,只要第二方位值的取值为1,则,第三方位值的取值和第一方位值的取值都保持一致。也即,当图片的当前显示方式为以图片拍摄时的原始显示方式显示的情况下,可以根据第一方位值直接确定第三方位值。
若第二方位值的取值不为上述的预设值,也即第二方位值的取值不为1时,则可以根据上述的数组集合const BYTE EXIF_ORITRANSLATE[8][8],确定第三方位值。
在调整图片中各像素的像素位置时,需要基于图片在当前的显示方式下的像素信息进行调整。可选地,调整图片中各像素的像素位置,包括:
获取方位参数所指示的像素调整方式;
针对图片中的任意一个像素,根据方位参数所指示的像素调整方式、该像素的当前位置,计算调整后的像素位置。
在该实施方式中,需要说明的是,当图片的显示方式被调整之后,图片的像素信息中的各像素点的位置也发生了相应的改变,因此,需要根据方位参数所指示的像素调整方式、该像素的当前位置,计算调整后的像素位置。
例如,假设图片包括像素A和像素B,若需要对图片的显示方式进行调整,需要先调整图片的像素位置。首先,需要获取图片在当前显示方式下,像素A和像素B的像素位置,假设图片在当前显示方式下,以一个方形框为参考基准,像素A位于该方形框的左上角第一个位置,像素B位于该方形框的右上角第一个位置。然后,确定方位参数所指示的像素调整方式为顺时针转90°,则,根据方位参数的指示顺时针转90°后,像素A位于该方形框的右上角第一个位置,像素B位于该方形框的右下角第一个位置。此处的计算方式仅为示例性的说明,实际场景中,需要基于像素当前位置、像素调整方式,实际计算并确定调整后的像素位置,此处不再展开穷举。
然后,根据计算得到的像素位置渲染并显示调整后的图片,这样,完成一次对图片的显示方式的调整。
需要说明的是,在一些可行的实施方式中,在完成一次对图片的显示方式的调整之后,还可以对调整后的图片进行存储。例如,电子设备可以自动存储调整后的图片,也可以输出提示信息,该提示信息用于提示用户是否需要存储调整后的图片,通过采集用户针对该提示信息的操作信息,即可根据用户的意愿来确定是否存储图片。
具体而言,在存储图片时,可以将调整后的图片以覆盖调整前的图片的方式进行存储,也可以将调整后的图片存储为新的图片,可以理解,存储方式也可以为提前自定义预设,或者,也可以输出提示信息以便于基于用户操作来确定,此处不展开详述。示例性的一种实施例中,为便于用户查找,在将调整后的图片存储为新的图片后,可以将该新的图片与调整前的图片进行关联存储。具体地,可以将调整后的图片存储至与调整前的图片的相同的文件夹下,也可以将调整后的图片存储至与调整前的图片的相关的文件夹下,此处仅作示例,不做限定。
此外,在另一些可行的实施方式中,在完成一次对图片的显示方式的调整之后,还可以分享调整后的图片。例如,用户在使用可以编辑图片的应用(Application,APP)时,在该应用中基于上述的方式调整图片后,可以进一步将调整后的图片向其他的好友或其他的第三方平台进行分享。此处仅作示例,不做限定。
在本实施方式中,通过改变Orientation参数实现对图片的显示方式的调整,由于Orientation参数为图片的存储信息中的一个字节,这样,只需改变图片的存储信息中的一个字节实现调整图片的显示方式,无需对图片数据进行重新编码,简化了对图片的显示方式调整的处理过程。
需要说明的是,如图2所示,在基于第三方位值修改Orientation参数的取值时,需要按照Orientation参数中第二方位值的数据格式将第三方位值写入Orientation参数中。由于EXIF扩展信息中,不同的参数可能以不同的数据格式存储,为避免破坏图片存储的图片文件,因此,需要以读取出来的第二方位值的格式将第三方位值写入Orientation参数中,这样,就可以避免对图片的图片文件中的所有数据进行编解码,减少了对图片的重新编码的次数,在存储时,只需要修改一个字节(Orientation参数),特别是对于大的图片,有极大的优势,在现有技术中,如果对图片的所有数据进行重新编解码,则降低了对图片调整的效率,且修改工作量大,采用本申请的方式,只对Orientation参数进行修改,不仅仅提高了效率,还可以减小图片的存储数据的大小,避免因为大量覆盖写导致图片的损坏,提高了调整图片时的安全性。
需要说明的是,在经过一次图片调整后,还可以在当前调整的基础上,继续进行调整。此时,是基于写入的第三方位值的基础上进行的调整,换言之,写入的第三方位值将成为后续调整过程中的第二方位值。例如,在第一次调整时,图片在原始的显示方式下的第二方位值为1,在进行第一次调整时,确定第三方位值为3,将第三方位值写入Orientation参数中,也即,将1改写为3,这样,完成第一次调整。在第二次调整时,确定第三方位值为4,则将4写入Orientation参数中,也即,将3改写为4。
综上所述,本发明实施例可以基于方位参数快速调整图片中各像素的像素位置,这样,可以通过修改方位参数更新方位参数对应的像素位置,基于更新后的像素位置进行图片渲染,无需对图片文件中的所有图片编码信息进行重新编码,避免了在重新对整张图片进行编码时,容易出现编码出错的情况,不会对图片造成损坏,并且,在图片调整过程中,尤其是在对大图调整的过程中,降低了编码工作量,降低了图片损坏风险,简化了对图片的显示方式调整的处理过程,这有利于缩短响应时间,对用户而言,在对图片进行状态调整时,电子设备能够更快的响应该调整,实现对图片状态的快速调整。
请参见图3,图3为本申请实施例提供的一种图片处理装置300,包括:
第一处理模块301,用于接收对图片的显示调整请求;
第二处理模块302,用于基于所述显示调整请求,确定所述图片的方位参数,所述方位参数用于指示所述图片的像素调整方式;
第三处理模块303,用于基于所述方位参数,调整所述图片中各像素的像素位置;
第四处理模块304,用于按照调整后的像素位置进行图片渲染,以显示所述图片。
可选地,所述第二处理模块302具体用于:
基于所述显示调整请求,确定第一方位值,所述第一方位值用于指示所述显示调整请求对应的像素调整方式;
响应于所述显示调整请求,获取第二方位值,所述第二方位值用于指示所述图片的当前显示方式;
基于所述第一方位值和所述第二方位值,确定第三方位值,以作为所述方位参数。
可选地,所述第二处理模块302具体用于:
基于所述第一方位值与所述第二方位值,获取索引信息,所述索引信息用于唯一指示预设的数组集合中的一个数值,所述数组集合包括多个数组,任意一个所述数组包括一个或多个所述数值,每一所述数值表示一个方位值;
在所述数组集合中,获取所述索引信息所指示的一个方位值,得到所述第三方位值。
其中,所述索引信息包括数组索引值和方位值索引值,其中,所述第一方位值为所述数组索引值,所述第二方位值为所述方位值索引值;或者,所述第二方位值为所述数组索引值,所述第一方位值为所述方位值索引值。
可选地,所述第二处理模块302还用于:
基于所述显示调整请求,确定第一方位值,将所述第一方位值确定为第三方位值,以作为所述方位参数,其中,第一方位值用于指示所述显示调整请求对应的像素调整方式;
所述基于所述显示调整请求,确定第一方位值之前,所述方法还包括:
获取第二方位值,所述第二方位值用于指示所述图片的当前显示方式;
若所述第二方位值为预设值,则基于所述显示调整请求,确定第一方位值,将所述第一方位值确定为第三方位值,以作为所述方位参数。
可选地,所述第三处理模块303具体用于:
获取方位参数所指示的像素调整方式;
针对所述图片中的任意一个像素,根据所述方位参数所指示的像素调整方式、该像素的当前位置,计算调整后的像素位置。
其中,所述像素调整方式包括如下至少一种:维持原始状态、水平翻转、顺时针转180°、垂直翻转、顺时针转90°且同时水平翻转、逆时针转90°、逆时针转90°且水平翻转、顺时针转90°。
其中,所述第二处理模块302在确定所述方位参数时,基于所述图片的EXIF扩展信息中的Orientation信息确定。
本申请实施例提供的图片处理装置300能够实现上述的图片处理方法实施例中的各个过程,为避免重复,此处,不再一一赘述。
本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,用于存放计算机程序;
处理器401,用于执行存储器403上所存放的程序时,实现如上述的任意一种实施例所述的图片处理方法,此处,不做赘述。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一实施例所述的图片处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一实施例所述的图片处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种图片处理方法,其特征在于,包括:
接收对图片的显示调整请求;
基于所述显示调整请求,确定第一方位值,所述第一方位值用于指示所述显示调整请求对应的像素调整方式;
响应于所述显示调整请求,获取第二方位值,所述第二方位值用于指示所述图片的当前显示方式;
基于所述第一方位值和所述第二方位值,确定第三方位值,以作为方位参数,所述方位参数用于指示所述图片的像素调整方式;
基于所述方位参数,调整所述图片中各像素的像素位置;
按照调整后的像素位置进行图片渲染,以显示所述图片。
2.根据权利要求1所述的图片处理方法,其特征在于,所述基于所述第一方位值和所述第二方位值,确定第三方位值,包括:
基于所述第一方位值与所述第二方位值,获取索引信息,所述索引信息用于唯一指示预设的数组集合中的一个数值,所述数组集合包括多个数组,任意一个所述数组包括一个或多个所述数值,每一所述数值表示一个方位值;
在所述数组集合中,获取所述索引信息所指示的一个方位值,得到所述第三方位值。
3.根据权利要求2所述的图片处理方法,其特征在于,所述索引信息包括数组索引值和方位值索引值,其中,所述第一方位值为所述数组索引值,所述第二方位值为所述方位值索引值;或者,所述第二方位值为所述数组索引值,所述第一方位值为所述方位值索引值。
4.根据权利要求1所述的图片处理方法,其特征在于,所述基于所述第一方位值和所述第二方位值,确定第三方位值,以作为所述方位参数,包括:
基于所述显示调整请求,确定第一方位值,将所述第一方位值确定为第三方位值,以作为所述方位参数,其中,第一方位值用于指示所述显示调整请求对应的像素调整方式;
所述基于所述显示调整请求,确定第一方位值之前,所述方法还包括:
获取第二方位值,所述第二方位值用于指示所述图片的当前显示方式;
若所述第二方位值为预设值,则基于所述显示调整请求,确定第一方位值,将所述第一方位值确定为第三方位值,以作为所述方位参数。
5.根据权利要求1-4中任一项所述的图片处理方法,其特征在于,所述调整所述图片中各像素的像素位置,包括:
获取方位参数所指示的像素调整方式;
针对所述图片中的任意一个像素,根据所述方位参数所指示的像素调整方式、该像素的当前位置,计算调整后的像素位置。
6.根据权利要求1-4中任一项所述的图片处理方法,其特征在于,所述像素调整方式包括如下至少一种:维持原始状态、水平翻转、顺时针转180始、垂直翻转、顺时针转90直且同时水平翻转、逆时针转90时、逆时针转90时且水平翻转、顺时针转90平。
7.根据权利要求1-4中任一项所述的图片处理方法,其特征在于,所述方位参数基于所述图片的EXIF扩展信息中的Orientation信息确定。
8.一种图片处理装置,其特征在于,包括:
第一处理模块,用于接收对图片的显示调整请求;
第二处理模块,用于基于所述显示调整请求,确定第一方位值,所述第一方位值用于指示所述显示调整请求对应的像素调整方式;还用于响应于所述显示调整请求,获取第二方位值,所述第二方位值用于指示所述图片的当前显示方式;还用于基于所述第一方位值和所述第二方位值,确定第三方位值,以作为方位参数;
第三处理模块,用于基于所述方位参数,调整所述图片中各像素的像素位置;
第四处理模块,用于按照调整后的像素位置进行图片渲染,以显示所述图片。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110118607.XA CN112837211B (zh) | 2021-01-28 | 2021-01-28 | 一种图片处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110118607.XA CN112837211B (zh) | 2021-01-28 | 2021-01-28 | 一种图片处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112837211A CN112837211A (zh) | 2021-05-25 |
CN112837211B true CN112837211B (zh) | 2023-07-18 |
Family
ID=75932187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110118607.XA Active CN112837211B (zh) | 2021-01-28 | 2021-01-28 | 一种图片处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112837211B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH099040A (ja) * | 1995-06-21 | 1997-01-10 | Minolta Co Ltd | 画像処理装置 |
JP2004135254A (ja) * | 2002-08-14 | 2004-04-30 | Akuseru:Kk | 画像処理装置 |
CN108133029A (zh) * | 2017-12-29 | 2018-06-08 | 百度在线网络技术(北京)有限公司 | 地图元素的调整方法、装置、设备及计算机可读存储介质 |
WO2018119786A1 (zh) * | 2016-12-28 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 一种显示数据处理方法及装置 |
WO2018176960A1 (zh) * | 2017-03-27 | 2018-10-04 | 广州优视网络科技有限公司 | 显示网络图片的方法、装置以及用户终端 |
CN111819568A (zh) * | 2018-06-01 | 2020-10-23 | 华为技术有限公司 | 人脸旋转图像的生成方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009001512A1 (ja) * | 2007-06-27 | 2008-12-31 | Panasonic Corporation | 撮像装置、方法、システム集積回路、及びプログラム |
KR20120078980A (ko) * | 2011-01-03 | 2012-07-11 | 삼성전자주식회사 | 휴대단말기에서 영상의 방향정보 추출장치 및 방법 |
CN104661011B (zh) * | 2014-11-26 | 2017-04-19 | 深圳超多维光电子有限公司 | 立体图像显示方法及手持终端 |
CN105159663B (zh) * | 2015-08-06 | 2019-06-14 | 北京小熊博望科技有限公司 | 图像的调整方法及装置 |
CN105430331A (zh) * | 2015-11-13 | 2016-03-23 | 浙江宇视科技有限公司 | 调整监控图像显示方向的方法和装置 |
CN111638929A (zh) * | 2020-05-26 | 2020-09-08 | 广州视源电子科技股份有限公司 | 开机图像处理方法、装置、设备及存储介质 |
-
2021
- 2021-01-28 CN CN202110118607.XA patent/CN112837211B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH099040A (ja) * | 1995-06-21 | 1997-01-10 | Minolta Co Ltd | 画像処理装置 |
JP2004135254A (ja) * | 2002-08-14 | 2004-04-30 | Akuseru:Kk | 画像処理装置 |
WO2018119786A1 (zh) * | 2016-12-28 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 一种显示数据处理方法及装置 |
WO2018176960A1 (zh) * | 2017-03-27 | 2018-10-04 | 广州优视网络科技有限公司 | 显示网络图片的方法、装置以及用户终端 |
CN108133029A (zh) * | 2017-12-29 | 2018-06-08 | 百度在线网络技术(北京)有限公司 | 地图元素的调整方法、装置、设备及计算机可读存储介质 |
CN111819568A (zh) * | 2018-06-01 | 2020-10-23 | 华为技术有限公司 | 人脸旋转图像的生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112837211A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018206841B2 (en) | Image curation | |
EP2385498B1 (en) | Thumbnail image browsing method in an embedded system | |
US10825130B2 (en) | Method and apparatus for displaying picture content in application, and storage medium | |
KR102278932B1 (ko) | 애플리케이션 프로그램 처리 방법 및 단말 디바이스 | |
CN109064399B (zh) | 图像超分辨率重建方法和系统、计算机设备及其存储介质 | |
CN106168874B (zh) | 一种基于网页的彩信编辑方法和装置 | |
US9754350B2 (en) | Systems and methods of automatic image sizing | |
CN112527226A (zh) | 适应车载屏幕显示图片的获取方法、系统、介质及智能终端 | |
CN114339447B (zh) | 图片转视频的方法、装置、设备及存储介质 | |
CN112837211B (zh) | 一种图片处理方法、装置、电子设备及可读存储介质 | |
CN111008934A (zh) | 一种场景构建方法、装置、设备及存储介质 | |
US20190197986A1 (en) | Methods for dynamically providing an image to be displayed | |
CN107680038B (zh) | 一种图片处理方法、介质和相关装置 | |
CN112328924B (zh) | web端实现图片查看器的方法、电子设备、介质及系统 | |
US9483237B2 (en) | Method and system for providing an image effects interface | |
CN113963072A (zh) | 双目摄像头标定方法、装置、计算机设备和存储介质 | |
US20230043150A1 (en) | Animation generation method and apparatus, electronic device, and computer-readable storage medium | |
CN114387402A (zh) | 虚拟现实场景显示方法及装置、电子设备、可读存储介质 | |
CN112579218B (zh) | 用户界面展示方法、装置、计算机可读介质及电子设备 | |
CN112269957A (zh) | 图片处理方法、装置、设备及存储介质 | |
CN114092362A (zh) | 一种全景图片加载方法和装置 | |
CN113032696A (zh) | 一种页面图片的显示方法和显示装置 | |
CN113126836B (zh) | 一种画面显示方法、存储介质及终端设备 | |
CN113259712B (zh) | 一种视频处理方法和相关装置 | |
CN112445990A (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 |