CN110995954B - 检测图片隐写的方法、装置、计算机设备和存储介质 - Google Patents

检测图片隐写的方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110995954B
CN110995954B CN201910965255.4A CN201910965255A CN110995954B CN 110995954 B CN110995954 B CN 110995954B CN 201910965255 A CN201910965255 A CN 201910965255A CN 110995954 B CN110995954 B CN 110995954B
Authority
CN
China
Prior art keywords
picture
primary colors
format
pixel group
image block
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
CN201910965255.4A
Other languages
English (en)
Other versions
CN110995954A (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201910965255.4A priority Critical patent/CN110995954B/zh
Publication of CN110995954A publication Critical patent/CN110995954A/zh
Application granted granted Critical
Publication of CN110995954B publication Critical patent/CN110995954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00002Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for
    • H04N1/00005Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for relating to image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请揭示了一种检测图片隐写的方法、装置、计算机设备和存储介质,其中方法包括:获取到待检测的图片后,首先判定图片符合预置格式,然后判定图片的通道信息未发生变化,然后将图片进行分块,将分块后的图片的三原色的字节码进行一系列的计算,然后比较各三原色对应的字节码的大小,从而判定图片是否有隐写。本申请可以快速准确的对上传的图片进行检测出是否有隐写。

Description

检测图片隐写的方法、装置、计算机设备和存储介质
技术领域
本申请涉及到计算机技术领域,特别是涉及到一种检测图片隐写的方法、装置、计算机设备和存储介质。
背景技术
隐写术是关于信息隐藏的技术,即不让计划的接收者之外的任何人知道信息的传递事件(而不只是信息的内容)的一门技巧与科学。隐写术与密码学都是信息安全领域两项最核心的科技,都存在隐写(加密)信息容易,检测(破解)信息难的特征。
随着互联网的发展,每个Web站点都依赖多媒体,如音频、视频和图像。隐写术这项技术可以将秘密信息嵌入到数字媒介中而不损坏它的载体的质量。第三方既觉察不到秘密信息的存在,也不知道存在秘密信息。破解隐写术成为信息安全领域的焦点。传统安全技术对文件的检测方法是DLP或者签名扫描等方式,都是通过对文件内容进行正则表达式规则匹配、或者文件签名识别来源可信性等方式进行检测,无法识别图片和多媒体文件中通过隐写术隐藏信息。
发明内容
本申请的主要目的为提供一种检测图片隐写的方法、装置、计算机设备和存储介质,旨在解决上述无法识别图片中的隐藏信息的技术问题。
为了实现上述发明目的,本申请提出一种检测图片隐写的方法,包括:
获取待检测的图片;
判断所述图片的格式是否为预置格式;
若是,则获取所述图片的图像矩阵的维度;
根据所述维度判断所述图片的通道信息是否发生变化;
若所述图片的通道信息未发生变化,则将所述图片进行分块,得到多个图像块;
分析每一个图像块的字节码,得到每一个图像块的像素组G,并将像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i
比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息。
进一步地,所述比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息的步骤,包括:
比较每一个图像块的相同三原色对应的像素组f(G)i与fp(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fp(G)i的数量R0、记录f(G)i大于fp(G)i的数量S0、记录f(G)i等于fp(G)i的数量U0;比较每一个图像块的相同三原色对应的像素组f(G)i与fn(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fn(G)i的数量R1、记录f(G)i大于fn(G)i的数量S1、记录f(G)i等于fn(G)i的数量U1;以及判断所述图片的图片性质;
若所述图片的图片性质是彩色图片,且每一个三原色对应的R1-S1>R0-S0,则判定所述图片包含隐藏信息;
若所述图片的图片性质是灰度图片,且任一个三原色对应的R0、S0、U0、R1、S1、U1不全相等,则判定所述图片包含隐藏信息。
进一步地,所述分析每一个图像块的字节码,得到每一个图像块的像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i的步骤,包括:
分析每一个所述图像块中每一个三原色对应的字节码,得到每一个图像块的每一个三原色对应的像素组G(x1,x2,...xn),xn表示字节码的元素,n表示每一个三原色对应的字节码的位数;
将所述像素组G输入到公式:
Figure BDA0002230277820000021
中,得到f(G)i,以及将所述像素组G进行非负翻转得到fp(G)i,以及将所述像素组G进行非正翻转得到fn(G)i
进一步地,所述判断所述图片的图片性质的步骤,包括:
读取所述图片的三原色对应的三个通道的值;
若所述三个通道的值相同,则判定所述图片性质是灰色图片,若所述三个通道的值不全相同,则判定所述图片性质是彩色图片。
进一步地,所述获取待检测的图片的步骤,包括:
接收前端发送的待检测的图片;
将所述图片存储在沙盒中,所述沙盒中安装有预设的虚拟软件;
控制所述虚拟软件打开所述图片;
若正常打开所述图片,则从所述沙盒中获取所述图片。
进一步地,所述判断所述图片的格式是否为预置格式的步骤,包括:
读取所述图片的文件头标志区;
分析标志区,获取文件头的属性区的偏移位置;
根据所述偏移位置,读取文件头标志区的偏移位置对应的指定位数的字符,得到文件头字符,以及读取所述图片的格式字符;
判断所述文件头字符以及所述格式字符是否是对应的预置格式对应的文件头字符以及格式字符;
若是,判定所述图片的格式是预置格式。
本申请还提供一种检测图片隐写的装置,包括:
获取图片模块,用于获取待检测的图片;
第一判断模块,用于判断所述图片的格式是否为预置格式;
获取维度模块,用于若所述图片的格式是BMP或PNG,则获取所述图片的图像矩阵的维度;
第二判断模块,用于根据所述维度判断所述图片的通道信息是否发生变化;
分块模块,用于若所述图片的通道信息未发生变化,则将所述图片进行分块,得到多个图像块;
计算模块,用于分析每一个图像块的字节码,得到每一个图像块的像素组G,并将像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i
比较模块,用于比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息。
进一步地,所述比较模块包括:
比较单元,用于比较每一个图像块的相同三原色对应的像素组f(G)i与fp(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fp(G)i的数量R0、记录f(G)i大于fp(G)i的数量S0、记录f(G)i等于fp(G)i的数量U0;比较每一个图像块的相同三原色对应的像素组f(G)i与fn(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fn(G)i的数量R1、记录f(G)i大于fn(G)i的数量S1、记录f(G)i等于fn(G)i的数量U1;以及判断所述图片的图片性质;
第一判定单元,用于若所述图片的图片性质是彩色图片,且每一个三原色对应的R1-S1>R0-S0,则判定所述图片包含隐藏信息;
第二判定单元,用于若所述图片的图片性质是灰度图片,且任一个三原色对应的R0、S0、U0、R1、S1、U1不全相等,则判定所述图片包含隐藏信息。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的检测图片隐写的方法、装置、计算机设备和存储介质,对图片中的信息存贮结构进行检测,将图片进行切割成多个图像块后,再将每一个图像块中的每一个像素进行数字化,然后计算图像的像素进行翻转计算,根据翻转计算后的结果来判断图片中是否有隐写信息,可以快速准确的对上传的图片进行检测出是否有隐写。
附图说明
图1为本申请一实施例的检测图片隐写的方法的流程示意图;
图2为本申请一实施例的检测图片隐写的装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种检测图片隐写的方法,包括步骤:
S1、获取待检测的图片;
S2、判断所述图片的格式是否为预置格式;
S3、若是,则获取所述图片的图像矩阵的维度;
S4、根据所述维度判断所述图片的通道信息是否发生变化;
S5、若所述图片的通道信息未发生变化,则将所述图片进行分块,得到多个图像块;
S6、分析每一个图像块的字节码,得到每一个图像块的像素组G,并将像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i
S7、比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息。
本实施例中,服务器审核用户通过前端发送的图片。前端向服务器发起上传图片的请求后,服务器读取该图片的属性信息,根据属性信息来判断图片是否是BMP格式或者是PNG格式。同一张图片,由于格式不一样,对应的属性信息也不完全一样。如果图片是上述两种格式之一,则进行下一步,获取图片的图像矩阵的维度。本方案是特针对BMP格式和PNG格式的图片进行检测是否有隐写。获取图片的图像矩阵的方法是服务器读取文件,通过python的扩展程序库numpy,使用numpy的shape函数。Shape函数返回(height,width,图像通道数)/(height,width)。图像的矩阵维度由shape返回值判断。若返回(height,width),表示图像矩阵的维度不是3;返回(height,width,图像通道数),则表示图像矩阵的维度为3。如果图像矩阵中的维度为3,表示是图片的通道信息未发生变化,这样的图片也存在改写信息的可能,本方案适用于对这样的改写的图片进行隐写检测。如果图片被隐写前经过人工处理,造成图片的通道信息发生变化,只有一个通道信息,对应的图像矩阵就不是3,这样的图片不适用于采用本申请后续的方法来判断图片中是否存在隐写信息。因此,图像矩阵的维度不为3,将该图片进行标注,然后采用其他方法进行检测。如果图像矩阵的维度是3,进行下一步处理。将图片进行切割,以图片的2个像素为长以及2个像素为宽,切割成若干个小的图像,得到多个图像块。在其他实施例中,以图片的3个像素为长以及3个像素为宽,进行切割,得到多个图像块。图片切割后,得到多个图像块,每个图像块也是一个很小的图像。图像进行改写后,其字节码也会发生变化。因此,分析图像的字节码,然后根据字节码来进行分析图片是否有隐藏信息。具体的,将每一个图像块的字节码分析出来,得到多个图像块的像素组G,然后将多个像素组G分别进行一系列计算,得到像素组G对应的f(G)i、fp(G)i、fn(G)i三个数值。然后对f(G)i、fp(G)i、fn(G)i的值进行比较,根据比较结果判断所述图片是否包含有隐藏信息。
在一个实施例中,上述所述比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息的步骤,包括:
S71、比较每一个图像块的相同三原色对应的像素组f(G)i与fp(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fp(G)i的数量R0、记录f(G)i大于fp(G)i的数量S0、记录f(G)i等于fp(G)i的数量U0;比较每一个图像块的相同三原色对应的像素组f(G)i与fn(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fn(G)i的数量R1、记录f(G)i大于fn(G)i的数量S1、记录f(G)i等于fn(G)i的数量U1;以及判断所述图片的图片性质;
S72、若所述图片的图片性质是彩色图片,且每一个三原色对应的R1-S1>R0-S0,则判定所述图片包含隐藏信息;
S73、若所述图片的图片性质是灰度图片,且任一个三原色对应的R0、S0、U0、R1、S1、U1不全相等,则判定所述图片包含隐藏信息。
本实施例中,图片性质包括彩色图片和灰度图片。得到了每一个像素组对应的三个数值后,且每个数值均有对应的三原色标记,然后将每一个像组素对应的三原色标记进行比较,分别记录f(G)i与fp(G)i的大小比较结果的数量,以及f(G)i与fn(G)i的大小比较结果的数量;得到每一个三原色通道的三个数量。然后任选一个图像块,提取出该图像块的三色通道的三个像素组,如果该图像块中的三个像素组相同,判定该图像是灰度图片,否则判定该图片是彩色图片。然后根据上述R0、S0、U0、R1、S1、U1的逻辑关系,来判断图片中是否包含隐藏信息。
在一个实施例中,上述分析每一个图像块的字节码,得到每一个图像块的像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i的步骤,包括:
S61、分析每一个所述图像块中每一个三原色对应的字节码,得到每一个图像块的每一个三原色对应的像素组G(x1,x2,...xn),xn表示字节码的元素,n表示每一个三原色对应的字节码的位数;
S62、将所述像素组G输入到公式:
Figure BDA0002230277820000071
中,得到f(G)i,以及将所述像素组G进行非负翻转得到fp(G)i,以及将所述像素组G进行非正翻转得到fn(G)i
本实施例中,对每一个图像块进行遍历,图片中的像素一般是由三种颜色组成,这三种颜色是红、绿、蓝,即三原色,由这三种原色可以组成其他各种颜色,例如在PNG图片的储存中,每个颜色会有8bit,每一位均是0或者1。对每一个图像块进行遍历,即得到多个字节码。其中,在对图像进行遍历时,根据三原色的三个像素进行分通道,得到每一个像素的三原色对应的像素组。遍历后,每一个图像块对应三个像素组。例如,有一个图像块是
Figure BDA0002230277820000072
然后将x进行遍历,得到像素组G(x1,x2,x3,x4),其中,
x1=x00,x2=x01,x3=x10,x4=x11。
同时,像素组G中每一个元素均包含有三个元素,每一个元素均表示是三原色中一个颜色的数字。因此,x00包括x000、x001、x002,x01包括x010、x011、x012。
最终得到
Figure BDA0002230277820000073
然后将上述每一个像素组中的元素代入到
Figure BDA0002230277820000074
公式(a)中,得到一个像素组对应的值。其中,每计算得到一个值时,同时将该值标注具体是属于三原色中的哪一个,可以是将三原色中的红色标记为R、绿色标记为G、蓝色标记为B。
fR=|x010-x000|+|x100-x010|+|x110-x100|
fG=|x111-x001|+|x101-x011|+|x111-x101|
fB=|x012-x002|+|x102-x012|+|x112-x102|
经过上述公式计算,得到f(G)i。
然后将像素组G进行非负翻转,非负翻的过程为:选定一个像素组G,从第一个元素x1开始,如果第一个元素是0,就用公式f0(x)=x进行翻转,如果第一个元素是1,就用f1(x)=x+1-2*(x mod 2)进行翻转,如此,将该像素组G中全部元素翻转后,再用上述公式(a)计算得到该元素组的fp(G)i
一个详细的非负翻转的过程为:
首先设置一个基准矩阵M=[[0,0,0],[1,1,1],[1,1,1],[0,0,0]];
然后对基准矩阵的每一个元素进行遍历,遍历顺序是M[0][0]=0,M[0][1]=0,M[0][2]=0,M[1][0]=1,M[1][1]=1,M[1][2]=1,M[2][0]=1,M[2][1]=1,M[2][2]=1,M[3][0]=0,M[3][1]=0,M[3][2]=0;当M[i][j]=0,对像素块x的第i个像素,第j个通道的值v,进行自身置换(即返回原值v);当M[i][j]=1,对像素块x的第i个像素,第j个通道的值v,进行翻转,(若v为偶数,则返回v+1;若v为奇数,则返回v-1);遍历完M的每一个元素后,得到非负翻转后的像素块fp(G)i。然后将像素组G进行非正翻转,得到fn(G)i;进行非正翻转的步骤:选定一个像素组G,从第一个元素x1开始,如果第一个元素是0,就用公式f0(x)=x进行翻转,如果第一个元素是-1,就用f-1(x)=x+1-2*[(x+1)mod 2]进行翻转,如此,将该像素组G中全部元素翻转后,再用上述公式(a)计算得到该元素组的fn(G)i
一个详细的非正翻转的过程为:首先设置一个基准矩阵M=[[0,0,0],[-1,-1,-1],[-1,-1,-1],[0,0,0]];然后对基准矩阵的每一个元素进行遍,遍历顺序是M[0][0]=0,M[0][1]=0,M[0][2]=0,M[1][0]=-1,M[1][1]=-1,M[1][2]=-1,M[2][0]=-1,M[2][1]=-1,M[2][2]=-1,M[3][0]=0,M[3][1]=0,M[3][2]=0;当M[i][j]=0,对像素块x的第i个像素,第j个通道的值v,进行自身置换(即返回原值v);若M[i][j]=-1,对像素块x的第i个像素,第j个通道的值v,进行翻转,(若v为偶数,则返回v-1;若v为奇数,则返回v+1);遍历完M的每一个元素后,得到非正翻转后的像素块fn(G)i
在一个实施例中,上述判断所述图片的图片性质的步骤,包括:
S711、读取所述图片的三原色对应的三个通道的值;
S712、若所述三个通道的值相同,则判定所述图片性质是灰色图片,若所述三个通道的值不全相同,则判定所述图片性质是彩色图片。
本实施例中,将图片进行分场后得到多个图像块,从多个图像块中任选一个图像块,提取出该图像块的三色通道的三个像素组,即三个通道的值,如果该图像块中的三个像素组相同,判定该图片的图片性质是灰度图片,否则判定该图片的图片性质是彩色图片。
在一个实施例中,上述所述获取待检测的图片的步骤,包括:
S11、接收前端发送的待检测的图片;
S12、将所述图片存储在沙盒中,所述沙盒中安装有预设的虚拟软件;
S13、控制所述虚拟软件打开所述图片;
S14、若正常打开所述图片,则从所述沙盒中获取所述图片。
本实施例中,前端向服务器发起上传图片的请求后,服务器将前端发送的待上传的图片暂存在沙盒中。沙盒是安全运行机制中的隔离环境,沙盒可以是服务器从数据库中分割出来的一个独立空间,避免与服务器的数据库中的其他数据接触,沙盒中还安装有多个虚拟软件,至少其中一个虚拟软件可以打开图片,控制该虚拟软件打开图片,如果打开后,该沙盒仍正常运行,其他的各个虚拟软件也都正常运行,则判定该图片没有病毒,然后服务器获取图片,对图片进行检测是否隐写,如果没有隐写,就按照正常的流程上传到数据库中。
在一个实施例中,上述所述判断所述图片的格式是否为预置格式的步骤,包括:
S21、读取所述图片的文件头标志区;
S22、分析标志区,获取文件头的属性区的偏移位置;
S23、根据所述偏移位置,读取文件头标志区的偏移位置对应的指定位数的字符,得到文件头字符,以及读取所述图片的格式字符;
S24、判断所述文件头字符以及所述格式字符是否是对应的预置格式对应的文件头字符以及格式字符;
S25、若是,判定所述图片的格式是预置格式。
本实施例中,服务器读取图片的文件头标志区,文件头是直接位于文件中的一段数据,是文件的一部分。文件包括三部分,第一部分为文件主体即数据部分,第二部分和第三部分为文件头部分,其中第二部分为文件头部分的属性区,第三部分为文件头部分的标志区,标志区包括属性区的起始位置及其在文件中的偏移位置、数据部分的数据类型、文件版本、文件的标识头。读取图片的文件头标志区,具体的,读取文件的第三部分,获取到第三部分中的偏移位置,偏移位置中包括文件头的属性的位置,即第三部分的表示文件的格式的位数,根据偏移位置,读取第二部分的指定字符,得到文件头字符。同时,读取文件的名称的后缀,得到格式字符。然后判断文件头字符以及格式字符是否与预置格式对应的文件头字符和格式字符一致,如果一致,则判定图片的格式是预置格式。在一具体实施例中,预置格式是BMP格式或PNG格式。BMP格式对应的文件头字符是42 4D,BMP格式对应的格式字符是bmp。PNG格式对应的文件头字符是89 50 4E 47,PNG格式对应的格式字符是png。
在一个实施例中,上述根据所述维度判断所述图片的通道信息是否发生变化的步骤之后,包括:
S411、若所述图片的通道信息发生变化,将所述图片添加标记后,发送给指定的终端,以便所述指定的终端通过其他方式来检测所述图片是否有隐写。
本实施例中,如果图片的通道信息未发生变化,表明该图片是没有能过改写图片的像素位来对图片进行隐写,这样就不符合本方案的检测图片隐写方法。将该图片添加上存在改写风险的标签后,发送给指定的终端,以便指定终端通过其他方式来检测图片是否有隐写信息。
综上所述,本申请的检测图片隐写的方法,对图片中的信息存贮结构进行检测,将图片进行切割成多个图像块后,再将每一个图像块中的每一个像素进行数字化,然后计算图像的像素进行翻转计算,根据翻转计算后的结果来判断图片中是否有隐写信息,可以快速准确的对上传的图片进行检测出是否有隐写。
参照图2,本申请实施例中还提供一种检测图片隐写的装置,包括:
获取图片模块1,用于获取待检测的图片;
第一判断模块2,用于判断所述图片的格式是否为BMP或PNG格式中的任一种;
获取维度模块3,用于若所述图片的格式是BMP或PNG,则获取所述图片的图像矩阵的维度;
第二判断模块4,用于根据所述维度判断所述图片的通道信息是否发生变化;
分块模块5,用于若所述图片的通道信息未发生变化,则将所述图片进行分块,得到多个图像块;
计算模块6,用于将所述像素组G输入到公式:
Figure BDA0002230277820000111
Figure BDA0002230277820000112
中,得到f(G)i,以及将所述像素组G进行非负翻转得到fp(G)i,以及将所述像素组G进行非正翻转,得到fn(G)i
比较模块7,用于比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息。
在一个实施例中,上述比较模块7包括:
比较单元,用于比较每一个图像块的相同三原色对应的像素组f(G)i与fp(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fp(G)i的数量R0、记录f(G)i大于fp(G)i的数量S0、记录f(G)i等于fp(G)i的数量U0;比较每一个图像块的相同三原色对应的像素组f(G)i与fn(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fn(G)i的数量R1、记录f(G)i大于fn(G)i的数量S1、记录f(G)i等于fn(G)i的数量U1;以及判断所述图片的图片性质;
第一判定单元,用于若所述图片的图片性质是彩色图片,且每一个三原色对应的R1-S1>R0-S0,则判定所述图片包含隐藏信息;
第二判定单元,用于若所述图片的图片性质是灰度图片,且任一个三原色对应的R0、S0、U0、R1、S1、U1不全相等,则判定所述图片包含隐藏信息。
在一个实施例中,上述计算模块6包括:
第一分析单元,用于分析每一个所述图像块中每一个三原色对应的字节码,得到每一个图像块的每一个三原色对应的像素组G(x1,x2,...xn),xn表示字节码的元素,n表示每一个三原色对应的字节码的位数;
计算单元,用于将所述像素组G输入到公式:
Figure BDA0002230277820000113
Figure BDA0002230277820000114
中,得到f(G)i,以及将所述像素组G进行非负翻转得到fp(G)i,以及将所述像素组G进行非正翻转得到fn(G)i
在一个实施例中,上述比较模块7包括:
第一读取单元,用于读取所述图片的三原色对应的三个通道的值;
第三判定单元,用于若所述三个通道的值相同,则判定所述图片性质是灰色图片,若所述三个通道的值不全相同,则判定所述图片性质是彩色图片。
在一个实施例中,上述获取图片模块1包括:
接收单元,用于接收前端发送的待检测的图片;
存储单元,用于将所述图片存储在沙盒中,所述沙盒中安装有预设的虚拟软件;
测试单元,用于控制所述虚拟软件打开所述图片;
获取单元,用于若正常打开所述图片,则从所述沙盒中获取所述图片。
在一个实施例中,上述第一判断模块2包括:
第二读取单元,用于读取所述图片的文件头标志区;
第二分析单元,用于分析标志区,获取文件头的属性区的偏移位置;
第三读取单元,用于根据所述偏移位置,读取文件头标志区的偏移位置对应的指定位数的字符,得到文件头字符,以及读取所述图片的格式字符;
判断单元,用于判断所述文件头字符以及所述格式字符是否是对应的预置格式对应的文件头字符以及格式字符;
第四判定单元,用于若所述文件头字符以及所述格式字符是对应的预置格式对应的文件头字符以及格式字符,则判定所述图片的格式是预置格式。
在一个实施例中,上述检测图片隐写的装置还包括:
发送模块,用于若所述图片的通道信息发生变化,将所述图片添加标记后,发送给指定的终端,以便所述指定的终端通过其他方式来检测所述图片是否有隐写。
综上所述,本申请的检测图片隐写的装置,对图片中的信息存贮结构进行检测,将图片进行切割成多个图像块后,再将每一个图像块中的每一个像素进行数字化,然后计算图像的像素进行翻转计算,根据翻转计算后的结果来判断图片中是否有隐写信息,可以快速准确的对上传的图片进行检测出是否有隐写。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储图片等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种检测图片隐写的方法。
本申请的计算机设备,对图片中的信息存贮结构进行检测,将图片进行切割成多个图像块后,再将每一个图像块中的每一个像素进行数字化,然后计算图像的像素进行翻转计算,根据翻转计算后的结果来判断图片中是否有隐写信息,可以快速准确的对上传的图片进行检测出是否有隐写。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种检测图片隐写的方法。综上所述,本申请的计算机可读存储介质,对图片中的信息存贮结构进行检测,将图片进行切割成多个图像块后,再将每一个图像块中的每一个像素进行数字化,然后计算图像的像素进行翻转计算,根据翻转计算后的结果来判断图片中是否有隐写信息,可以快速准确的对上传的图片进行检测出是否有隐写。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchl ink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (7)

1.一种检测图片隐写的方法,其特征在于,包括:
获取待检测的图片;
判断所述图片的格式是否为预置格式;
若是,则获取所述图片的图像矩阵的维度;
根据所述维度判断所述图片的通道信息是否发生变化;
若所述图片的通道信息未发生变化,则将所述图片进行分块,得到多个图像块;
分析每一个图像块的字节码,得到每一个图像块的像素组G,并将像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i
比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息;
所述比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息的步骤,包括:
比较每一个图像块的相同三原色对应的像素组f(G)i与fp(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fp(G)i的数量R0、记录f(G)i大于fp(G)i的数量S0、记录f(G)i等于fp(G)i的数量U0;比较每一个图像块的相同三原色对应的像素组f(G)i与fn(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fn(G)i的数量R1、记录f(G)i大于fn(G)i的数量S1、记录f(G)i等于fn(G)i的数量U1;以及判断所述图片的图片性质;
若所述图片的图片性质是彩色图片,且每一个三原色对应的R1-S1>R0-S0,则判定所述图片包含隐藏信息;
若所述图片的图片性质是灰度图片,且任一个三原色对应的R0、S0、U0、R1、S1、U1不全相等,则判定所述图片包含隐藏信息;
所述分析每一个图像块的字节码,得到每一个图像块的像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i的步骤,包括:
分析每一个所述图像块中每一个三原色对应的字节码,得到每一个图像块的每一个三原色对应的像素组G(x1,x2,...,xn),xn表示字节码的元素,n表示每一个三原色对应的字节码的位数;
将所述像素组G输入到公式:
Figure FDA0003820268680000021
中,得到f(G)i,以及将所述像素组G进行非负翻转得到fp(G)i,以及将所述像素组G进行非正翻转得到fn(G)i
2.如权利要求1所述的检测图片隐写的方法,其特征在于,所述判断所述图片的图片性质的步骤,包括:
读取所述图片的三原色对应的三个通道的值;
若所述三个通道的值相同,则判定所述图片性质是灰色图片,若所述三个通道的值不全相同,则判定所述图片性质是彩色图片。
3.如权利要求1所述的检测图片隐写的方法,其特征在于,所述获取待检测的图片的步骤,包括:
接收前端发送的待检测的图片;
将所述图片存储在沙盒中,所述沙盒中安装有预设的虚拟软件;
控制所述虚拟软件打开所述图片;
若正常打开所述图片,则从所述沙盒中获取所述图片。
4.如权利要求1所述的检测图片隐写的方法,其特征在于,所述判断所述图片的格式是否为预置格式的步骤,包括:
读取所述图片的文件头标志区;
分析标志区,获取文件头的属性区的偏移位置;
根据所述偏移位置,读取文件头标志区的偏移位置对应的指定位数的字符,得到文件头字符,以及读取所述图片的格式字符;
判断所述文件头字符以及所述格式字符是否是对应的预置格式对应的文件头字符以及格式字符;
若是,判定所述图片的格式是预置格式。
5.一种检测图片隐写的装置,其特征在于,包括:
获取图片模块,用于获取待检测的图片;
第一判断模块,用于判断所述图片的格式是否为预置格式;
获取维度模块,用于若所述图片的格式是预置格式,则获取所述图片的图像矩阵的维度;
第二判断模块,用于根据所述维度判断所述图片的通道信息是否发生变化;
分块模块,用于若所述图片的通道信息未发生变化,则将所述图片进行分块,得到多个图像块;
计算模块,用于分析每一个图像块的字节码,得到每一个图像块的像素组G,并将像素组G按照多个预设的计算方式进行计算,分别得到f(G)i、fp(G)i、fn(G)i
比较模块,用于比较所述f(G)i、fp(G)i、fn(G)i的大小,根据比较结果判断所述图片是否包含有隐藏信息;
所述比较模块包括:
比较单元,用于比较每一个图像块的相同三原色对应的像素组f(G)i与fp(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fp(G)i的数量R0、记录f(G)i大于fp(G)i的数量S0、记录f(G)i等于fp(G)i的数量U0;比较每一个图像块的相同三原色对应的像素组f(G)i与fn(G)i的大小,记录每一个三原色对应的像素组f(G)i小于fn(G)i的数量R1、记录f(G)i大于fn(G)i的数量S1、记录f(G)i等于fn(G)i的数量U1;以及判断所述图片的图片性质;
第一判定单元,用于若所述图片的图片性质是彩色图片,且每一个三原色对应的R1-S1>R0-S0,则判定所述图片包含隐藏信息;
第二判定单元,用于若所述图片的图片性质是灰度图片,且任一个三原色对应的R0、S0、U0、R1、S1、U1不全相等,则判定所述图片包含隐藏信息;
所述计算模块包括:
第一分析单元,用于分析每一个所述图像块中每一个三原色对应的字节码,得到每一个图像块的每一个三原色对应的像素组G(x1,x2,...,xn),xn表示字节码的元素,n表示每一个三原色对应的字节码的位数;
计算单元,用于将所述像素组G输入到公式:
Figure FDA0003820268680000031
Figure FDA0003820268680000032
中,得到f(G)i,以及将所述像素组G进行非负翻转得到fp(G)i,以及将所述像素组G进行非正翻转得到fn(G)i
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法的步骤。
CN201910965255.4A 2019-10-11 2019-10-11 检测图片隐写的方法、装置、计算机设备和存储介质 Active CN110995954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910965255.4A CN110995954B (zh) 2019-10-11 2019-10-11 检测图片隐写的方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910965255.4A CN110995954B (zh) 2019-10-11 2019-10-11 检测图片隐写的方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110995954A CN110995954A (zh) 2020-04-10
CN110995954B true CN110995954B (zh) 2022-10-04

Family

ID=70081974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910965255.4A Active CN110995954B (zh) 2019-10-11 2019-10-11 检测图片隐写的方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110995954B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113112472B (zh) * 2021-04-09 2023-08-29 百度在线网络技术(北京)有限公司 图像处理方法及装置
CN116861013B (zh) * 2023-09-04 2023-12-19 深圳市易图资讯股份有限公司 一种cim数据可信性提升方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022332A (zh) * 2006-02-16 2007-08-22 刘粉林 基于混沌系统的抗统计分析图像lsb信息隐藏方法
CN101494051A (zh) * 2008-01-23 2009-07-29 武汉大学 一种针对时域音频lsb隐写的检测方法
CN103761702A (zh) * 2014-01-09 2014-04-30 太原科技大学 一种基于秘密共享的图像隐藏和认证方法
CN105894437A (zh) * 2016-03-31 2016-08-24 柳州城市职业学院 一种基于马尔科夫链的隐写算法
CN108509775A (zh) * 2018-02-08 2018-09-07 暨南大学 一种基于机器学习的恶意png图像识别方法
CN108776607A (zh) * 2018-05-07 2018-11-09 深圳壹账通智能科技有限公司 截图生成方法、装置、计算机设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1933391A (zh) * 2005-09-16 2007-03-21 北京书生国际信息技术有限公司 一种隐形编码嵌入和检测的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101022332A (zh) * 2006-02-16 2007-08-22 刘粉林 基于混沌系统的抗统计分析图像lsb信息隐藏方法
CN101494051A (zh) * 2008-01-23 2009-07-29 武汉大学 一种针对时域音频lsb隐写的检测方法
CN103761702A (zh) * 2014-01-09 2014-04-30 太原科技大学 一种基于秘密共享的图像隐藏和认证方法
CN105894437A (zh) * 2016-03-31 2016-08-24 柳州城市职业学院 一种基于马尔科夫链的隐写算法
CN108509775A (zh) * 2018-02-08 2018-09-07 暨南大学 一种基于机器学习的恶意png图像识别方法
CN108776607A (zh) * 2018-05-07 2018-11-09 深圳壹账通智能科技有限公司 截图生成方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN110995954A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
JP4889274B2 (ja) 離散レベル改ざん位置同定による安全画像認証
KR100335308B1 (ko) 워터마크를 이용한 인간 지각가능 데이터 세트의 배포와 인증 방법 및 그 장치
Bhalerao et al. A secure image watermarking for tamper detection and localization
JP4722599B2 (ja) 電子画像データ検証プログラム、電子画像データ検証システム及び電子画像データ検証方法
CN110995954B (zh) 检测图片隐写的方法、装置、计算机设备和存储介质
US6775394B2 (en) Digital watermarking of binary document using halftoning
US20070283166A1 (en) System and method for state transition intrusion detection
KR20080035638A (ko) 미디어 식별을 위한 숨겨진 견고한 마크
EP3683700B1 (en) Method for determining if a machine learning model has been copied
EP3767545A1 (en) Method for detecting if a machine learning model has been copied
CN108646988B (zh) 文档打印方法和系统
CN113988242A (zh) 基于多区域的防伪码生成与校验方法、系统、设备及介质
JP4750133B2 (ja) 電子透かし埋め込み装置、電子透かし検出装置、および電子透かしシステム
US20080055656A1 (en) Image Forming Apparatus
JP4220661B2 (ja) 電子文書改竄検出方法及びその装置
Puhan et al. Binary document image watermarking for secure authentication using perceptual modeling
CN110943839A (zh) 一种签名验证方法、装置、电子设备及可读存储介质
JP3916984B2 (ja) 電子透かし装置
CN111860726B (zh) 二维码显示方法、验证方法、设备及计算机可读存储介质
JP3891328B2 (ja) データ処理装置およびデータ処理方法
Kozachok et al. Estimation of Watermark Embedding Capacity with Line Space Shifting
JP2002152486A (ja) ベクトル型画像データのための電子透かし処理方法及び電子透かし情報管理システム
He et al. A neighborhood-characteristic-based detection model for statistical fragile watermarking with localization
Usop et al. A Review of Digital Watermarking Techniques, Characteristics and Attacks in Text Documents
JP4625406B2 (ja) 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム、及び、情報記憶媒体

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