?

PHP圖像合成技術和PHPqrcode API接入的研究

2020-05-25 10:47余曉江
大眾科學·下旬 2020年3期

余曉江

摘 要:近年來圖像合成被大量使用在信息壓縮、動畫演算、圖像修復和編輯等場景,已經成為計算機圖形學一個重要的研究課題。在探討了二維圖像合成技術的基本理論的基礎上,本文闡述了利用PHP QrCode來進行圖像合成的方法,并探析了PHP QrCode的網絡接入方法及良好的圖像合成成效。

關鍵詞:圖像合成;PHP;API;QrCode

紋理在基于圖像的真實感繪制中起到了非常重要的作用,這是因為它可以用來描述很多表面特征。通過紋理合成可以獲取一些新紋理。因此,利用紋理合成技術合成新紋理,將其用于真實感繪制中,已經成為當前計算機圖形學中的一個重要的研究課題。

1.理論基礎

1.1 PHP語言特點

PHP作為腳本語言,在語法上極其相似于C、Perl語言,我們通常用PHP來開發動態的網站系統。相比較而言,PHP在動態網頁開發中占據以下幾方面優勢,因而我們將PHP選為開發語言。

(1)開放性強,在部分開源平臺上,開發者會在平臺上開放PHP代碼,以供學習者學習并運用.

(2)PHP具有強大的可移植性,它的運行條件可以滿足不同的平臺,這對開發人員來說,能夠自由安全的基礎上選擇運行平臺。

(3)PHP語言非常便捷,使用容易,開發便利,且具有良好的交互性,可以把代碼鑲嵌入HTML來開發動態網站。

(4)PHP可以面向對象,我們都知道PHP只是腳本語言,但是面向對象的思想同樣可以運用于PHP。

除此之外,PHP平臺具有多樣化,且擁有多種不同風格軟件供開發者使用。PHP還對鏈接數據庫提供了許多便捷路徑,這也是PHP在互聯網開發中得到廣泛應用的直接原因,同時PHP有API可以直接調用protocol、IMAP、POP3等通訊協議

1.2 圖像合成技術

為了更好理解二維圖像紋理合成技術,下面介紹與之相關的基本概念,并在此基礎上分類總結合成算法。

(1)MRF模型

圖像本身具有一定的局部紋理特點,這些特征片區之內所有的像素只和空間鄰域內的像素集合有關聯,這種現象完全遵照馬爾可夫隨機場理論。故而圖像合成過程,尤其是二維圖像合成一般使用MRF模型,基于MRF的紋理合成思想:對于當前待合成的像素或塊,統計其空間鄰域或特征區塊的交叉區塊與紋理樣圖中所有像素或塊的SSD,繼而基于相似度匹配方法來挑出相似度最高的鄰域的特征區塊,最后將這些區塊的像素復制到輸出圖像中進行合成。

(2)像素的鄰域及其鄰域匹配

像素的鄰域可定義如下:紋理合成中,以該像素為中心的矩形區域與已合成像素的相交區域。像素的鄰域匹配實際上是選擇鄰域誤差較小的鄰域過程。具體地,基于點的紋理合成中,計算出輸出圖像中當前像素與紋理樣圖中每一個像素的鄰域誤差后,選擇誤差較小的鄰域作為最佳匹配,這個過程稱為鄰域匹配。

領域誤差是指像素q1,q2空間鄰域中對應位置處的SSD。L2距離定義如下

其中,N1為像素q1的鄰域,N2為像素q2的鄰域,從與從的形狀相同,p是N1與N2中對應位置處的像素。

(3)基于塊的紋理合成

基于塊的紋理合成,以像素塊為基本單位,每次在輸出圖像中合成一個塊,直至輸出圖像被填滿為止。每次進行塊合成時,根據MRF鄰域匹配的準則,首先在輸出圖像中提取對應塊的鄰域;然后在輸入紋理樣圖中,根據鄰域塊的邊界匹配準則,查找最相似的圖像塊,并將該圖像塊拷貝到輸出圖像中。

2.PHP在圖像合成中的應用

2.1 PHP QRCode

PHP QRCode是一個基于GNU通用公共許可協議的開源庫,用于生成二維碼、二維條形碼?;贚ib-Qrencode C依賴庫,提供了創建二維碼圖像(PNG, JPEG多虧了GD2)的API。完全在PHP中實現,沒有外部依賴函數(除特殊需求外)。該函數庫有以下特點:

可以將數字,字母加數字及8位的漢字編碼的字符轉化為二維碼;

完全在PHP中實現,除了GD2之外沒有外部依賴;

合成圖像可以導出為PNG, JPEG格式,也可以導出為位表;

配置簡單;

可以用于加速計算的數據緩存;

具備調試數據轉儲、錯誤日志記錄、時間基準測試功能;

2.2 PHP API接入

作為用戶與PHP軟件之間的接口,用戶通過接入API,可以快速、有效和安全地操縱平臺中的各類軟件,以處理自身程序中的各種問題及需求。該接口是為程序員在編程時使用的,系統和應用程序通過這個接口,可在執行中訪問系統中的資源和取得OS的服務,它也是程序取得操作系統服務的唯一途徑。大多數軟件程序接口是由一組系統調用(system call)組成,每一個系統調用都是一個能完成特定功能的子程序。

PHP QrCode作為PHP平臺的API之一,其接入規則與其他API基本無異,其流程如下圖所示。

phpqrcode.php提供了一個關鍵的png方法,其中參數$text表示生成二位的信息文本;參數$outfile表示是否輸出二維碼圖片文件,默認否;參數$level表示容錯率,也就是有被覆蓋的區域還能識別,分別是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%); 參數$size表示生成圖片大小,默認是3;參數$margin表示二維碼周圍邊框空白區域間距值;參數$saveandprint表示是否保存二維碼并顯示。

在調用API完成之后,只需要按照上述函數語法進行對phpqrcode進行配置即可獲得想要的合成圖像效果。

3.PHP QrCode使用成效

在探討了二維圖像合成技術的基本理論的基礎上,本文闡述了利用PHP QrCode來進行圖像合成的方法,其合成圖像如上圖所示。上圖即將文字信息成功的轉碼并合成一副二維圖像,通過掃描該圖像可以看到文本的摘要信息。

參考文獻

[1]顧佳玲,彭宏京. 基于隨機查找的并行大規模紋理合成[J].系統仿真學報,2015, 21(8):2441-2445.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合