CN111754409B - 图像处理方法、装置、设备和存储介质 - Google Patents

图像处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111754409B
CN111754409B CN201910237385.6A CN201910237385A CN111754409B CN 111754409 B CN111754409 B CN 111754409B CN 201910237385 A CN201910237385 A CN 201910237385A CN 111754409 B CN111754409 B CN 111754409B
Authority
CN
China
Prior art keywords
image
image matrix
rotated
matrix
row
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
Application number
CN201910237385.6A
Other languages
English (en)
Other versions
CN111754409A (zh
Inventor
董玉新
朱兆琪
刘巍
陈宇
翁志
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Wodong Tianjun Information Technology Co Ltd
Priority to CN201910237385.6A priority Critical patent/CN111754409B/zh
Publication of CN111754409A publication Critical patent/CN111754409A/zh
Application granted granted Critical
Publication of CN111754409B publication Critical patent/CN111754409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/602Rotation of whole images or parts thereof by block rotation, e.g. by recursive reversal or rotation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种图像处理方法、装置、设备和存储介质。该方法包括:获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个2×2子矩阵;根据neon指令在预设旋转方向上并行旋转所述至少一个2×2子矩阵,得到至少一个旋转后的2×2子矩阵;根据所述至少一个旋转后的2×2子矩阵,生成旋转后的图像。本发明实施例提高了图像旋转效率。

Description

图像处理方法、装置、设备和存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、设备和存储介质。
背景技术
随着移动互联网的发展,对于数字化内容的使用方式要求更加多样,例如用户对图像的使用体验要求越来越高。用户在使用图像时,一般会通过设备对图像进行处理,例如对图像进行旋转。
相关技术中,通过开源计算机视觉库(Open Source Computer Vision Library,简称OpenCV)对图像进行旋转,例如对图像顺时针旋转90度是通过对图像进行转置和翻转的组合来实现的,即先对图像进行转置,然后对转置后的图像沿着y轴翻转,即可得到顺时针旋转90度的图像。但是由于OpenCV中是通过每次处理图像的一个像素实现上述处理过程,因此导致耗时较长。
发明内容
本发明提供一种图像处理方法、装置、设备和存储介质,以提高图像旋转效率。
第一方面,本发明提供一种图像处理方法,包括:
获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个2×2子矩阵;
根据neon指令在预设旋转方向上并行旋转所述至少一个2×2子矩阵,得到至少一个旋转后的2×2子矩阵;
根据所述至少一个旋转后的2×2子矩阵,生成旋转后的图像。
第二方面,本发明提供一种图像处理装置,包括:
获取模块,用于获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个2×2子矩阵;
旋转模块,用于根据neon指令在预设旋转方向上并行旋转所述至少一个2×2子矩阵,得到至少一个旋转后的2×2子矩阵;
处理模块,用于根据所述至少一个旋转后的2×2子矩阵,生成旋转后的图像。
第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
第四方面,本发明实施例提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行第一方面中任一项所述的方法。
本发明实施例提供的图像处理方法、装置、设备和存储介质,获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个2×2子矩阵;根据neon指令在预设旋转方向上并行旋转所述至少一个2×2子矩阵,得到至少一个旋转后的2×2子矩阵;根据所述至少一个旋转后的2×2子矩阵,生成旋转后的图像,由于根据neon指令至少一个2×2子矩阵进行并行旋转,提高了图像旋转的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本发明一实施例提供的应用场景图;
图2是本发明提供的图像处理方法一实施例的流程示意图;
图3是本发明提供的一实施例的图像分块原理示意图;
图4是本发明提供的一实施例的neon指令旋转原理示意图;
图5是本发明提供的一实施例的图像矩阵旋转示意图;
图6是本发明提供的一实施例的图像旋转原理示意图;
图7是本发明提供的一实施例的neon指令一次旋转示意图;
图8是本发明提供的一实施例的一次元素配对示意图;
图9是本发明提供的一实施例的neon指令二次旋转示意图;
图10是本发明提供的一实施例的二次元素配对示意图;
图11是本发明提供的一实施例的neon指令三次旋转示意图;
图12是本发明提供的一实施例的图像矩阵旋转效果示意图;
图13是本发明提供的图像处理装置一实施例的结构示意图;
图14是本发明提供的电子设备实施例的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本发明的说明书和权利要求书及所述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本发明所涉及的名词和应用场景进行介绍:
Neon指令是适用于ARM处理器的一种单指令多数据(Single Instruction,Multiple Data,简称SIMD)扩展结构。
本发明实施例提供的图像处理方法,应用于电子设备对图像进行旋转的场景中,以提高图像旋转效率。例如在对图像进行展示、实时检测等场景下对图像进行旋转。其中,电子设备例如包括手机、平板电脑、电视等终端设备。
图1为本发明一实施例提供的应用场景图,可选的,如图1所示,该应用场景中包括服务器11、电子设备12;该电子设备12可以为手机、平板电脑、电视等终端。
其中,电子设备12和服务器11可以通过网络连接,例如3G、4G、5G或无线保真(Wireless Fidelity,WIFI)等通信网络。
本发明提供的方法可由电子设备12如处理器执行相应的软件代码实现,也可由该电子设备12在执行相应的软件代码的同时,通过和服务器11进行数据交互来实现,如服务器执行部分操作,来控制电子设备执行该图像处理方法。
本发明实施例的方法,通过根据neon指令在预设旋转方向上并行旋转至少一个2×2子矩阵,实现了将图像进行旋转,旋转效率高。
下面的实施例均以电子设备为执行主体进行说明。
下面以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2是本发明提供的图像处理方法一实施例的流程示意图。如图2所示,本实施例提供的方法,包括:
步骤201、获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个2×2子矩阵。
具体的,在对图像进行旋转时,首先获取待旋转图像,并获取该待旋转图像的图像矩阵。图像矩阵的元素为图像的像素。
其中,获取待旋转图像的图像矩阵,具体可以通过如下方式实现:
对待旋转图像进行分块,获取至少一个所述图像矩阵。
图像矩阵可以包括至少一个2×2子矩阵,例如图像矩阵为2×2矩阵,或图像矩阵为4×4矩阵、8×8矩阵等多种形式。
如图3所示,待旋转图像的宽和高分别为w和h,宽和高指的是像素个数,w1和h1分别为分块得到的图像矩阵的总宽度和总高度。分块可能会有剩余部分,即不足图像矩阵大小的部分,如图3中右边和下边空白区域。
步骤202、根据neon指令在预设旋转方向上并行旋转所述至少一个2×2子矩阵,得到至少一个旋转后的2×2子矩阵。
具体的,在对图像进行旋转时,为了加快旋转速度,可以根据neon指令在预设旋转方向上并行旋转至少一个2×2子矩阵,得到每一个2×2子矩阵对应的旋转后的2×2子矩阵。
neon指令可以实现2×2矩阵的快速旋转,如图4所示:
针对图4中2×8矩阵,每一行有8个元素,首先对矩阵的行进行交换(即a、b行),然后对每个2×2子矩阵的第1行第2列元素以及第2行第1列元素对调位置,最终得到旋转后的rot1,实现顺时针旋转90度。
neon指令是对每个2×2子矩阵进行旋转,相比于OpenCV每次只处理一个像素,neon指令一次可以处理一个2×2子矩阵,处理速度较快。
预设旋转方向例如顺时针或逆时针,在预设旋转方向可以旋转预设角度。
步骤203、根据至少一个旋转后的2×2子矩阵,生成旋转后的图像。
具体的,该步骤中需要先根据旋转后的2×2子矩阵,生成旋转后的图像矩阵,然后根据旋转后的图像矩阵生成旋转后的图像。
旋转后的图像矩阵即对图像矩阵在预设旋转方向上旋转预设的旋转角度得到,具体是根据neon指令在预设旋转方向上并行旋转该图像矩阵中的2×2子矩阵得到。当对图像进行旋转时,其本质是把图像的像素位置进行重新排列,如图5所述,假设图像矩阵为8×8,则旋转后的图像矩阵为图5中右侧所示的图像矩阵。
根据预设旋转方向以及预设的旋转角度,确定图像矩阵在旋转后的图像中的位置;
如图6所示,根据所述位置将旋转后的图像矩阵,放置在对应的位置,形成旋转后的图像,
对于分块后的图像中除了分块的图像矩阵之外的剩余区域(如图3中右边和下边空白区域),根据预设的旋转方向和旋转角度确定剩余区域中的每个像素旋转后的位置,并将所述像素放置在对应的旋转后的位置,形成旋转后的图像。
本实施例的方法,获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个2×2子矩阵;根据neon指令在预设旋转方向上并行旋转所述至少一个2×2子矩阵,得到至少一个旋转后的2×2子矩阵;根据所述至少一个旋转后的2×2子矩阵,生成旋转后的图像,由于根据neon指令至少一个2×2子矩阵进行并行旋转,提高了图像旋转的效率。
在上述实施例的基础上,可选的,若图像矩阵为8×8图像矩阵,步骤203具体可以采用如下方式实现:
针对每个旋转后的2×2子矩阵,将该2×2子矩阵中各行的相邻元素作为一个元素,以使所述8×8图像矩阵被转换成8×4图像矩阵;
根据所述8×4图像矩阵,生成旋转后的图像。
具体的,针对每个2×2子矩阵进行旋转,得到了如图7所示的8×8图像矩阵,图7中每两行作为一个单元,得到rot1、rot2、rot3和rot4。
经过一次旋转之后,已经出现了目标元素对(图5所示旋转后的图像矩阵中的目标元素对),即21和11、23和13、25和15、27和17,因此,将目标元素对进行固定,即将每一行中相邻的两个元素作为一个元素。
如图8所示,将2×2子矩阵中各个行的相邻两个元素作为一个元素,即第一行的两个元素作为一个元素,第二行的两个元素作为一个元素,以使该8×8图像矩阵被转换成8×4图像矩阵;图8中每4行作为一个单元,得到temp11、temp12。
然后,根据得到的8×4图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像。
进一步的,根据得到的8×4图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像,具体可以采用如下方式实现:
交换所述8×4图像矩阵的第二行和第三行,并交换所述8×4图像矩阵的第六行和第七行,形成变换后的8×4图像矩阵,所述变换后的8×4图像矩阵包括至少一个2×2子矩阵;
根据neon指令在所述预设旋转方向上并行旋转变换后的8×4图像矩阵包括的至少一个2×2子矩阵,以得到再次变换后的8×4图像矩阵;
根据再次变换后的8×4图像矩阵,生成旋转后的图像。
具体的,如图9所示,为了得到旋转后的8×8图像矩阵中的像素对,41、31、21、11和43、33、23、13等,对8×4图像矩阵的行进行交换,并对交换后的8×4图像矩阵中的2×2子矩阵进行旋转。
如图9所示,交换8×4图像矩阵的第二行和第三行,并交换8×4图像矩阵的第六行和第七行,形成变换后的8×4图像矩阵,即将8×4图像矩阵的第一行和第三行作为一个单元rot5,第二行和第四行作为一个单元rot6,第五行和第七行作为一个单元rot7,第六行和第八行作为一个单元rot8,并对其中的2×2子矩阵进行并行旋转,得到图9中右边所示的再次变换后的8×4图像矩阵。
然后,根据再次变换后的8×4图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像。
进一步的,根据再次变换后的8×4图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像,具体可以通过如下方式实现:
针对再次变换后的8×4图像矩阵中的每个2×2子矩阵,将该2×2子矩阵中各行的相邻元素作为一个元素,以使再次变换后的8×4图像矩阵被转换成8×2图像矩阵;
根据所述8×2图像矩阵,生成旋转后的图像。
具体的,为了得到像素对41、31、21、11和43、33、23、13等,将各行的相邻两个元素作为一个元素,即对于每个2×2子矩阵,将该2×2子矩阵中第一行的两个元素作为一个元素,第二行的两个元素作为一个元素,以使再次变换后的8×4图像矩阵被转换成8×2图像矩阵,即得到如图10所示右边的两个单元temp21和temp22形成的8×2图像矩阵。
然后,根据8×2图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像。
进一步的,根据8×2图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像具体可以通过如下方式实现:
根据neon指令在所述预设旋转方向上并行旋转所述8×2图像矩阵中第一行和第五行构成的2×2子矩阵、第二行和第六行构成的2×2子矩阵、第三行和第七行构成的2×2子矩阵以及第四行和第八行构成的2×2子矩阵,得到转换后的8×2图像矩阵;
根据转换后的8×2图像矩阵,生成旋转后的图像。
具体的,如图11所示,将8×2图像矩阵中第一行和第五行形成的单元中的2×2子矩阵、第二行和第六行形成的单元中的2×2子矩阵、第三行和第七行形成的单元中的2×2子矩阵以及第四行和第八行形成的单元中的2×2子矩阵根据neon指令进行并行旋转,得到了图11中右边所示的rot9、rot10、rot11、rot12形成的转换后的8×2图像矩阵;
根据转换后的8×2图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像。
进一步的,根据转换后的8×2图像矩阵,生成旋转后的8×8图像矩阵,并根据旋转后的8×8图像矩阵,生成旋转后的图像,具体可以采用如下方式实现:
对转换后的8×2图像矩阵的第二行和第五行进行交换,并对转换后的8×2图像矩阵的第四行和第七行进行交换,得到再次转换后的8×2图像矩阵;
对再次转换后的8×2图像矩阵的元素进行拆分,得到旋转后的8×8图像矩阵;
根据所述旋转后的8×8图像矩阵,生成旋转后的图像。
具体的,如图12所示,将8×2图像矩阵中的各个元素进行拆分,并对第二行和第五行进行交换,第四行和第七行进行交换,最终得到了旋转后的8×8图像矩阵,即得到了图12中右边所示的旋转后的8×8图像矩阵。
其中,根据旋转后的8×8图像矩阵,生成旋转后的图像,具体可以通过如下方式实现:
根据预设旋转方向将所述旋转后的8×8图像矩阵,放置在对应的旋转后的位置处,生成所述旋转后的图像。
具体的,根据预设旋转方向确定旋转后的8×8图像矩阵在最终旋转后的图像中的位置,将旋转后的8×8图像矩阵,放置在对应的旋转后的位置处,如图6所示,按照箭头一一对应,最终生成旋转后的图像。
本实施例中,由于根据neon指令至少一个2×2子矩阵对分块后的图像矩阵进行并行旋转,采用neon指令并行处理图像矩阵中多个像素,提高了图像旋转的效率,即加速了处理图像的过程,理论上能较传统旋转方法快4倍左右。
在本发明的其他实施例中,对于分块后的4×4图像矩阵同样可以采用上述方法的步骤实现旋转,对于分块后的更大的图像矩阵也可以采用上述方法旋转,或将大的图像矩阵拆分成4×4图像矩阵或8×8图像矩阵,再对拆分的图像矩阵进行旋转。
以4×4图像矩阵举例,如图5中的前4行前4列形成的矩阵,首先,对每个2×2子矩阵进行并行旋转,然后如图8所示,将每一行中相邻的两个元素依次作为一个元素,得到图8中右边矩阵中前4行前2列的图像矩阵,即4×2图像矩阵。然后对第2行和第3行进行交换,并对交换后的图像矩阵中的每个2×2子矩阵进行并行旋转,得到图9中右边矩阵中前4行前2列的图像矩阵。然后对第2行和第3行进行交换,并对各个元素进行拆分,得到旋转后的4×4图像矩阵。
图13为本发明提供的图像处理装置一实施例的结构图,如图13所示,本实施例的图像处理装置,包括:
获取模块131,用于获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个2×2子矩阵;
旋转模块132,用于根据neon指令在预设旋转方向上并行旋转所述至少一个2×2子矩阵,得到至少一个旋转后的2×2子矩阵;
处理模块133,用于根据所述至少一个旋转后的2×2子矩阵,生成旋转后的图像。
在一种可能的实现方式中,获取模块131,具体用于:
对所述待旋转图像进行分块,获取至少一个所述图像矩阵。
在一种可能的实现方式中,若所述图像矩阵为8×8图像矩阵,则处理模块133,具体用于:
针对每个旋转后的2×2子矩阵,将该2×2子矩阵中各行的相邻元素作为一个元素,以使所述8×8图像矩阵被转换成8×4图像矩阵;
根据所述8×4图像矩阵,生成旋转后的图像。
在一种可能的实现方式中,处理模块133,具体用于:
交换所述8×4图像矩阵的第二行和第三行,并交换所述8×4图像矩阵的第六行和第七行,形成变换后的8×4图像矩阵,所述变换后的8×4图像矩阵包括至少一个2×2子矩阵;
根据neon指令在所述预设旋转方向上并行旋转变换后的8×4图像矩阵包括的至少一个2×2子矩阵,以得到再次变换后的8×4图像矩阵;
根据再次变换后的8×4图像矩阵,生成旋转后的图像。
在一种可能的实现方式中,处理模块133,具体用于:
针对再次变换后的8×4图像矩阵中的每个2×2子矩阵,将该2×2子矩阵中各行的相邻元素作为一个元素,以使再次变换后的8×4图像矩阵被转换成8×2图像矩阵;
根据所述8×2图像矩阵,生成旋转后的图像。
在一种可能的实现方式中,处理模块133,具体用于:
根据neon指令在所述预设旋转方向上并行旋转所述8×2图像矩阵中第一行和第五行构成的2×2子矩阵、第二行和第六行构成的2×2子矩阵、第三行和第七行构成的2×2子矩阵以及第四行和第八行构成的2×2子矩阵,得到转换后的8×2图像矩阵;
根据转换后的8×2图像矩阵,生成旋转后的图像。
在一种可能的实现方式中,处理模块133,具体用于:
对转换后的8×2图像矩阵的第二行和第五行进行交换,并对转换后的8×2图像矩阵的第四行和第七行进行交换,得到再次转换后的8×2图像矩阵;
对再次转换后的8×2图像矩阵的元素进行拆分,得到旋转后的8×8图像矩阵;
根据所述旋转后的8×8图像矩阵,生成旋转后的图像。
在一种可能的实现方式中,处理模块133,具体用于:
根据预设旋转方向将所述旋转后的8×8图像矩阵,放置在对应的旋转后的位置处,生成所述旋转后的图像。
本实施例的装置,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图14为本发明提供的电子设备实施例的结构图,如图14所示,该电子设备包括:
处理器141,以及,用于存储处理器501的可执行指令的存储器142。
可选的,还可以包括:通信接口143,用于实现与其他设备的通信。
上述部件可以通过一条或多条总线进行通信。
其中,处理器141配置为经由执行所述可执行指令来执行前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,此处不再赘述。
本发明实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述方法实施例中对应的方法,其具体实施过程可以参见前述方法实施例,其实现原理和技术效果类似,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。

Claims (6)

1.一种图像处理方法,其特征在于,包括:
获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个22子矩阵;
根据neon指令在预设旋转方向上并行旋转所述至少一个22子矩阵,得到至少一个旋转后的22子矩阵;
根据所述至少一个旋转后的22子矩阵,生成旋转后的图像;
若所述图像矩阵为88图像矩阵,则根据所述至少一个旋转后的22子矩阵,生成旋转后的图像,包括:针对每个旋转后的22子矩阵,将该22子矩阵中各行的相邻元素作为一个元素,以使所述88图像矩阵被转换成84图像矩阵;
交换所述84图像矩阵的第二行和第三行,并交换所述84图像矩阵的第六行和第七行,形成变换后的84图像矩阵,所述变换后的84图像矩阵包括至少一个22子矩阵;
根据neon指令在所述预设旋转方向上并行旋转变换后的84图像矩阵包括的至少一个22子矩阵,以得到再次变换后的84图像矩阵;
针对再次变换后的84图像矩阵中的每个22子矩阵,将该22子矩阵中各行的相邻元素作为一个元素,以使再次变换后的84图像矩阵被转换成82图像矩阵;
根据neon指令在所述预设旋转方向上并行旋转所述82图像矩阵中第一行和第五行构成的22子矩阵、第二行和第六行构成的22子矩阵、第三行和第七行构成的22子矩阵以及第四行和第八行构成的22子矩阵,得到转换后的82图像矩阵;
对转换后的82图像矩阵的第二行和第五行进行交换,并对转换后的82图像矩阵的第四行和第七行进行交换,得到再次转换后的82图像矩阵;
对再次转换后的82图像矩阵的元素进行拆分,得到旋转后的88图像矩阵;
根据所述旋转后的88图像矩阵,生成旋转后的图像。
2.根据权利要求1所述的方法,其特征在于,所述获取待旋转图像的图像矩阵,包括:
对所述待旋转图像进行分块,获取至少一个所述图像矩阵。
3.根据权利要求1所述的方法,其特征在于,所述根据所述旋转后的88图像矩阵,生成旋转后的图像,包括:
根据预设旋转方向将所述旋转后的88图像矩阵,放置在对应的旋转后的位置处,生成所述旋转后的图像。
4.一种图像处理装置,其特征在于,包括:
获取模块,用于获取待旋转图像的图像矩阵,所述图像矩阵包括至少一个22子矩阵;
旋转模块,用于根据neon指令在预设旋转方向上并行旋转所述至少一个22子矩阵,得到至少一个旋转后的22子矩阵;
处理模块,用于根据所述至少一个旋转后的22子矩阵,生成旋转后的图像;
若所述图像矩阵为88图像矩阵,所述处理模块,具体用于针对每个旋转后的22子矩阵,将该22子矩阵中各行的相邻元素作为一个元素,以使所述88图像矩阵被转换成84图像矩阵;
交换所述84图像矩阵的第二行和第三行,并交换所述84图像矩阵的第六行和第七行,形成变换后的84图像矩阵,所述变换后的84图像矩阵包括至少一个22子矩阵;
根据neon指令在所述预设旋转方向上并行旋转变换后的84图像矩阵包括的至少一个22子矩阵,以得到再次变换后的84图像矩阵;
针对再次变换后的84图像矩阵中的每个22子矩阵,将该22子矩阵中各行的相邻元素作为一个元素,以使再次变换后的84图像矩阵被转换成82图像矩阵;
根据neon指令在所述预设旋转方向上并行旋转所述82图像矩阵中第一行和第五行构成的22子矩阵、第二行和第六行构成的22子矩阵、第三行和第七行构成的22子矩阵以及第四行和第八行构成的22子矩阵,得到转换后的82图像矩阵;
对转换后的82图像矩阵的第二行和第五行进行交换,并对转换后的82图像矩阵的第四行和第七行进行交换,得到再次转换后的82图像矩阵;
对再次转换后的82图像矩阵的元素进行拆分,得到旋转后的88图像矩阵;
根据所述旋转后的88图像矩阵,生成旋转后的图像。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-3任一项所述的方法。
6.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-3任一项所述的方法。
CN201910237385.6A 2019-03-27 2019-03-27 图像处理方法、装置、设备和存储介质 Active CN111754409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910237385.6A CN111754409B (zh) 2019-03-27 2019-03-27 图像处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910237385.6A CN111754409B (zh) 2019-03-27 2019-03-27 图像处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111754409A CN111754409A (zh) 2020-10-09
CN111754409B true CN111754409B (zh) 2024-07-19

Family

ID=72672212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910237385.6A Active CN111754409B (zh) 2019-03-27 2019-03-27 图像处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111754409B (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1252902A (en) * 1985-10-31 1989-04-18 David R. Pruett Method for rotating a binary image
JP2553726B2 (ja) * 1990-01-22 1996-11-13 松下電送株式会社 画像90度回転方法及び装置
CA2121402C (en) * 1994-04-15 1999-02-09 Albert Z. Zhao System for fast 90-degree rotation of bi-level images
CN101770585B (zh) * 2010-01-07 2011-09-28 浙江大学 基于FPGA的矩阵数据按bit旋转的装置及方法
US8509522B2 (en) * 2010-10-15 2013-08-13 Autodesk, Inc. Camera translation using rotation from device
CN102479381B (zh) * 2010-11-22 2013-09-04 联想(北京)有限公司 一种2维图像旋转处理方法及处理装置
CN102567746A (zh) * 2011-12-30 2012-07-11 浙江大学 一种基于多核处理器的矩阵数据按bit旋转的装置及方法
WO2014060637A1 (en) * 2012-10-18 2014-04-24 Nokia Corporation Image processing method, devices and system
CN107704921A (zh) * 2017-10-19 2018-02-16 北京智芯原动科技有限公司 基于Neon指令的卷积神经网络的算法优化方法及装置
US10649772B2 (en) * 2018-03-30 2020-05-12 Intel Corporation Method and apparatus for efficient matrix transpose
US10866786B2 (en) * 2018-09-27 2020-12-15 Intel Corporation Systems and methods for performing instructions to transpose rectangular tiles

Also Published As

Publication number Publication date
CN111754409A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
CN107945112B (zh) 一种全景图像拼接方法及装置
CN111598993B (zh) 基于多视角成像技术的三维数据重建方法、装置
CN1329870C (zh) 任意形状图像的基于块的旋转
CN111476718A (zh) 一种图像放大方法、装置、存储介质及终端设备
CN110807814A (zh) 摄影机位姿计算方法、装置、设备及存储介质
JP2019504430A (ja) 画像処理方法及びデバイス
CN113963072B (zh) 双目摄像头标定方法、装置、计算机设备和存储介质
US20190385277A1 (en) Hardware optimisation for generating 360° images
CN113486941B (zh) 直播图像的训练样本生成方法、模型训练方法及电子设备
CN113298187B (zh) 图像处理方法及装置、计算机可读存储介质
CN110619670A (zh) 人脸互换方法、装置、计算机设备及存储介质
CN111754409B (zh) 图像处理方法、装置、设备和存储介质
CN107563960A (zh) 一种自拍图片的处理方法、存储介质及移动终端
JPWO2018087856A1 (ja) 映像合成装置及び映像合成方法
US9230305B2 (en) Summed area computation using ripmap of partial sums
CN115965737A (zh) 图像渲染方法、装置、终端设备及存储介质
CN111476716B (zh) 一种实时视频拼接方法和装置
CN110189247B (zh) 图像生成的方法、装置及系统
KR101684834B1 (ko) 오리지널 심도 프레임을 리사이징 및 복원하는 방법, 장치 및 시스템
Jing et al. A novel spiral addressing scheme for rectangular images
CN111383229B (zh) 图像分解方法、装置及智能终端
CN113111891B (zh) 一种图像重建方法、装置、终端设备和存储介质
CN112511765B (zh) 图像旋转方法、装置、存储介质及电子设备
Jing et al. Biologically motivated spiral architecture for fast video processing
CN113032855B (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