CN115098026B - 一种基于iOS***相册保存图片不重复的方法 - Google Patents

一种基于iOS***相册保存图片不重复的方法 Download PDF

Info

Publication number
CN115098026B
CN115098026B CN202210735620.4A CN202210735620A CN115098026B CN 115098026 B CN115098026 B CN 115098026B CN 202210735620 A CN202210735620 A CN 202210735620A CN 115098026 B CN115098026 B CN 115098026B
Authority
CN
China
Prior art keywords
picture
app
album
running state
global variable
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
CN202210735620.4A
Other languages
English (en)
Other versions
CN115098026A (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.)
4399 NETWORK CO LTD
Original Assignee
4399 NETWORK 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 4399 NETWORK CO LTD filed Critical 4399 NETWORK CO LTD
Priority to CN202210735620.4A priority Critical patent/CN115098026B/zh
Publication of CN115098026A publication Critical patent/CN115098026A/zh
Application granted granted Critical
Publication of CN115098026B publication Critical patent/CN115098026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供一种基于iOS***相册保存图片不重复的方法,包括以下步骤:安装于操作***的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;当APP应用程序从完全退出状态转为前台运行状态时,创建全局变量,并将相册当前保存的所有图片的图片特征值存入全局变量;在所述APP应用程序从前台运行状态转为后台运行状态时,已创建的与该APP应用程序绑定的全局变量以及全局变量所存储的图片特征值,均维持不变;在所述APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,更新全局变量。本发明可有效降低手机内存及性能负担,同时有效保证iOS***相册保存图片不重复。

Description

一种基于iOS***相册保存图片不重复的方法
技术领域
本发明涉及一种图片保存方法,具体涉及一种基于iOS***相册保存图片不重复的方法。
背景技术
在iOS APP开发过程中,需要保存图片到相册。通常用户在使用时多次操作会导致保存很多重复图片,不仅占用手机储存空间,也导致查阅相册体验非常差,对此必然影响到用户的体验。
为解决以上问题,目前常用的两种方法为:
第一种方法:图片保存到相册后,可以得到在相册中具有唯一性的图片名称。并将图片URL作为KEY值,图片名称作为VALUE值,按照一一对应的键值对缓存本地。
当需要保存A图片时,通过A图片的URL查找本地缓存,本地缓存若存在相应的图片名称,则根据该名称从相册获取图片,如果能获取到图片,则表明相册中已保存相同的图片,则A图片不再保存到相册;反之,将A图片保存到相册,生成A图片的图片名称,再将A图片的图片名称和URL保存到本地缓存。
此种操作方法具有以下问题:同一张图片可能存在多个URL,图片URL不具有唯一性。因此,以上方法会将具有不同URL但图片相同的图片,保存到相册,导致相册存在重复图片。另外,需要本地缓存标记已经保存的图片相关信息,占用手机多余存储空间。总之,相册保存图片不重复达不到理想效果。
第二种方法:每次保存图片时,遍历iOS***相册所有图片,并将需保存的图片与相册中每张图片进行匹配:如果相册存在匹配相同的图片,则判定图片重复,不进行图片保存操作;否则判定两张图片不重复,进行图片保存操作。
此种操作方法具有以下问题:图像匹配算法复杂,严重增加手机性能负担。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于iOS***相册保存图片不重复的方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种基于iOS***相册保存图片不重复的方法,包括以下步骤:
步骤1,操作***配置相册;所述相册用于长期保存图片;
安装于所述操作***的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;
当所述APP应用程序从完全退出状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤2;然后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
在所述APP应用程序从前台运行状态转为后台运行状态时,已创建的与该APP应用程序绑定的全局变量以及全局变量所存储的图片特征值,均维持不变;
在所述APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤4;步骤4执行结束后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
步骤2,全局变量创建过程;遍历所述相册当前保存的所有图片,假设为n张图片,分别计算得到每张图片的图片特征值,然后将n个图片特征值存入到所述全局变量;
步骤3,图片保存过程:
当所述APP应用程序接收到需保存到相册的图片A时,所述APP应用程序计算得到图片A的图片特征值,表示为:图片特征值F(A);
然后,所述APP应用程序比较图片特征值F(A)与全局变量当前存储的各个图片特征值,判断全局变量当前存储的各个图片特征值中,是否存在与图片特征值F(A)相同的图片特征值,如果存在,则表明该图片A已保存于相册,返回步骤1;如果不存在,则将图片A存储到相册,并将图片特征值F(A)存入到全局变量,返回步骤1;
步骤4,全局变量更新过程:
遍历所述相册当前保存的所有图片,分别计算得到每张图片的图片特征值,然后将获得的每个图片特征值存入到所述全局变量,完成全局变量更新过程,本步骤4结束。
优选的,采用以下方法,计算图片A的图片特征值F(A):
将图片A统一缩放成宽度为m1个像素高度为m2个像素的尺寸,得到图片A1
将图片A1转换为灰度图片,得到图片A2
对于每行的m1个像素,依次表示为:P(1,1),P(1,2),…,P(1,m1);比较相邻像素的差异,方法如下:
比较P(1,1)的像素值是否大于P(1,2)的像素值,如果是,则令差异值T(1,1)=1;否则,令差异值T(1,1)=0;
比较P(1,2)的像素值是否大于P(1,3)的像素值,如果是,则令差异值T(1,2)=1;否则,令差异值T(1,2)=0;
依此类推
比较P(1,m1-1)的像素值是否大于P(1,m1)的像素值,如果是,则令差异值T(1,m1-1)=1;否则,令差异值T(1,m1-1)=0;
因此,对于每行的m1个像素,共得到m1-1个差异值;由于共有m2列,共得到m2*(m1-1)个差异值,组成差异矩阵,该差异矩阵即为图片A的图片特征值F(A)。
优选的,还包括:
步骤5,当所述APP应用程序从前台运行状态或后台运行状态,转为完全退出状态时,同时销毁与所述APP应用程序绑定的所述全局变量以及所述全局变量存入的所有图片特征值。
本发明提供的一种基于iOS***相册保存图片不重复的方法具有以下优点:
本发明可有效降低手机内存及性能负担,同时有效保证iOS***相册保存图片不重复。
附图说明
图1为本发明提供的基于iOS***相册保存图片不重复的方法的流程示意图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于iOS***相册保存图片不重复的方法,保证iOS***相册保存图片不重复,优化手机储存空间,提高相册用户体验。相比其他方法,流程更简化,判断结果更准确,判断算法更简单,即便APP卸载重装,也可以达到***相册保存图片不重复的效果。
参考图1,本发明提供一种基于iOS***相册保存图片不重复的方法,包括以下步骤:
步骤1,操作***配置相册;所述相册用于长期保存图片;
安装于所述操作***的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;其中,操作***指iOS***。
当所述APP应用程序从完全退出状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤2;然后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
在所述APP应用程序从前台运行状态转为后台运行状态时,已创建的与该APP应用程序绑定的全局变量以及全局变量所存储的图片特征值,均维持不变;
在所述APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤4;步骤4执行结束后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
图片A的图片特征值,即为图片A的“指纹”,用于唯一标识一张图片。本发明中,作为一个具体实施例,根据差异值哈希算法计算图片特征值,具体的,可采用以下方法,计算图片A的图片特征值F(A):
将图片A统一缩放成宽度为m1个像素高度为m2个像素的尺寸,得到图片A1
将图片A1转换为灰度图片,得到图片A2
对于每行的m1个像素,依次表示为:P(1,1),P(1,2),…,P(1,m1);比较相邻像素的差异,方法如下:
比较P(1,1)的像素值是否大于P(1,2)的像素值,如果是,则令差异值T(1,1)=1;否则,令差异值T(1,1)=0;
比较P(1,2)的像素值是否大于P(1,3)的像素值,如果是,则令差异值T(1,2)=1;否则,令差异值T(1,2)=0;
依此类推
比较P(1,m1-1)的像素值是否大于P(1,m1)的像素值,如果是,则令差异值T(1,m1-1)=1;否则,令差异值T(1,m1-1)=0;
因此,对于每行的m1个像素,共得到m1-1个差异值;由于共有m2列,共得到m2*(m1-1)个差异值,组成差异矩阵,该差异矩阵即为图片A的图片特征值F(A)。
例如,将图片A统一缩放成宽度m1为33像素高度m2为32像素的尺寸,得到共1056个像素的图片A1
将彩色的图片A1转换为灰度图片,得到图片A2;具体的,根据灰度图算法公式Gray=0.299R+0.587G+0.114B,得到4224阶的灰度图。
计算比较相邻像素间的差异值:每行33个像素之间可以得到32个差异值,一共32行,总共可以得到1024个差异值。如果前一个像素的强度大于后一个像素,那么差异值设置为“1”,否则差异值设置为“0”。将所有差异值组合起来得到1024个bit位的特征值,形成差异矩阵,该差异矩阵即为图片A的图片特征值F(A)。
步骤2,全局变量创建过程;遍历所述相册当前保存的所有图片,假设为n张图片,分别计算得到每张图片的图片特征值,然后将n个图片特征值存入到所述全局变量;
步骤3,图片保存过程:
当所述APP应用程序接收到需保存到相册的图片A时,所述APP应用程序计算得到图片A的图片特征值,表示为:图片特征值F(A);
然后,所述APP应用程序比较图片特征值F(A)与全局变量当前存储的各个图片特征值,判断全局变量当前存储的各个图片特征值中,是否存在与图片特征值F(A)相同的图片特征值,如果存在,则表明该图片A已保存于相册,返回步骤1;如果不存在,则将图片A存储到相册,并将图片特征值F(A)存入到全局变量,返回步骤1;
步骤4,全局变量更新过程:
遍历所述相册当前保存的所有图片,分别计算得到每张图片的图片特征值,然后将获得的每个图片特征值存入到所述全局变量,完成全局变量更新过程,本步骤4结束。
本步骤中,每当APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,均需要计算当前最新的相册中每张图片的图片特征值,原因为:以存在两个APP应用程序为例,分别为:APP应用程序W1和APP应用程序W2;当APP应用程序W1转为后台时,APP应用程序W2转为前台,并可能对相册中的图片进行操作,例如,向相册中存入一张新图片,或者,将相册中某张图片删除;因此,当APP应用程序W1后续转为前台运行状态时,此时APP应用程序W1绑定的全局变量中的图片特征值,与相册当前存储的图片的图片特征值并不完全一致,因此,为保证相册保存图片不重复的效果,需要对APP应用程序W1绑定的全局变量更新。
还包括:
步骤5,当所述APP应用程序从前台运行状态或后台运行状态,转为完全退出状态时,同时销毁与所述APP应用程序绑定的所述全局变量以及所述全局变量存入的所有图片特征值。
本发明提供一种基于iOS***相册保存图片不重复的方法,具有以下特点:
在某个APP应用程序的生命周期,维护一个全局变量,该全局变量存储相册中所有图片的图片特征值,因此,当需要向相册中存入某张图片时,只需要将需存入的图片的图片特征值与全局变量存入的图片的图片特征值进行对比,即可判断需存入的图片是否与相册中的图片重复。
由于采用图片特征值进行对比,因此,图片匹配算法简单有效;
另外,采用全局变量存储相册中所有图片的图片特征值,当APP应用程序完全退出时,即销毁全局变量,及时释放存储空间,而全局变量存储的图片特征值所占用的空间非常小,因此,APP应用程序运行的整个过程,占用的存储空间小,减轻手机存储负担。
因此,本发明可有效降低手机内存及性能负担,同时有效保证iOS***相册保存图片不重复。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (2)

1.一种基于iOS***相册保存图片不重复的方法,其特征在于,包括以下步骤:
步骤1,操作***配置相册;所述相册用于长期保存图片;
安装于所述操作***的某个APP应用程序具有三种状态,分别为:前台运行状态、后台运行状态和完全退出状态;
当所述APP应用程序从完全退出状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤2;然后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
在所述APP应用程序从前台运行状态转为后台运行状态时,已创建的与该APP应用程序绑定的全局变量以及全局变量所存储的图片特征值,均维持不变;
在所述APP应用程序从后台运行状态转为前台运行状态时,在转为前台运行状态的起始时刻,执行步骤4;步骤4执行结束后,在所述APP应用程序持续处于前台运行状态的过程中,执行步骤3;
步骤2,全局变量创建过程;遍历所述相册当前保存的所有图片,假设为n张图片,分别计算得到每张图片的图片特征值,然后将n个图片特征值存入到所述全局变量;
步骤3,图片保存过程:
当所述APP应用程序接收到需保存到相册的图片A时,所述APP应用程序计算得到图片A的图片特征值,表示为:图片特征值F(A);采用以下方法,计算图片A的图片特征值F(A):
将图片A统一缩放成宽度为m1个像素高度为m2个像素的尺寸,得到图片A1
将图片A1转换为灰度图片,得到图片A2
对于每行的m1个像素,依次表示为:P(1,1),P(1,2),…, P(1,m1);比较相邻像素的差异,方法如下:
比较P(1,1)的像素值是否大于P(1,2)的像素值,如果是,则令差异值T(1,1)=1;否则,令差异值T(1,1)=0;
比较P(1,2)的像素值是否大于P(1,3)的像素值,如果是,则令差异值T(1,2)=1;否则,令差异值T(1,2)=0;
依此类推
比较P(1,m1-1)的像素值是否大于P(1,m1)的像素值,如果是,则令差异值T(1, m1-1)=1;否则,令差异值T(1, m1-1)=0;
因此,对于每行的m1个像素,共得到m1-1个差异值;由于共有m2列,共得到m2*(m1-1)个差异值,组成差异矩阵,该差异矩阵即为图片A的图片特征值F(A);
然后,所述APP应用程序比较图片特征值F(A)与全局变量当前存储的各个图片特征值,判断全局变量当前存储的各个图片特征值中,是否存在与图片特征值F(A)相同的图片特征值,如果存在,则表明该图片A已保存于相册,返回步骤1;如果不存在,则将图片A存储到相册,并将图片特征值F(A)存入到全局变量,返回步骤1;
步骤4,全局变量更新过程:
遍历所述相册当前保存的所有图片,分别计算得到每张图片的图片特征值,然后将获得的每个图片特征值存入到所述全局变量,完成全局变量更新过程,本步骤4结束。
2.根据权利要求1所述的一种基于iOS***相册保存图片不重复的方法,其特征在于,还包括:
步骤5,当所述APP应用程序从前台运行状态或后台运行状态,转为完全退出状态时,同时销毁与所述APP应用程序绑定的所述全局变量以及所述全局变量存入的所有图片特征值。
CN202210735620.4A 2022-06-27 2022-06-27 一种基于iOS***相册保存图片不重复的方法 Active CN115098026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210735620.4A CN115098026B (zh) 2022-06-27 2022-06-27 一种基于iOS***相册保存图片不重复的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210735620.4A CN115098026B (zh) 2022-06-27 2022-06-27 一种基于iOS***相册保存图片不重复的方法

Publications (2)

Publication Number Publication Date
CN115098026A CN115098026A (zh) 2022-09-23
CN115098026B true CN115098026B (zh) 2024-04-30

Family

ID=83294987

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210735620.4A Active CN115098026B (zh) 2022-06-27 2022-06-27 一种基于iOS***相册保存图片不重复的方法

Country Status (1)

Country Link
CN (1) CN115098026B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458016A (zh) * 2013-08-21 2013-12-18 小米科技有限责任公司 图片管理的方法、装置及终端设备
WO2017143852A1 (zh) * 2016-02-26 2017-08-31 北京金山安全软件有限公司 一种图片处理方法、装置及电子设备
CN107480203A (zh) * 2017-07-23 2017-12-15 北京中科火眼科技有限公司 一种针对相同及相似图片去重的图像数据清洗方法
CN109241308A (zh) * 2018-06-26 2019-01-18 努比亚技术有限公司 图片处理方法、终端及计算机可读存储介质
WO2019137167A1 (zh) * 2018-01-10 2019-07-18 Oppo广东移动通信有限公司 相册管理方法、装置、存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458016A (zh) * 2013-08-21 2013-12-18 小米科技有限责任公司 图片管理的方法、装置及终端设备
WO2017143852A1 (zh) * 2016-02-26 2017-08-31 北京金山安全软件有限公司 一种图片处理方法、装置及电子设备
CN107480203A (zh) * 2017-07-23 2017-12-15 北京中科火眼科技有限公司 一种针对相同及相似图片去重的图像数据清洗方法
WO2019137167A1 (zh) * 2018-01-10 2019-07-18 Oppo广东移动通信有限公司 相册管理方法、装置、存储介质及电子设备
CN109241308A (zh) * 2018-06-26 2019-01-18 努比亚技术有限公司 图片处理方法、终端及计算机可读存储介质

Also Published As

Publication number Publication date
CN115098026A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
JP4597153B2 (ja) 非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法
CN105430480A (zh) 一种视频数据存储的方法及***
CN109446160A (zh) 一种文件读取方法、***、装置及计算机可读存储介质
CN101841473B (zh) Mac地址表更新方法及装置
CN110929194B (zh) 一种基于摘要算法的静态资源文件缓存控制方法及***
CN112307263A (zh) 一种文件存储方法、装置、设备及介质
CN115098026B (zh) 一种基于iOS***相册保存图片不重复的方法
US20180137055A1 (en) Log-Structured Storage Method and Server
CN113256779B (zh) 一种基于OpenGL指令的渲染运行方法及***
CN116756253B (zh) 关系型数据库的数据存储、查询方法、装置、设备和介质
CN113010570A (zh) 电网设备矢量数据查询方法、装置、计算机设备和介质
CN115599711B (zh) 缓存数据处理方法、***、装置、设备及计算机存储介质
CN110750566A (zh) 数据处理方法、装置、缓存***及缓存管理平台
CN113542326B (zh) 分布式***的数据缓存方法及装置、服务器、存储介质
CN115203211A (zh) 一种唯一哈希序号生成方法和***
CN111681295A (zh) 一种基于超分图像重建的瓦片地图切片与服务方法及***
CN113901007A (zh) 一种面向ai训练的海量小文件分布式缓存方法
CN112115393A (zh) 一种页面加载方法、***、设备以及介质
CN113535171B (zh) 一种信息查找方法、装置、设备及存储介质
CN110557277A (zh) 区块链***中查找两个区块最近公共祖先的方法和***
CN116567350B (zh) 全景视频数据处理方法及***
CN116668709B (zh) 图像传输方法、装置、服务端设备及存储介质
CN117472967B (zh) 一种基于数据使用热度的数据生命周期管理方法及***
CN112307035B (zh) 一种特征值id的管理方法、装置、电子设备及存储介质
CN113869390B (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