CN117762662A - png文件修复方法、装置、设备及存储介质 - Google Patents
png文件修复方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117762662A CN117762662A CN202311635411.3A CN202311635411A CN117762662A CN 117762662 A CN117762662 A CN 117762662A CN 202311635411 A CN202311635411 A CN 202311635411A CN 117762662 A CN117762662 A CN 117762662A
- Authority
- CN
- China
- Prior art keywords
- data block
- file
- real
- png
- png file
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000009385 viral infection Effects 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机领域,公开了一种png文件修复方法、装置、设备及存储介质。该方法包括:搜索正常png文件的文件头数据块,得到文件头数据块的偏移位置,并根据文件头数据块的偏移位置,得到真实文件头数据块;根据调色板数据块的偏移位置,得到真实调色板数据块;搜索损坏png文件中所有残留图像数据块,得到损坏png文件中所有残留图像数据块的偏移位置,并根据所有残留图像数据块的偏移位置,得到多个真实图像数据块;根据真实文件头数据块、真实调色板数据块以及多个真实图像数据块,得到修复后的png文件。在本发明实施例中,能实现png文件的直接修复,从而提高png文件修复的准确率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种png文件修复方法、装置、设备及存储介质。
背景技术
随着计算机、网络的普及,图像文件已经被越来越广泛的使用。然而,在这些图像文件在使用过程中,不可避免的会受到各种情况的干扰,如由于病毒的感染,误操作等的原因,都会使图像文件受到损坏,从而造成相应的应用程序,如png文件等无法正常打开,或者能打开却无法正确浏览。在某些情况下,这些损坏是不可逆转的,这时就需要对图像文件进行修复还原,使之能够正常浏览。
当前修复损坏png文件的方式实际上是从后缀为.png实际为jpg文件中提取残留jpg图像数据,现有的技术方案中,并没有直接修复png格式文件的修复方案,导致png文件修复准确率低。
发明内容
本发明的主要目的在于解决png文件修复准确率低的技术问题。
本发明第一方面提供了一种png文件修复方法,所述png文件修复方法包括:
获取正常png文件及损坏png文件,搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置,并根据所述文件头数据块的偏移位置,得到真实文件头数据块;
根据所述真实文件头数据块中预设字节位置上的字节数,获取所述正常png文件的调色板数据块,并根据所述调色板数据块的偏移位置,得到真实调色板数据块;
搜索所述损坏png文件中所有残留图像数据块,得到所述损坏png文件中所有残留图像数据块的偏移位置,并根据所述所有残留图像数据块的偏移位置,得到多个真实图像数据块;
根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件。
可选的,在本发明第一方面的第一种实现方式中,所述根据所述真实文件头数据块中预设字节位置上的字节数,获取所述正常png文件的调色板数据块,并根据所述调色板数据块的偏移位置,得到真实调色板数据块包括:
判断所述真实文件头数据块中预设字节位置上的字节数是否等于预设阈值;
若是,则所述正常png文件中存在调色板数据块;
搜索所述正常png文件的调色板数据块,得到所述调色板数据块的偏移位置;
根据所述调色板数据块的偏移位置,得到真实调色板数据块。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述调色板数据块的偏移位置,得到真实调色板数据块包括:
根据所述调色板数据块的偏移位置,得到所述调色板数据块的数据长度;
根据所述调色板数据块的数据长度,得到真实调色板数据块。
可选的,在本发明第一方面的第三种实现方式中,所述搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置,并根据所述文件头数据块的偏移位置,得到真实文件头数据块包括:
搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置;
根据所述文件头数据块的偏移位置,得到所述文件头数据块的数据长度;
根据所述文件头数据块的数据长度,得到真实文件头数据块。
可选的,在本发明第一方面的第四种实现方式中,所述搜索所述损坏png文件中所有残留图像数据块,得到所述损坏png文件中所有残留图像数据块的偏移位置,并根据所述所有残留图像数据块的偏移位置,得到多个真实图像数据块包括:
搜索所述损坏png文件中首个残留图像数据块,得到所述首个残留图像数据块的偏移位置;
根据所述首个残留图像数据块的偏移位置,得到所述首个残留图像数据块的数据长度;
根据所述首个残留图像数据块的数据长度,得到首个真实图像数据块;
搜索下一个残留图像数据块,直至所有残留图像数据块搜索完毕,得到多个真实图像数据块。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件包括:
构造png文件头部数据,所述png文件头部数据用于识别文件类型;
构造png文件尾部数据,所述png文件尾部数据用于识别文件读取停止位置;
将所述png文件头部数据、所述png文件尾部数据、所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块组合,得到修复后的png文件。
可选的,在本发明第一方面的第六种实现方式中,所述根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件之前,还包括:
读取并存储所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块的CRC码,所述CRC码存储用来检测所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块中是否有错误的循环冗余码。
本发明第二方面提供了一种png文件修复设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述png文件修复设备执行上述的png文件修复方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的png文件修复方法。
在本发明实施例中,获取正常png文件及损坏png文件,搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置,并根据所述文件头数据块的偏移位置,得到真实文件头数据块;根据所述真实文件头数据块中预设字节位置上的字节数,获取所述正常png文件的调色板数据块,并根据所述调色板数据块的偏移位置,得到真实调色板数据块;搜索所述损坏png文件中所有残留图像数据块,得到所述损坏png文件中所有残留图像数据块的偏移位置,并根据所述所有残留图像数据块的偏移位置,得到多个真实图像数据块;根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件。本发明中,借鉴正常png文件的文件头数据块与调色板数据块,接着提取损坏png文件中多个图像数据块,能通过将这些数据块组合,得到新的png文件,即修复后的png文件,实现了png文件的直接修复,从而提高了png文件修复的准确率。
附图说明
图1为本发明实施例中png文件修复方法的一个实施例示意图;
图2为本发明实施例中png文件修复装置的一个实施例示意图;
图3为本发明实施例中png文件修复设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种png文件修复方法、装置、设备及存储介质。
下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。
在本发明公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中png文件修复方法的一个实施例包括:
S100,获取正常png文件及损坏png文件,搜索正常png文件的文件头数据块,得到文件头数据块的偏移位置,并根据文件头数据块的偏移位置,得到真实文件头数据块。
在本实施例中,用户获取多个png文件并判断这些png文件是否有损坏,若有损坏,则将这些损坏png文件放到指定目录下;可选的,用户可以在终端界面上通过文本框选择需修复的损坏png文件,生成文件修复请求,并将文件修复请求发送至服务器,服务器接收文件修复请求,从指定目录下获取正常png文件及损坏png文件,搜索正常png文件的文件头数据块——IHDR chunk块,找到出现ASCII码为‘IHDR’的偏移位置,即文件头数据块的偏移位置,得到真实文件头数据块。其中,IHDR chunk块包含有png文件中存储的图像数据的基本信息,并要作为第一个数据块出现在png数据流中,而且一个png数据流中只能有一个文件头数据块;文件头数据块的偏移位置是固定文件头数据块位置发生偏移后当前所在的位置,例如数据共有16个字节,0F00H是起始地址,从起始地址开始向前偏移05H个字节的地址是0F05H,0F05H就是偏移位置。
S200,根据真实文件头数据块中预设字节位置上的字节数,获取正常png文件的调色板数据块,并根据调色板数据块的偏移位置,得到真实调色板数据块。
在本实施例中,根据真实文件头数据块中预设字节位置上的字节数,判断正常png文件是否还包括调色板数据块——PLTE chunk块,若包括PLTE chunk块,则开始搜索正常png文件中的PLTE chunk块,找到出现ASCII码为‘PLTE’的偏移位置,即调色板数据块的偏移位置,从而得到真实调色板数据块,其中,PLTE chunk块是包含有与索引彩色图像相关的彩色变换数据,它仅与索引彩色图像有关,要放在图像数据块之前;调色板数据块的偏移位置是固定调色板数据块位置发生偏移后当前所在的位置。
S300,搜索损坏png文件中所有残留图像数据块,得到损坏png文件中残留图像数据块的偏移位置,并根据所有残留图像数据块的偏移位置,得到多个真实图像数据块。
在本实施例中,由于文件头数据块和调色板数据块中并未包括图像数据,所以可以借鉴正常png文件的文件头数据块和调色板数据块;图像数据包含在图像数据块——IDAT chunk块中,且IDAT chunk块可能有多个,需搜索损坏png文件中所有残留的IDATchunk块,找到出现ASCII码为‘IDAT’的偏移位置,即图像数据块的偏移位置,得到多个真实图像数据块,其中,IDAT chunk块是用于存储实际的图像数据,一个png文件中可以包含多个连续的IDAT chunk块;图像数据块的偏移位置是固定图像数据块位置发生偏移后当前所在的位置。
S400,根据真实文件头数据块、真实调色板数据块以及多个真实图像数据块,得到修复后的png文件。
在本实施例中,将真实文件头数据块、真实调色板数据块以及多个真实图像数据块按照一定的顺序组合,得到修复后的png文件。
在本发明第一方面一种可选的实施方式中,根据真实文件头数据块中预设字节位置上的字节数,获取正常png文件的调色板数据块,并根据调色板数据块的偏移位置,得到真实调色板数据块包括:
判断真实文件头数据块中预设字节位置上的字节数是否等于预设阈值;若是,则正常png文件中存在调色板数据块;搜索正常png文件的调色板数据块,得到调色板数据块的偏移位置;根据调色板数据块的偏移位置,得到真实调色板数据块。
在本实施例中,读取真实文件头数据块中预设字节位置上的字节数,可以根据该预设字节位置上的字节数判断正常png文件中是否包括PLTE chunk块,具体地,读取IHDRchunk块的第10个字节,如果第10个字节上的字节数等于预设阈值,则判断正常png文件中还包括PLTE chunk块,其中,预设阈值是3,再搜索正常png文件的调色板数据块,得到调色板数据块的偏移位置。
在本发明第一方面一种可选的实施方式中,根据调色板数据块的偏移位置,得到真实调色板数据块包括:
根据调色板数据块的偏移位置,得到调色板数据块的数据长度;根据调色板数据块的数据长度,得到真实调色板数据块。
在本实施例中,调色板数据块的偏移位置字节中包含了该数据块的长度,具体地,读取PLTE chunk块的偏移位置前4个字节数据,获取PLTE chunk块的长度;通过PLTE chunk块的偏移位置和PLTE chunk块的长度,得到真实调色板数据块,例如,PLTE chunk块的偏移位置是0F05H,从0F05H地址开始,读取该块长度的数据,从而得到PLTE chunk块数据,即真实调色板数据块。
在本发明第一方面一种可选的实施方式中,搜索正常png文件的文件头数据块,得到文件头数据块的偏移位置,并根据文件头数据块的偏移位置,得到真实文件头数据块包括:
搜索正常png文件的文件头数据块,得到文件头数据块的偏移位置;根据文件头数据块的偏移位置,得到文件头数据块的数据长度;根据文件头数据块的数据长度,得到真实文件头数据块。
在本实施例中,搜索正常png文件的IHDR chunk块,找到IHDR chunk块的偏移位置,读取IHDR chunk块的偏移位置前4个字节,获取IHDR chunk块的数据长度,通过IHDRchunk块的偏移位置及IHDR chunk块的数据长度,得到真实文件头数据块。
在本发明第一方面一种可选的实施方式中,搜索损坏png文件中所有残留图像数据块,得到损坏png文件中所有残留图像数据块的偏移位置,并根据所有残留图像数据块的偏移位置,得到多个真实图像数据块包括:
搜索损坏png文件中首个残留图像数据块,得到首个残留图像数据块的偏移位置;根据首个残留图像数据块的偏移位置,得到首个残留图像数据块的数据长度;根据首个残留图像数据块的数据长度,得到首个真实图像数据块;搜索下一个残留图像数据块,直至所有残留图像数据块搜索完毕,得到多个真实图像数据块。
在本实施例中,损坏png文件中可能残留有多个图像数据块,所以先搜索损坏png文件中首个残留图像数据块,读取获取到的首个残留图像数据块的偏移位置前4个字节数据,获取该chunk块的数据长度,然后通过该chunk块的数据长度,得到首个真实图像数据块;首个图像数据块搜索完毕后,再搜索损坏png文件中下一个残留图像数据块,得到下一个残留图像数据块的偏移位置,循环搜索直至所有残留图像数据块搜索完毕,得到多个真实图像数据块。
在本发明第一方面一种可选的实施方式中,根据真实文件头数据块、真实调色板数据块以及多个真实图像数据块,得到修复后的png文件包括:
构造png文件头部数据,png文件头部数据用于识别文件类型;构造png文件尾部数据,png文件尾部数据用于识别文件读取停止位置;将png文件头部数据、png文件尾部数据、真实文件头数据块、真实调色板数据块以及多个真实图像数据块组合,得到修复后的png文件。
在本实施例中,构造png文件头部数据0x89504E470D0A1A0A,暂存,该头部数据可以让系统识别打开的文件是png文件而非文本文件;构造png文件尾部数据,长度内容为0x00000000,chunk块类型是0x49254E44,CRC验证码为AE426082,暂存,该尾部数据能让系统知道读到哪里结束,后面的数据不会理会,根据构造的png文件头部数据、png文件尾部数据,正常png文件的真实文件头数据块、真实调色板数据块,损坏png文件中残留的多个真实图像数据块,组合成修复后的png文件。
在本发明第一方面一种可选的实施方式中,根据真实文件头数据块、真实调色板数据块以及多个真实图像数据块,得到修复后的png文件之前,还包括:
读取并存储真实文件头数据块、真实调色板数据块以及多个真实图像数据块的CRC码,CRC码存储用来检测真实文件头数据块、真实调色板数据块以及多个真实图像数据块中是否有错误的循环冗余码。
在本实施例中,读取IHDR chunk块长度完成后,往后读取4个字节为IHDR chunk块的CRC(Cyclic Redundancy Check,循环冗余校核)码,暂存;读取PLTE chunk块长度完成后,往后读取4个字节为PLTE chunk块的CRC码,暂存;读取残留的IDAT chunk块长度完成后,往后读取4个字节为IDAT chunk块的CRC码,暂存,其中,CRC码存储用来检测chunk块是否有错误的循环冗余码。
参见图2,本发明第二方面提供了一种png文件修复装置,所述png文件修复装置包括:
第一数据块获取模块100,用于获取正常png文件及损坏png文件,搜索正常png文件的文件头数据块,得到文件头数据块的偏移位置,并根据文件头数据块的偏移位置,得到真实文件头数据块;
第二数据块获取模块200,用于根据真实文件头数据块中预设字节位置上的字节数,获取正常png文件的调色板数据块,并根据调色板数据块的偏移位置,得到真实调色板数据块;
第三数据块获取模块300,用于搜索损坏png文件中所有残留图像数据块,得到损坏png文件中所有残留图像数据块的偏移位置,并根据所有残留图像数据块的偏移位置,得到多个真实图像数据块;
修复文件获取模块400,用于根据真实文件头数据块、真实调色板数据块以及多个真实图像数据块,得到修复后的png文件。
在本发明第二方面一种可选的实施方式中,第二数据块获取模块200还用于判断真实文件头数据块中预设字节位置上的字节数是否等于预设阈值;若是,则正常png文件中存在调色板数据块;搜索正常png文件的调色板数据块,得到调色板数据块的偏移位置;根据调色板数据块的偏移位置,得到真实调色板数据块。
在本发明第二方面一种可选的实施方式中,第二数据块获取模块200还用于根据调色板数据块的偏移位置,得到调色板数据块的数据长度;根据调色板数据块的数据长度,得到真实调色板数据块。
在本发明第二方面一种可选的实施方式中,第一数据块获取模块100还用于搜索正常png文件的文件头数据块,得到文件头数据块的偏移位置;根据文件头数据块的偏移位置,得到文件头数据块的数据长度;根据文件头数据块的数据长度,得到真实文件头数据块。
在本发明第二方面一种可选的实施方式中,第三数据块获取模块300还用于搜索损坏png文件中首个残留图像数据块,得到首个残留图像数据块的偏移位置;根据首个残留图像数据块的偏移位置,得到首个残留图像数据块的数据长度;根据首个残留图像数据块的数据长度,得到首个真实图像数据块;搜索下一个残留图像数据块,直至所有残留图像数据块搜索完毕,得到多个真实图像数据块。
在本发明第二方面一种可选的实施方式中,修复文件获取模块400还用于构造png文件头部数据,png文件头部数据用于识别文件类型;构造png文件尾部数据,png文件尾部数据用于识别文件读取停止位置;将png文件头部数据、png文件尾部数据、真实文件头数据块、真实调色板数据块以及多个真实图像数据块组合,得到修复后的png文件。
在本发明第二方面一种可选的实施方式中,png文件修复装置还包括:
CRC码存储模块,用于读取并存储真实文件头数据块、真实调色板数据块以及多个真实图像数据块的CRC码,CRC码存储用来检测真实文件头数据块、真实调色板数据块以及多个真实图像数据块中是否有错误的循环冗余码。
图3是本发明实施例提供的一种png文件修复设备的结构示意图,该png文件修复设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对png文件修复设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在png文件修复设备500上执行存储介质530中的一系列指令操作。
基于png文件修复设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,Free BSD等等。本领域技术人员可以理解,图3示出的png文件修复设备结构并不构成对基于png文件修复设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述png文件修复方法的步骤。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种png文件修复方法,其特征在于,所述png文件修复方法包括:
获取正常png文件及损坏png文件,搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置,并根据所述文件头数据块的偏移位置,得到真实文件头数据块;
根据所述真实文件头数据块中预设字节位置上的字节数,获取所述正常png文件的调色板数据块,并根据所述调色板数据块的偏移位置,得到真实调色板数据块;
搜索所述损坏png文件中所有残留图像数据块,得到所述损坏png文件中所有残留图像数据块的偏移位置,并根据所述所有残留图像数据块的偏移位置,得到多个真实图像数据块;
根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件。
2.根据权利要求1所述的png文件修复方法,其特征在于,所述根据所述真实文件头数据块中预设字节位置上的字节数,获取所述正常png文件的调色板数据块,并根据所述调色板数据块的偏移位置,得到真实调色板数据块包括:
判断所述真实文件头数据块中预设字节位置上的字节数是否等于预设阈值;
若是,则所述正常png文件中存在调色板数据块;
搜索所述正常png文件的调色板数据块,得到所述调色板数据块的偏移位置;
根据所述调色板数据块的偏移位置,得到真实调色板数据块。
3.根据权利要求2所述的png文件修复方法,其特征在于,所述根据所述调色板数据块的偏移位置,得到真实调色板数据块包括:
根据所述调色板数据块的偏移位置,得到所述调色板数据块的数据长度;
根据所述调色板数据块的数据长度,得到真实调色板数据块。
4.根据权利要求1所述的png文件修复方法,其特征在于,所述搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置,并根据所述文件头数据块的偏移位置,得到真实文件头数据块包括:
搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置;
根据所述文件头数据块的偏移位置,得到所述文件头数据块的数据长度;
根据所述文件头数据块的数据长度,得到真实文件头数据块。
5.根据权利要求1所述的png文件修复方法,其特征在于,所述搜索所述损坏png文件中所有残留图像数据块,得到所述损坏png文件中所有残留图像数据块的偏移位置,并根据所述所有残留图像数据块的偏移位置,得到多个真实图像数据块包括:
搜索所述损坏png文件中首个残留图像数据块,得到所述首个残留图像数据块的偏移位置;
根据所述首个残留图像数据块的偏移位置,得到所述首个残留图像数据块的数据长度;
根据所述首个残留图像数据块的数据长度,得到首个真实图像数据块;
搜索下一个残留图像数据块,直至所有残留图像数据块搜索完毕,得到多个真实图像数据块。
6.根据权利要求1所述的png文件修复方法,其特征在于,所述根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件包括:
构造png文件头部数据,所述png文件头部数据用于识别文件类型;
构造png文件尾部数据,所述png文件尾部数据用于识别文件读取停止位置;
将所述png文件头部数据、所述png文件尾部数据、所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块组合,得到修复后的png文件。
7.根据权利要求1所述的png文件修复方法,其特征在于,所述根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件之前,还包括:
读取并存储所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块的CRC码,所述CRC码存储用来检测所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块中是否有错误的循环冗余码。
8.一种png文件修复装置,其特征在于,所述png文件修复装置包括:
第一数据块获取模块,用于获取正常png文件及损坏png文件,搜索所述正常png文件的文件头数据块,得到所述文件头数据块的偏移位置,并根据所述文件头数据块的偏移位置,得到真实文件头数据块;
第二数据块获取模块,用于根据所述真实文件头数据块中预设字节位置上的字节数,获取所述正常png文件的调色板数据块,并根据所述调色板数据块的偏移位置,得到真实调色板数据块;
第三数据块获取模块,用于搜索所述损坏png文件中所有残留图像数据块,得到所述损坏png文件中所有残留图像数据块的偏移位置,并根据所述所有残留图像数据块的偏移位置,得到多个真实图像数据块;
修复文件获取模块,用于根据所述真实文件头数据块、所述真实调色板数据块以及所述多个真实图像数据块,得到修复后的png文件。
9.一种png文件修复设备,其特征在于,所述png文件修复设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述png文件修复设备执行如权利要求1-7中任一项所述的png文件修复方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的png文件修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311635411.3A CN117762662A (zh) | 2023-11-30 | 2023-11-30 | png文件修复方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311635411.3A CN117762662A (zh) | 2023-11-30 | 2023-11-30 | png文件修复方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762662A true CN117762662A (zh) | 2024-03-26 |
Family
ID=90315211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311635411.3A Pending CN117762662A (zh) | 2023-11-30 | 2023-11-30 | png文件修复方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762662A (zh) |
-
2023
- 2023-11-30 CN CN202311635411.3A patent/CN117762662A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5732265A (en) | Storage optimizing encoder and method | |
US8838551B2 (en) | Multi-level database compression | |
CN110532347B (zh) | 一种日志数据处理方法、装置、设备和存储介质 | |
CN113157655B (zh) | 一种数据压缩、解压方法、装置、电子设备和存储介质 | |
CN110765076B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN113312338A (zh) | 数据一致性的校验方法、装置、设备、介质及程序产品 | |
CN112286706B (zh) | 安卓应用的应用信息远程快速获取方法及相关设备 | |
CN117667481A (zh) | Nef文件修复方法、装置、设备及存储介质 | |
CN111984591A (zh) | 文件存储、读取方法、装置、设备及计算机可读存储介质 | |
CN113010477A (zh) | 持久内存文件系统元数据的检索方法和装置、存储结构 | |
CN117762662A (zh) | png文件修复方法、装置、设备及存储介质 | |
CN117112004A (zh) | 差分数据确定方法、差分还原方法、装置、设备及介质 | |
CN102591941B (zh) | 一种SQLite空闲链表节点的解析方法和装置 | |
JP5149063B2 (ja) | データ比較装置およびプログラム | |
US20130111164A1 (en) | Hardware compression using common portions of data | |
CN116860509B (zh) | Pst文件的修复方法、设备及存储介质 | |
CN108491324B (zh) | 一种软件中的目标词汇搜索方法及装置 | |
CN117951096A (zh) | 文件系统中已删除文件恢复方法、装置、设备及介质 | |
JP4754007B2 (ja) | 情報処理装置、情報処理方法、プログラムおよび記録媒体 | |
CN103312792A (zh) | 从外接存储设备中读取文件的方法及系统 | |
CN113806575B (zh) | 仓库拆分中图片信息获取方法及装置 | |
CN115543688B (zh) | 备份方法、装置、代理端和存储介质 | |
CN117992958A (zh) | 损坏文档属性获取方法、装置、设备及存储介质 | |
KR101809756B1 (ko) | 피엘씨 데이터 로그의 검색 장치 및 방법 | |
CN111008301B (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 |