本發(fā)明涉及通信領(lǐng)域的圖像處理技術(shù),具體涉及到一種圖像處理方法及設(shè)備。
背景技術(shù):
在網(wǎng)絡(luò)部分,移動(dòng)公司有大量的基站、倉(cāng)庫(kù)、光纜、光交光配節(jié)點(diǎn)等散落于城市的每個(gè)角落,大量的維護(hù)人員需要對(duì)這些設(shè)備進(jìn)行日常巡檢及維護(hù)。在市場(chǎng)部分,大量的專營(yíng)店、政企客戶也廣泛分布于城市各處,目前通過(guò)采用拍照方式,對(duì)巡檢、走訪等現(xiàn)場(chǎng)情況進(jìn)行記錄和審核,但由于拍攝的圖像難以保證真實(shí)性和完整性,存在造假的可能,現(xiàn)有技術(shù)難以對(duì)拍攝的圖像的真實(shí)性和完整性進(jìn)行有效驗(yàn)證。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種圖像處理方法及設(shè)備,能夠?qū)ε臄z的圖像的真實(shí)性和完整性進(jìn)行有效驗(yàn)證。
本發(fā)明實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的:
第一方面,本發(fā)明實(shí)施例提供一種圖像處理方法,所述方法包括:
將圖像基于預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像塊三色分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)所述圖像塊的哈希結(jié)果;
基于每個(gè)所述圖像塊的哈希結(jié)果對(duì)應(yīng)確定所述圖像的圖像索引;
基于每個(gè)所述圖像塊的塊位置、所述圖像的圖像索引、所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間構(gòu)造每個(gè)所述圖像塊的標(biāo)識(shí)信息;
將每個(gè)所述圖像塊的標(biāo)識(shí)信息嵌入每個(gè)所述圖像塊的三色分量的所述預(yù)設(shè)數(shù)量的最低有效位,以及,基于從每個(gè)所述圖像塊的三色分量的所述預(yù)設(shè)數(shù)量 的最低有效位中提取的所述標(biāo)識(shí)信息驗(yàn)證所述圖像。
優(yōu)選地,所述基于每個(gè)所述圖像塊的哈希結(jié)果對(duì)應(yīng)確定每個(gè)所述圖像塊的圖像索引,包括:
將所述圖像的每個(gè)所述圖像塊的哈希結(jié)果進(jìn)行拼接得到二值流;
對(duì)所述二值流進(jìn)行哈希變換得到所述圖像的所述圖像索引;
所述至少基于每個(gè)所述圖像塊的塊位置、所述圖像的所述圖像索引、所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間構(gòu)造每個(gè)所述圖像塊的標(biāo)識(shí)信息,包括:
將每個(gè)所述圖像塊的塊位置信息、所述圖像索引、重復(fù)的所述塊位置信息、重復(fù)的所述圖像索引、所述圖像的拍攝位置、以及所述圖像的拍攝時(shí)間按順序拼接后進(jìn)行加密,得到每個(gè)所述圖像塊的所述標(biāo)識(shí)信息。
優(yōu)選地,所述將每個(gè)所述圖像塊的標(biāo)識(shí)信息嵌入每個(gè)所述圖像塊的三色分量的所述預(yù)設(shè)數(shù)量的最低有效位,包括:
將所述圖像的每個(gè)圖像塊對(duì)應(yīng)所述標(biāo)識(shí)信息與所述哈希結(jié)果進(jìn)行異或運(yùn)算,將異或運(yùn)算結(jié)果嵌入到每個(gè)所述圖像塊的所述預(yù)設(shè)數(shù)量的最低有效位。
優(yōu)選地,所述基于從每個(gè)所述圖像塊的三色分量的所述預(yù)設(shè)數(shù)量的最低有效位中提取的所述標(biāo)識(shí)信息驗(yàn)證所述圖像,包括:
將所述圖像基于所述預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像塊三色分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)所述圖像塊的哈希結(jié)果;
基于每個(gè)所述圖像塊的哈希結(jié)果對(duì)應(yīng)確定所述圖像的圖像索引;
提取每個(gè)所述圖像塊的標(biāo)識(shí)信息三色分量的所述預(yù)設(shè)數(shù)量的最低有效位,對(duì)應(yīng)得到每個(gè)所述圖像塊的所述標(biāo)識(shí)信息;
基于每個(gè)所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引對(duì)應(yīng)驗(yàn)證每個(gè)所述圖像塊的拍攝位置以及所述圖像的拍攝時(shí)間。
優(yōu)選地,所述基于每個(gè)所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引對(duì)應(yīng)驗(yàn)證每個(gè)所述圖像塊的拍攝位置以及所述圖像的拍攝時(shí)間,包括以下至少之一:
基于每個(gè)所述圖像塊的標(biāo)識(shí)信息承載的所述圖像索引是否一致,如果一致則判定每個(gè)所述圖像塊均來(lái)自所述圖像;否則,判定所述圖像不完整;
判斷所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引與所述標(biāo)識(shí)信息中重復(fù)的所述圖像塊的塊位置、重復(fù)的所述圖像的圖像索引比對(duì),如果一致判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間真實(shí),否則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間無(wú)效;
判斷所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引與使用所述圖像塊計(jì)算得到的塊位置、圖像索引是否一致,如果一致則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間真實(shí);否則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間無(wú)效。
第二方面,本發(fā)明實(shí)施例提供一種用于圖像處理的設(shè)備,所述設(shè)備包括:
分割單元,用于將圖像基于預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像塊三色分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)所述圖像塊的哈希結(jié)果;
圖像索引單元,用于基于每個(gè)所述圖像塊的哈希結(jié)果對(duì)應(yīng)確定所述圖像的圖像索引;
標(biāo)識(shí)信息構(gòu)造單元,用于基于每個(gè)所述圖像塊的塊位置、所述圖像的圖像索引、所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間構(gòu)造每個(gè)所述圖像塊的標(biāo)識(shí)信息;
嵌入單元,用于將每個(gè)所述圖像塊的標(biāo)識(shí)信息嵌入每個(gè)所述圖像塊的三色分量的所述預(yù)設(shè)數(shù)量的最低有效位中;
驗(yàn)證單元,用于基于從每個(gè)所述圖像塊的三色分量的所述預(yù)設(shè)數(shù)量的最低有效位中提取的所述標(biāo)識(shí)信息驗(yàn)證所述圖像。
優(yōu)選地,所述圖像索引單元,包括:
拼接模塊,用于將所述圖像的每個(gè)所述圖像塊的哈希結(jié)果進(jìn)行拼接得到二值流;
第一哈希變換模塊,用于對(duì)所述二值流進(jìn)行哈希變換得到所述圖像的所述 圖像索引;
標(biāo)識(shí)信息構(gòu)造單元,還用于將每個(gè)圖像塊的塊位置信息、所述圖像索引、重復(fù)的所述塊位置信息、重復(fù)的所述圖像索引、所述圖像的拍攝位置、以及所述圖像的拍攝時(shí)間按順序拼接后進(jìn)行加密,得到每個(gè)所述圖像塊的所述標(biāo)識(shí)信息。
優(yōu)選地,所述嵌入單元,還用于將所述圖像的每個(gè)圖像塊對(duì)應(yīng)所述標(biāo)識(shí)信息與所述哈希結(jié)果進(jìn)行異或運(yùn)算,將異或運(yùn)算結(jié)果嵌入到每個(gè)所述圖像塊的所述預(yù)設(shè)數(shù)量的最低有效位中。
優(yōu)選地,所述驗(yàn)證單元,包括:
第二哈希變換模塊,用于將所述圖像基于所述預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像塊三色分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)所述圖像塊的哈希結(jié)果;
圖像索引模塊,用于基于每個(gè)所述圖像塊的哈希結(jié)果對(duì)應(yīng)確定所述圖像的圖像索引;
提取模塊,用于提取每個(gè)所述圖像塊的標(biāo)識(shí)信息三色分量的所述預(yù)設(shè)數(shù)量的最低有效位,對(duì)應(yīng)得到每個(gè)所述圖像塊的所述標(biāo)識(shí)信息;
驗(yàn)證模塊,用于基于每個(gè)所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引對(duì)應(yīng)驗(yàn)證每個(gè)所述圖像塊的拍攝位置以及所述圖像的拍攝時(shí)間。
優(yōu)選地,所述驗(yàn)證模塊,包括:
第一驗(yàn)證子模塊,用于基于每個(gè)所述圖像塊的標(biāo)識(shí)信息中承載的所述圖像索引是否一致,如果一致則判定每個(gè)所述圖像塊均來(lái)自所述圖像;否則,判定所述圖像不完整;
第二驗(yàn)證子模塊,用于判斷所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引與所述標(biāo)識(shí)信息中重復(fù)的所述圖像塊的塊位置、重復(fù)的所述圖像的圖像索引比對(duì),如果一致判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間真實(shí),否則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間無(wú)效;
第三驗(yàn)證子模塊,用于判斷所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引與使用所述圖像塊計(jì)算得到的塊位置、圖像索引是否一致,如果一致則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間真實(shí);否則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間無(wú)效。
本發(fā)明實(shí)施例通過(guò)圖像索引與位置、時(shí)間共同構(gòu)造圖像的標(biāo)識(shí)信息,從而實(shí)現(xiàn)嵌入圖像的位置和時(shí)間等信息與圖像的關(guān)聯(lián),無(wú)法通過(guò)簡(jiǎn)單的修改、復(fù)制等方式篡改信息;對(duì)圖像的三色分量的預(yù)設(shè)數(shù)量的最高有效位計(jì)算哈希結(jié)果,并進(jìn)一步計(jì)算標(biāo)識(shí)信息,標(biāo)識(shí)信息嵌入三色分量的預(yù)設(shè)數(shù)量地最低有效位,使人眼不易分辨原圖像嵌入標(biāo)識(shí)信息,通過(guò)對(duì)預(yù)設(shè)數(shù)量的調(diào)整可以輕易實(shí)現(xiàn)嵌入圖像的標(biāo)識(shí)信息的容量擴(kuò)大,保證了有足夠的字段存儲(chǔ)位置信息和時(shí)間信息。
附圖說(shuō)明
圖1是相關(guān)技術(shù)的數(shù)字水印嵌入圖像的示意圖;
圖2是相關(guān)技術(shù)的數(shù)字水印的結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例中圖像處理方法的流程示意圖;
圖4是本發(fā)明實(shí)施例中用于圖像處理的設(shè)備的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例中圖像嵌入數(shù)字水印的示意圖;
圖6是本發(fā)明實(shí)施例中圖像嵌入數(shù)字水印以及驗(yàn)證數(shù)字水印的流程示意圖。
具體實(shí)施方式
以下結(jié)合附圖及具體實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
首先就使用現(xiàn)有的拍攝技術(shù)拍攝設(shè)備,對(duì)巡檢、走訪等現(xiàn)場(chǎng)情況記錄和審核時(shí)拍攝圖像進(jìn)行驗(yàn)證時(shí)存在的問(wèn)題進(jìn)行說(shuō)明。
技術(shù)1:
使用圖像自帶的可交換圖像文件(exif,exchangeableimagefile)存儲(chǔ)拍攝圖像的信息如位置(經(jīng)緯度)。exif信息是專門為數(shù)碼相機(jī)的圖像設(shè)定的, 可以記錄數(shù)碼圖像的屬性信息和拍攝數(shù)據(jù),主要包括拍攝信息如快門速度、光圈值等,也可以包含全球定位信息。但exif信息未加密,極易被篡改且無(wú)法檢測(cè),無(wú)法保證信息的真實(shí)性。
技術(shù)1的缺點(diǎn)為無(wú)法保證圖像自帶信息的準(zhǔn)確性,任何人都可以很簡(jiǎn)單地修改信息,無(wú)法保證信息的真實(shí)性。
技術(shù)2:
針對(duì)1中信息容易被篡改的情況,對(duì)經(jīng)緯度、時(shí)間等信息加密后嵌入exif信息中。這種技術(shù)方案通過(guò)加密保證了信息難以被篡改,但由于信息與圖像無(wú)關(guān)聯(lián)性,無(wú)法判斷信息與圖像是否相關(guān),可以通過(guò)復(fù)制其他圖像的加密后信息進(jìn)行篡改。
技術(shù)2雖然通過(guò)加密保證了信息不可篡改,但由于位置信息與圖像無(wú)關(guān)聯(lián),可以將圖像b的加密的信息(如位置)復(fù)制到圖像a上。這樣,檢測(cè)圖像a的位置等信息實(shí)質(zhì)為圖像b的信息,同樣無(wú)法保證圖像信息的真實(shí)性和完整性。
技術(shù)3:
數(shù)字水印(digitalwatermarking)技術(shù)是將一些標(biāo)識(shí)信息(即數(shù)字水印)直接嵌入數(shù)字載體當(dāng)中(包括多媒體、文檔、軟件等)或是間接表示(修改特定區(qū)域的結(jié)構(gòu)),且不影響原載體的使用價(jià)值,也不容易被探知和再次修改。但可以被生產(chǎn)方識(shí)別和辨認(rèn)。通過(guò)這些隱藏在載體中的標(biāo)識(shí)信息,可以達(dá)到確認(rèn)信息或者判斷載體是否被篡改等目的。
通過(guò)使用脆弱性數(shù)字水印技術(shù),將位置等標(biāo)識(shí)信息嵌入到圖像中,保證了標(biāo)識(shí)信息與圖像的真實(shí)性和完整性,無(wú)法通過(guò)簡(jiǎn)單修改和復(fù)制數(shù)字水印。
參見(jiàn)圖1,嵌入數(shù)字水印的具體步驟如下:
(1)將圖像劃分為8×16的圖像塊(128像素);
(2)對(duì)每個(gè)圖像塊的128像素每個(gè)像素的7位最高有效位(msb,mostsignificantbit)計(jì)算哈希(hash)結(jié)果;
(3)參見(jiàn)圖2,將塊位置(20bit)、圖像索引(32bit)、重復(fù)的塊位置和重復(fù)的圖像索引(20bit+32bit)和其余信息(24bit,為可以自定義的填充信息 的字段,如位置信息)共計(jì)128bit作為圖像塊的標(biāo)識(shí)信息,經(jīng)過(guò)加密后,與hash結(jié)果做異或(xor)操作;
(4)將xor操作結(jié)果置于圖像塊的128位最低有效位(lsb,leastsignificantbit)中,完成數(shù)字水印嵌入。
檢測(cè)數(shù)字水印的具體步驟如下:
(1)將圖像劃分為8×16的圖像塊(128像素);
(2)對(duì)每個(gè)圖像塊的128像素每個(gè)像素的7位msb拼接得到二值流(每個(gè)像素的7位msb)計(jì)算hash結(jié)果;
(3)將hash結(jié)果與圖像塊的128位lsb做異或操作得到加密的標(biāo)識(shí)信息,并進(jìn)行解密,獲得前述的標(biāo)識(shí)信息(128bit),包括塊位置、圖像索引和其余信息等;
(4)標(biāo)識(shí)信息中的判斷連續(xù)兩個(gè)52bit的部分(標(biāo)識(shí)信息中前104bit均分得到的兩個(gè)部分)是否一致,另外,將圖像塊的標(biāo)識(shí)信息包括(塊位置、圖像索引、其余信息)與圖像塊的實(shí)際標(biāo)識(shí)信息(包括塊位置信息、圖像索引信息以及其余信息)相比較,如果一致則認(rèn)為該圖像塊沒(méi)有被篡改;
(5)對(duì)所有8×16圖像塊進(jìn)行采用(4)驗(yàn)證,如果所有圖像塊均驗(yàn)證通過(guò),認(rèn)為該圖像真實(shí)有效,否則認(rèn)為圖像被篡改,圖像的篡改部分為不通過(guò)步驟(4)檢測(cè)的圖像塊,檢測(cè)精度為8×16。
通過(guò)脆弱數(shù)字水印技術(shù),較好地解決了圖像和信息的關(guān)聯(lián)性問(wèn)題,同時(shí)也保證了標(biāo)識(shí)信息無(wú)法篡改。但由于分塊為8×16,除去塊位置、圖像索引、重復(fù)塊位置和重復(fù)圖像索引(占用104bit),一個(gè)圖像塊128位lsb中僅剩余24bit存儲(chǔ)其余信息(也就是能夠自定義的信息的長(zhǎng)度僅為24bit),長(zhǎng)度不足以存儲(chǔ)需要圖像的位置(拍攝位置)、時(shí)間(拍攝時(shí)間)等信息;如果擴(kuò)大分塊大小,增加存儲(chǔ)信息容量,會(huì)導(dǎo)致對(duì)篡改圖像塊的驗(yàn)證精度下降,另外,圖像索引用于標(biāo)識(shí)圖像,需要有唯一性。
參見(jiàn)圖3,本發(fā)明實(shí)施例記載一種圖像處理方法,包括以下步驟:
步驟101,將圖像基于預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像紅/綠/藍(lán) (r/g/b)分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)圖像塊的哈希結(jié)果。
作為示例,可以對(duì)紅/綠/藍(lán)三色分量相同數(shù)量的最高有效位進(jìn)行哈希變換;考慮到人眼對(duì)對(duì)綠色信息最敏感,其次藍(lán)色,最后才是紅色,從綠/藍(lán)/紅三色分量提取的最高有效位的數(shù)量可以采用遞減的方式,例如從綠色分量提取7位最高有效位,從藍(lán)色分量提取6位最高有效位,從紅色分量提取5位最高有效位,基于所提取的最高有效位計(jì)算圖像塊的哈希結(jié)果。
步驟102,基于每個(gè)圖像塊的哈希結(jié)果對(duì)應(yīng)確定圖像的圖像索引。
可以直接將圖像塊的哈希結(jié)果作為圖像的圖像索引,或者,將圖像的每個(gè)圖像塊的哈希結(jié)果進(jìn)行拼接得到二值流;對(duì)二值流進(jìn)行哈希變換得到圖像的圖像索引,通過(guò)將哈希結(jié)果的二值流再次進(jìn)行哈希轉(zhuǎn)換得到的哈希結(jié)果作為圖像索引,加快了計(jì)算速度,也保證了圖像索引的唯一性并且與圖像相關(guān)。
步驟103,基于每個(gè)圖像塊的塊位置、圖像的圖像索引、圖像的拍攝位置以及圖像的拍攝時(shí)間構(gòu)造每個(gè)圖像塊的標(biāo)識(shí)信息。
將每個(gè)圖像塊的塊位置信息、圖像索引、重復(fù)的塊位置信息、重復(fù)的圖像索引、圖像的拍攝位置、以及圖像的拍攝時(shí)間按順序拼接后進(jìn)行加密,得到每個(gè)圖像塊的標(biāo)識(shí)信息。
步驟104,將每個(gè)圖像塊的標(biāo)識(shí)信息嵌入每個(gè)圖像塊的三色分量的預(yù)設(shè)數(shù)量的最低有效位中。
將圖像的每個(gè)圖像塊對(duì)應(yīng)標(biāo)識(shí)信息與哈希結(jié)果進(jìn)行異或運(yùn)算,將異或運(yùn)算結(jié)果嵌入到每個(gè)圖像塊的三色分量的預(yù)設(shè)數(shù)量的最低有效位中,也就是每個(gè)圖像塊的三色分量的預(yù)設(shè)數(shù)量的最低有效位共同來(lái)存儲(chǔ)承載有標(biāo)識(shí)信息的抑或運(yùn)算結(jié)果,至此,完成對(duì)圖像的數(shù)字水印的嵌入。
每個(gè)圖像塊的異或運(yùn)算結(jié)果嵌入到對(duì)應(yīng)圖像塊的綠/藍(lán)/紅三色分量的最低有效位的數(shù)量可以采用遞增的方式。
例如,如前所述,從綠色分量提取7位最高有效位,從藍(lán)色分量提取6位最高有效位,從紅色分量提取5位最高有效位,基于所提取的最高有效位計(jì)算 圖像塊的哈希結(jié)果,提取的部分為不修改(也就是不嵌入承載標(biāo)識(shí)信息的異或運(yùn)算結(jié)果的部分),由于綠色分量提取前7位最高有效位作哈希變換,則前7位最高有效位后續(xù)不做嵌入水印(標(biāo)識(shí)信息)使用,僅在綠色分量的剩余部分也就是第8位(也就是1位最低有效位)修改(也就是嵌入承載標(biāo)識(shí)信息的異或運(yùn)算結(jié)果);由于紅色分量提取前5位最高有效位做哈希變換,則后續(xù)可以將紅色分量的剩余3位最低有效位進(jìn)行數(shù)字水印嵌入(也就是嵌入承載標(biāo)識(shí)信息的異或運(yùn)算結(jié)果);藍(lán)色分量提取前6位最高有效位做哈希變換,則后續(xù)可以將藍(lán)色分量的剩余2位最低有效位進(jìn)行數(shù)字水印嵌入(也就是嵌入承載標(biāo)識(shí)信息的異或運(yùn)算結(jié)果)。
這樣,圖像塊的綠色分量?jī)H修改1位,藍(lán)色分量?jī)H修改2位,紅色分量?jī)H修改3位即實(shí)現(xiàn)了數(shù)字水印的嵌入,由于人眼敏感的綠色修改位數(shù)最小,因此數(shù)字水印的嵌入不會(huì)對(duì)人眼感知圖像產(chǎn)生明顯的影響。
后續(xù)步驟105將描述針對(duì)采用前述步驟嵌入數(shù)字水印的圖像進(jìn)行驗(yàn)證。
步驟105,基于從每個(gè)圖像塊的三色分量的預(yù)設(shè)數(shù)量的最低有效位中提取的標(biāo)識(shí)信息驗(yàn)證圖像。
與上述嵌入標(biāo)識(shí)信息的步驟對(duì)應(yīng),從圖像中提取標(biāo)識(shí)信息通過(guò)以下步驟實(shí)現(xiàn):
(1)將圖像基于預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像塊三色分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)圖像塊的哈希結(jié)果;
(2)基于每個(gè)圖像塊的哈希結(jié)果對(duì)應(yīng)確定圖像的圖像索引;
(3)提取每個(gè)圖像塊的標(biāo)識(shí)信息三色分量的預(yù)設(shè)數(shù)量的最低有效位,對(duì)應(yīng)得到每個(gè)圖像塊的標(biāo)識(shí)信息;
如前,圖像塊的標(biāo)識(shí)信息中包括:塊位置、圖像索引、重復(fù)的塊位置、重復(fù)的圖像索引、圖像的拍攝位置以及圖像的拍攝時(shí)間;
(4)基于每個(gè)標(biāo)識(shí)信息中圖像塊的塊位置、圖像的圖像索引、重復(fù)的塊位置、重復(fù)的圖像索引對(duì)應(yīng)驗(yàn)證每個(gè)圖像塊的拍攝位置以及圖像的拍攝時(shí)間。
可以采用以下方式至少之一:
1)基于每個(gè)圖像塊的標(biāo)識(shí)信息中承載的圖像索引是否一致,如果圖像中所有圖像塊的圖像索引僅一致,則判定每個(gè)圖像塊均來(lái)自圖像,圖像完整;否則,判定圖像經(jīng)過(guò)修改。
2)由于在前述步驟103中構(gòu)造圖像塊的標(biāo)識(shí)信息時(shí),圖像塊的塊位置與重復(fù)的圖像塊的塊位置必然一致,圖像的圖像索引與重復(fù)的圖像索引必然一致;因此,通過(guò)判斷標(biāo)識(shí)信息中圖像塊的塊位置、圖像的圖像索引與標(biāo)識(shí)信息中重復(fù)的圖像塊的塊位置、重復(fù)的圖像索引比對(duì),如果圖像塊的塊位置與重復(fù)的圖像塊的塊位置一致,圖像的圖像索引與重復(fù)的圖像索引一致,則判定標(biāo)識(shí)信息中圖像的拍攝位置以及圖像的拍攝時(shí)間真實(shí),否則,判定標(biāo)識(shí)信息中圖像的拍攝位置以及圖像的拍攝時(shí)間無(wú)效。
3)塊位置信息即圖像塊在圖像中的位置(行、列),根據(jù)圖像塊在圖像中的位置計(jì)算得到圖像塊的實(shí)際的塊位置信息,并基于前述步驟102的方式計(jì)算圖像塊實(shí)際的索引信息,
判斷標(biāo)識(shí)信息中圖像塊的塊位置、圖像的圖像索引與使用圖像塊計(jì)算得到的實(shí)際的塊位置、圖像索引是否一致,如果一致則判定標(biāo)識(shí)信息中圖像的拍攝位置以及圖像的拍攝時(shí)間;否則判定標(biāo)識(shí)信息中圖像的拍攝位置以及圖像的拍攝時(shí)間無(wú)效。
參見(jiàn)圖4,本發(fā)明實(shí)施例還記載一種設(shè)備,包括:
分割單元100,用于將圖像基于預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像塊三色分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)所述圖像塊的哈希結(jié)果;
圖像索引單元200,基于每個(gè)所述圖像塊的哈希結(jié)果對(duì)應(yīng)確定所述圖像的圖像索引;
標(biāo)識(shí)信息構(gòu)造單元300,用于基于每個(gè)所述圖像塊的塊位置、所述圖像的圖像索引、所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間構(gòu)造每個(gè)所述圖像塊的標(biāo)識(shí)信息;
嵌入單元400,用于將每個(gè)所述圖像塊的標(biāo)識(shí)信息嵌入每個(gè)所述圖像塊的 三色分量的所述預(yù)設(shè)數(shù)量的最低有效位中;
驗(yàn)證單元500,用于基于從每個(gè)所述圖像塊的三色分量的所述預(yù)設(shè)數(shù)量的最低有效位中提取的所述標(biāo)識(shí)信息驗(yàn)證所述圖像。
所述圖像索引單元200,包括:
拼接模塊,用于將所述圖像的每個(gè)所述圖像塊的哈希結(jié)果進(jìn)行拼接得到二值流;
第一哈希變換模塊,用于對(duì)所述二值流進(jìn)行哈希變換得到所述圖像的所述圖像索引;
標(biāo)識(shí)信息構(gòu)造單元,還用于將每個(gè)圖像塊的塊位置信息、所述圖像索引、重復(fù)的所述塊位置信息、重復(fù)的所述圖像索引、所述圖像的拍攝位置、以及所述圖像的拍攝時(shí)間按順序拼接后進(jìn)行加密,得到每個(gè)所述圖像塊的所述標(biāo)識(shí)信息。
所述嵌入單元400,還用于將所述圖像的每個(gè)圖像塊對(duì)應(yīng)所述標(biāo)識(shí)信息與所述哈希結(jié)果進(jìn)行異或運(yùn)算,將異或運(yùn)算結(jié)果嵌入到每個(gè)所述圖像塊的所述預(yù)設(shè)數(shù)量的最低有效位中。
所述驗(yàn)證單元500,包括:
第二哈希變換模塊,將所述圖像基于所述預(yù)設(shè)分辨率進(jìn)行分割,將分割得到的圖像塊三色分量的預(yù)設(shè)數(shù)量的最高有效位進(jìn)行哈希變換,獲取每個(gè)所述圖像塊的哈希結(jié)果;
圖像索引模塊,用于基于每個(gè)所述圖像塊的哈希結(jié)果對(duì)應(yīng)確定所述圖像的圖像索引;
提取模塊,用于提取每個(gè)所述圖像塊的標(biāo)識(shí)信息三色分量的所述預(yù)設(shè)數(shù)量的最低有效位,對(duì)應(yīng)得到每個(gè)所述圖像塊的所述標(biāo)識(shí)信息;
驗(yàn)證模塊,用于基于每個(gè)所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引對(duì)應(yīng)驗(yàn)證每個(gè)所述圖像塊的拍攝位置以及所述圖像的拍攝時(shí)間。
所述驗(yàn)證單元500,包括:
第一驗(yàn)證子模塊,用于基于每個(gè)所述圖像塊的標(biāo)識(shí)信息中承載的所述圖像 索引是否一致,如果一致則判定每個(gè)所述圖像塊均來(lái)自所述圖像;否則,判定所述圖像經(jīng)過(guò)修改;
第二驗(yàn)證子模塊,用于判斷所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引與所述標(biāo)識(shí)信息中重復(fù)的所述圖像塊的塊位置、重復(fù)的所述圖像的圖像索引比對(duì),如果一致判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間真實(shí),否則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間無(wú)效;
第三驗(yàn)證子模塊,用于判斷所述標(biāo)識(shí)信息中所述圖像塊的塊位置、所述圖像的圖像索引與使用所述圖像塊計(jì)算得到的塊位置、圖像索引是否一致,如果一致則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間真實(shí);否則判定所述標(biāo)識(shí)信息中所述圖像的拍攝位置以及所述圖像的拍攝時(shí)間無(wú)效。
設(shè)備中的功能單元可由設(shè)備中的處理器如微處理器、圖形處理器、專用集成電路(asic)或邏輯可編程門陣列(fpga)實(shí)現(xiàn)。
下面結(jié)合圖5至圖6示出的具體示例進(jìn)行說(shuō)明。
參見(jiàn)圖6,嵌入數(shù)字水印主要分為以下步驟:
(1)圖像的位置信息、時(shí)間信息采集
以采用android系統(tǒng)為例,為了采集位置信息,使用android系統(tǒng)locationmanager類(locationmanager系統(tǒng)服務(wù)是位置服務(wù)的核心組件,提供了一系列方法來(lái)處理與位置相關(guān)的問(wèn)題),也可以使用第三方定位軟件開(kāi)發(fā)套件(sdk)或外接設(shè)備等方法獲取經(jīng)緯度形式的位置信息。時(shí)間信息可以通過(guò)java.util.date類或網(wǎng)絡(luò)時(shí)間協(xié)議(ntp,networktimeprotocol)服務(wù)器獲取。
(2)拍攝圖像
使用intent調(diào)用系統(tǒng)攝像頭或調(diào)用第三方sdk進(jìn)行拍照,獲取位圖(bitmap)信息用于下一步嵌入數(shù)字水印。
(3)參見(jiàn)圖5,將圖像分割為8×16的圖像塊,并將紅、綠、藍(lán)(r、g、b)三種分量并分開(kāi)保存。根據(jù)人類視覺(jué)系統(tǒng)(hvs,humanvisualsystem),人眼對(duì)綠色信息最敏感,其實(shí)次藍(lán)色,最后才是紅色。所以,分別將圖像塊中 各像素的r、b、g分量的高5、6、7位msb進(jìn)行hash變換,獲得hash結(jié)果。
(4)重復(fù)步驟(3)直到圖像完全分解完成并獲得每個(gè)圖像塊的hash結(jié)果,這時(shí)候?qū)@取的所有圖像塊的hash結(jié)果拼接為二值流,再對(duì)二值流進(jìn)行hash變換,將二值流的hash結(jié)果作為圖像索引。
(5)對(duì)于每個(gè)圖像塊,將圖像塊的塊位置信息、圖像索引、重復(fù)的塊位置信息、重復(fù)的圖像索引、經(jīng)緯度信息、時(shí)間信息按順序拼接后進(jìn)行加密,作為圖像塊的數(shù)字水印。
(6)對(duì)每個(gè)圖像塊,將步驟(3)中得到的各圖像塊的hash結(jié)果和步驟(5)中的數(shù)字水印做異或運(yùn)算,將結(jié)果分別嵌入到r、b、g分量中的低3、2、1位lsb中,完成對(duì)數(shù)字水印的嵌入。
驗(yàn)證圖像真實(shí)性主要分為以下步驟:
(1)將圖像分割為8×16的圖像塊,并將圖像塊的r、b、g三種分量并分開(kāi)保存。分別將圖像塊中r、b、g分量的高5、6、7位msb進(jìn)行hash變換,獲得hash結(jié)果。
(2)重復(fù)步驟(1)直到圖像完全分解完成,將獲取的所有圖像塊的hash結(jié)果拼接為二值流,再對(duì)二值流進(jìn)行hash,將hash結(jié)果作為圖像索引,圖像索引用于確認(rèn)所有圖像塊是否來(lái)自于同一圖像,如果分割得到的圖像塊的圖像索引一致,則判定分割得到的圖像塊來(lái)自同一圖像,圖像完整。
(3)提取每個(gè)圖像塊的r、b、g分量的低3、2、1位lsb,和步驟(1)中的hash結(jié)果進(jìn)行異或操作,異或操作的結(jié)果(加密的標(biāo)識(shí)信息)再進(jìn)行解密得到標(biāo)識(shí)信息。
(4)對(duì)數(shù)字水印進(jìn)行分解,得到塊位置信息、圖像索引、重復(fù)的塊位置信息、重復(fù)的圖像索引、經(jīng)緯度信息、時(shí)間信息,如果塊位置信息、圖像索引與對(duì)應(yīng)的重復(fù)塊位置信息相同,圖像索引與重復(fù)的圖像索引相同,(如果對(duì)嵌入的數(shù)字水印進(jìn)行修改,會(huì)導(dǎo)致塊位置信息、圖像索引與對(duì)應(yīng)的重復(fù)部分不一致),則初步認(rèn)為該圖像塊是真實(shí)的;塊位置信息即圖像塊在圖像中的位置(行、列), 可以根據(jù)圖像塊在圖片中的位置計(jì)算得到實(shí)際的塊位置信息,與從圖像塊的數(shù)字水印中分解得到的塊位置信息比對(duì),如果對(duì)嵌入塊位置、圖像索引進(jìn)行修改,會(huì)導(dǎo)致塊位置、圖像索引與重復(fù)部分不一致,檢測(cè)是否一致就可以知道圖像塊是否進(jìn)行了修改。
對(duì)所有圖像塊進(jìn)行重復(fù)操作,匯總所有圖像塊的塊位置信息、圖像索引,根據(jù)匯總的塊位置、圖像索引進(jìn)一步判斷圖像塊是否是真實(shí)的:如果各圖像塊的塊位置不連續(xù),或者各圖像塊的圖像索引不一致,則認(rèn)為該圖像經(jīng)過(guò)篡改。
其中圖像索引一致且塊信息連續(xù)的部分,仍可認(rèn)為是真實(shí)的,其余部分為被篡改部分。如果存在篡改部分,則認(rèn)為圖像整體已經(jīng)被破壞,該圖像不真實(shí)。
(5)如果判斷該圖像真實(shí),提取出位置、時(shí)間等信息與圖像中的顯式嵌入的位置、時(shí)間進(jìn)行對(duì)比,如果一致認(rèn)為該圖像拍攝時(shí)間、拍攝地點(diǎn)是可靠的。將經(jīng)緯度信息在地圖上顯示出來(lái),加上時(shí)間信息和實(shí)際情況判斷圖像是否為巡檢基站或走訪客戶時(shí)拍攝。
相比于技術(shù)1和技術(shù)2,本發(fā)明實(shí)施例通過(guò)圖像索引與位置、時(shí)間共同構(gòu)造圖像的標(biāo)識(shí)信息,從而實(shí)現(xiàn)嵌入圖像的位置和時(shí)間等信息與圖像的關(guān)聯(lián),本發(fā)明實(shí)施例保證了嵌入位置和時(shí)間等信息與圖像相關(guān),無(wú)法通過(guò)簡(jiǎn)單的修改、復(fù)制等方式篡改信息且能夠通過(guò)檢測(cè)。
相比于技術(shù)3,本發(fā)明考慮到了篡改定位精度和實(shí)際嵌入數(shù)據(jù)量的情況,提出一種基于人類視覺(jué)的嵌入方式(對(duì)圖像的三色分量的預(yù)設(shè)數(shù)量的最高有效位計(jì)算哈希結(jié)果,并進(jìn)一步計(jì)算標(biāo)識(shí)信息,標(biāo)識(shí)信息嵌入三色分量的預(yù)設(shè)數(shù)量地最低有效位),將嵌入的標(biāo)識(shí)信息的容量相對(duì)現(xiàn)有技術(shù)擴(kuò)大2倍,保證了有足夠的字段存儲(chǔ)位置信息和時(shí)間信息,且人眼不易分辨出原圖像嵌入了數(shù)字水印。另外,通過(guò)將塊hash結(jié)果再次hash變換的結(jié)果作為圖像索引,加快了計(jì)算速度,也保證了圖像索引的唯一性。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ) 介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、只讀存儲(chǔ)器(rom,read-onlymemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
或者,本發(fā)明上述集成的單元如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明實(shí)施例的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)相關(guān)技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分。而前述的存儲(chǔ)介質(zhì)包括:移動(dòng)存儲(chǔ)設(shè)備、ram、rom、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。