產生可視化二維碼的方法
【技術領域】
[0001] 本發明涉及的是一種圖像處理領域的技術,具體是一種生成目標圖像的半色調圖 像,并將它與二維碼合并,使二維碼攜帶圖像信息,簡化布置二維碼的操作,即"視覺碼"的 方法。
【背景技術】
[0002] 隨著智能手機的普及以及互聯網與多媒體通信的快速發展,二維碼在生活中出現 的頻率大大增加。在實際的應用中,二維碼出現在網頁,海報以及其他宣傳資料中是,往往 由于其突兀的機器碼形式影響畫面美感,在加入二維碼的時候只能將其放置在角落等不受 注意的地方,但這又影響宣傳效果。同時由于僅僅從圖像上來說,二維碼本身并不具備任何 意義,只有被識別器讀取后才能得到有用的信息,使得用戶在掃描解碼之前難以得知二維 碼的內容。而視覺碼可以在信息的傳遞中具有更大的優勢,攜帶原有信息的同時與圖片結 合,使得二維碼在機器可識別的同時可以被人所感知。
[0003] 隨著電腦性能的發展,越來越多復雜度較高的算法被用于提高印刷品圖像的質 量,基于迭代與搜索的算法能夠使得半色調圖像在特定的人眼視覺模型下得到最優的半色 調圖像效果,核心算法正式基于這樣的思想,用迭代的方法計算半色調圖像每個像素的顏 色。每次迭代都將變換一系列的像素,最終變換的點數量將會收斂,此時算法結束。基于這 種方法可以得到目前質量最好的半色調圖像。
[0004] 經過對現有技術的文獻檢索發現,Hung - Kuo Chu,等人在〃ACM Transactions on Graphics(TOG) - Proceedings of ACM SIGGRAPH Asia 2013"Article No. 217 上發表的 Halftone QR codes (半色調二維碼)文章中提出了一種將半色調與二維碼結合的方法,該 方法先生成二維碼和半色調圖像,計算圖片的重要性權重,然后細分每個二維碼像素為3*3 塊,計算不同組合對識別率的影響,然后評估每個模塊的可讀性與識別率,以不同的比例混 合可讀性與識別率,使用近似的全局最小能量算法使得全局能量最小,達到可讀性與識別 率的平衡。該方法由于先生成二維碼以及半色調圖像,沒有考慮二維碼中心點顏色對半色 調圖像局部平均灰度的影響,因此生成的圖片可以看出明顯的二維碼隨機色塊,從而影響 圖像的規整,影響圖像的效果。
[0005] 中國專利文獻號0附03886548六公開(公告)日2014.06.25,公開了一種用于將 二維碼與圖像融合的方法和裝置。該技術的方法包括以下步驟:根據第一圖像的屬性信息 以及適用于該第一圖像的二維碼中點的屬性信息,對所述二維碼中一部分點的屬性進行調 整,以使該一部分點的屬性更接近其在第一圖像中所對應區域的屬性,其中,未調整屬性的 所述一部分點所屬色塊的二維碼識別結果,與該一部分點在第一圖像中所對應區域的二維 碼識別結果不同;將點的屬性調整后的二維碼與所述第一圖像融合,獲得第二圖像。該技術 使得二維碼與環境色更為協調。但該技術無法充分利用二維碼色塊的面積,而只是將顯色 部分顏色根據第一圖像進行調整,色塊顯色部分可以為各種不同形狀,該技術無法選擇合 適形狀從而進一步減小生成圖片與第一圖像的差異。
[0006] 中國專利文獻號CN103886628A公開(公告)日2014. 06. 25,公開了一種二維碼生 成方法和裝置,其中,該方法包括:獲取待編碼信息和背景圖像,并根據待編碼信息生成二 維碼分布矩陣,其中,二維碼分布矩陣中包括多個基礎樣式;獲取二維碼分布矩陣的灰度信 息和背景圖像的灰度信息;根據二維碼分布矩陣的灰度信息和背景圖像的灰度信息省略至 少一個基礎樣式,以根據省略的至少一個基礎樣式重置二維碼分布矩陣;將重置后的二維 碼分布矩陣與背景圖像進行融合以生成二維碼。但該技術僅對部分色塊產生效果,通過改 變二維碼分布矩陣忽略一部分色塊,使該部分色塊與背景擁有相同的顏色屬性來提高沉浸 度,而無法對另一部分點產生影響,但是對圖片視覺效果產生較大影響的是與背景圖顏色 屬性不同的色塊;并且該技術對每個色塊進行統一處理。
【發明內容】
[0007] 本發明針對現有技術在已經生成的半色調圖像基礎上生成半色調二維碼,忽視了 二維碼對原來半色調圖像的影響,使二維碼色塊成為圖像噪聲,影響圖像質量等不足,提出 一種產生可視化二維碼的方法,利用DBS(direct binary search,直接折半查找法)方法嵌 入半色調圖像,解決了原有方法中生成圖像噪點明顯的情況,產生一種與原始圖像高度相 似的"視覺二維碼碼"。
[0008] 由于二維碼的黑色和白色將被機器識別為0或者1,且識別僅與色塊中心部分(即 主要顯色部分)有關。如果即把二維碼的每個色塊細分(例如分成3行3列的9個部分), 只要保持中心顯色部分不變,即使改變非顯色部分的顏色,二維碼依舊可以被正確識別。基 于這個原理,可以保持原圖每個色塊中心顯色部分不變,而改變其他區域的顏色,使它的視 覺效果更加接近于目標圖像,從而提高二維碼的視覺效果。
[0009] 本發明是通過以下技術方案實現的:
[0010] 本發明首先生成二維碼,然后讀入圖像并進行預處理,再基于二維碼,對預處理后 的圖像采用直接折半查找法產生半色調圖像。
[0011] 所述的二維碼編碼是指:采用ISO/IEC 18004:2006標準,在H級糾錯能力下對字 符串進行二維碼編碼,包括:不可修改部分和可修改部分。
[0012] 所述的預處理包括但不限于:對待處理圖像轉為灰度圖像、改變圖像大小;對二 維碼進行細分處理,預處理后后圖像與二維碼的大小相同。
[0013] 所述的細分處理是指:將二維碼每個像素細分為9X9矩陣,其中中心區域為9X9 矩陣中心的3X3矩陣,該3X3矩陣的顏色在半色調二維碼生成過程中不作調整維持不變。
[0014] 所述的細分是指:將二維碼中每個色塊以一個kXk像素組成的點陣為單位進行 處理;優選地:由于二維碼圖片為每個色塊用1像素表示,則將生成的二維碼圖片長寬同時 放大k倍,則放大后每個色