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

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

Info

Publication number
CN115098026A
CN115098026A CN202210735620.4A CN202210735620A CN115098026A CN 115098026 A CN115098026 A CN 115098026A CN 202210735620 A CN202210735620 A CN 202210735620A CN 115098026 A CN115098026 A CN 115098026A
Authority
CN
China
Prior art keywords
picture
global variable
album
characteristic value
running state
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.)
Granted
Application number
CN202210735620.4A
Other languages
English (en)
Other versions
CN115098026B (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

Images

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 (3)

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);
然后,所述APP应用程序比较图片特征值F(A)与全局变量当前存储的各个图片特征值,判断全局变量当前存储的各个图片特征值中,是否存在与图片特征值F(A)相同的图片特征值,如果存在,则表明该图片A已保存于相册,返回步骤1;如果不存在,则将图片A存储到相册,并将图片特征值F(A)存入到全局变量,返回步骤1;
步骤4,全局变量更新过程:
遍历所述相册当前保存的所有图片,分别计算得到每张图片的图片特征值,然后将获得的每个图片特征值存入到所述全局变量,完成全局变量更新过程,本步骤4结束。
2.根据权利要求1所述的一种基于iOS系统相册保存图片不重复的方法,其特征在于,采用以下方法,计算图片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)。
3.根据权利要求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 true CN115098026A (zh) 2022-09-23
CN115098026B 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
CN115098026B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
US11003625B2 (en) Method and apparatus for operating on file
JP4597153B2 (ja) 非揮発性メモリがキャッシュとして使用される保存装置、及びそのためのマッピング情報復旧方法
CN110319845B (zh) 用于确定两点之间的可达路径的方法、装置和系统
US20140301661A1 (en) Image processor for and method of upscaling and denoising using contextual video information
CN101841473B (zh) Mac地址表更新方法及装置
US11714921B2 (en) Image processing method with ash code on local feature vectors, image processing device and storage medium
CN107451070B (zh) 一种数据的处理方法和服务器
CN115718819A (zh) 一种索引构建方法、数据读取方法及索引构建装置
CN107798063A (zh) 快照处理方法和快照处理装置
CN111291085B (zh) 层次化兴趣匹配方法、装置、计算机设备和存储介质
CN115098026A (zh) 一种基于iOS系统相册保存图片不重复的方法
CN106254245A (zh) 一种管理表项的方法及装置
CN116756253B (zh) 关系型数据库的数据存储、查询方法、装置、设备和介质
CN112380004A (zh) 内存管理方法、装置、计算机可读存储介质及电子设备
CN115203211A (zh) 一种唯一哈希序号生成方法和系统
EP3722949A1 (en) Image transmission method, apparatus and storage medium
CN110647664A (zh) 一种知识图谱中树图大规模更新方法、系统、介质及设备
CN113535173B (zh) 一种信息查找方法、装置、设备及存储介质
CN116567350B (zh) 全景视频数据处理方法及系统
CN113535171B (zh) 一种信息查找方法、装置、设备及存储介质
CN115994244B (zh) 基于大数据的有向图数据处理方法、装置、计算机设备
CN116204581A (zh) 一种数据写入方法、装置、计算机设备和存储介质
CN114998513B (zh) 基于kd树的带循环边界的地球模拟系统网格重映射方法
CN113535174B (zh) 一种信息查找方法、装置、设备及存储介质
CN117971899A (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