希仁娜·亞森+李湘
摘 要: 為了實(shí)現(xiàn)遠(yuǎn)程圖像處理可利用Internet建立網(wǎng)絡(luò)平臺(tái),用戶通過(guò)客戶端提交待識(shí)別的圖像,由服務(wù)器端調(diào)用圖像處理程序進(jìn)行圖像處理后并返回結(jié)果給用戶。這樣可以大大減少人力、物力資源的消耗。網(wǎng)絡(luò)平臺(tái)開(kāi)發(fā)可采用Apache+PHP+MySQL的組合,圖像處理部分可采用VC++或Matlab完成。關(guān)鍵在于需正確地在PHP頁(yè)面中調(diào)用圖像處理程序,最終實(shí)現(xiàn)遠(yuǎn)距離圖像處理。對(duì)網(wǎng)絡(luò)平臺(tái)的結(jié)構(gòu)、設(shè)計(jì)、圖像處理的步驟及如何正確在PHP頁(yè)面中調(diào)用圖像處理程序進(jìn)行了說(shuō)明,并闡述了開(kāi)發(fā)此類系統(tǒng)的可行性、必要性。
關(guān)鍵詞: 遠(yuǎn)程圖像處理; 網(wǎng)絡(luò)平臺(tái); 圖像處理程序; 調(diào)用程序
中圖分類號(hào): TN919?34; TP393 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)14?0114?03
Remote digital image processing based on Internet
XI Ren?na·YA Sen, LI xiang
(Department of Computer and Information Engineering, Xinjiang Agricultural University, Urumqi 830052, China)
Abstract: The remote image processing can be realized by establishing a network platform by the aid of Internet, in which the client delivers the images under recognition to the server?side which invokes image processing program to execute the image processing and then returns the results to the client. In this way, the consumption of manpower and material resources can be reduced greatly. The combination of Apache + PHP + MySQL can be adopted in Network platform development, and VC++ or Matlab can br used for image processing part. The key step is to correctly call the image processing program in the PHP page to realize the remote image processing. In this paper, the structure, design and image processing steps of the network platform, and how to correctly invoke the image processing program in the PHP page are illuminated. The feasibility and necessity of developing such a system are elaborated.
Keywords: remote image processing; network platform; image processing program; invoking
0 引 言
目前常用的圖像識(shí)別方法主要有兩種:
(1) 通過(guò)圖像采集設(shè)備將圖像直接輸入到計(jì)算機(jī),或?qū)⒉杉玫膱D像存入計(jì)算機(jī),再通過(guò)圖像識(shí)別軟件在本機(jī)進(jìn)行識(shí)別。
(2) 基于視覺(jué)技術(shù)的圖像識(shí)別。即利用監(jiān)控設(shè)備采集圖像,利用計(jì)算機(jī)局域網(wǎng)傳遞到計(jì)算機(jī),由圖像識(shí)別系統(tǒng)進(jìn)行識(shí)別。
第一種方法主要采用嵌入式開(kāi)發(fā),由圖像采集設(shè)備采集完圖像后直接進(jìn)行識(shí)別,此類方法主要是針對(duì)目標(biāo)對(duì)象的確認(rèn),常用在指紋、人臉識(shí)別中,整個(gè)過(guò)程在本地完成。第二種方法主要采用基于客戶/服務(wù)器模式的計(jì)算機(jī)網(wǎng)絡(luò),在短距離內(nèi)對(duì)目標(biāo)對(duì)象進(jìn)行識(shí)別,如:汽車牌照、機(jī)場(chǎng)跑道異物的識(shí)別等。此類系統(tǒng)主要用于對(duì)監(jiān)控環(huán)境中出現(xiàn)的物體或?qū)ο筮M(jìn)行識(shí)別,根據(jù)識(shí)別結(jié)果采用對(duì)應(yīng)措施。
若用戶對(duì)某物需要由專家或?qū)I(yè)技術(shù)人員進(jìn)行識(shí)別,則需要將圖像傳遞給相關(guān)人員再由相關(guān)人員將結(jié)果反饋給用戶,這樣做將消耗較長(zhǎng)的時(shí)間,有可能還會(huì)喪失處理問(wèn)題的最佳時(shí)間。如農(nóng)、林業(yè)中病蟲害識(shí)別。
21世紀(jì)是以計(jì)算機(jī)網(wǎng)絡(luò)為核心的信息時(shí)代,以Internet為代表的計(jì)算機(jī)網(wǎng)絡(luò)得到了飛速的發(fā)展。大家可利用Internet的連通性和共享性,將采集好的圖像通過(guò)客戶端傳遞到服務(wù)器端,再由服務(wù)器端自動(dòng)調(diào)用圖像處理程序?qū)D像進(jìn)行識(shí)別,并將識(shí)別結(jié)果反饋給客戶端。即建立一個(gè)基于瀏覽器/服務(wù)器模式的圖像識(shí)別系統(tǒng),這樣在很大程度上節(jié)省了人力資源和時(shí)間,也緩解了鑒定需求的日益增加與專家相對(duì)較少這一尖銳矛盾。
1 系統(tǒng)總體設(shè)計(jì)與實(shí)現(xiàn)
基于Internet的圖像識(shí)別,需要搭建網(wǎng)絡(luò)平臺(tái)供用戶使用。整個(gè)系統(tǒng)可分為用戶操作平臺(tái)和服務(wù)器處理平臺(tái)。用戶操作平臺(tái)應(yīng)簡(jiǎn)單易操作,如果是公益性的平臺(tái)就無(wú)需用戶注冊(cè),用戶只需提交圖片,為了確保準(zhǔn)確性可將用戶提交的圖片在網(wǎng)頁(yè)中顯示,使用戶確認(rèn)所需識(shí)別的圖片后再提交到服務(wù)器端進(jìn)行識(shí)別。圖像文件先提交到服務(wù)器端的文件夾中,圖像文件的基本信息(如:文件名、圖像類型、提交時(shí)間等)則提交到數(shù)據(jù)庫(kù)中,由服務(wù)器端調(diào)用圖像識(shí)別程序從數(shù)據(jù)庫(kù)中根據(jù)所提交圖像文件的文件名從文件夾中提取該文件進(jìn)行識(shí)別,并將識(shí)別結(jié)果返回到客戶端。如圖1系統(tǒng)總體結(jié)構(gòu)圖所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
2 網(wǎng)絡(luò)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
在諸多網(wǎng)絡(luò)平臺(tái)開(kāi)發(fā)軟件中比較流行的搭配方案為:Apache+PHP+MySQL[1]。APache 是目前應(yīng)用最廣的 Web 服務(wù)器,PHP 是一種類似ASP的服務(wù)器端腳本語(yǔ)言,而MySQL是一個(gè)小巧的數(shù)據(jù)庫(kù)系統(tǒng)軟件,特別適用于網(wǎng)站建設(shè)[2]。由于這三個(gè)軟件均為自由軟件,同時(shí)Apache,PHP 和 MySQL 的組合還可以跨平臺(tái)運(yùn)行,因此,這三個(gè)軟件是架構(gòu)基于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的動(dòng)態(tài)網(wǎng)站的最佳組合。
2.1 用戶平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
用戶平臺(tái)即用戶操作界面,為方便各類用戶群,界面應(yīng)該設(shè)計(jì)的簡(jiǎn)單、易用。用戶通過(guò)該界面將需識(shí)別的圖像文件提交到圖像處理端即服務(wù)器端。因此,界面需設(shè)計(jì)“瀏覽”和“提交”按鈕,在“瀏覽”按鈕旁應(yīng)設(shè)置文本框。用戶點(diǎn)擊“瀏覽”按鈕選擇在本地存儲(chǔ)的待識(shí)別的圖像文件,該文件的完整路徑及文件名會(huì)在文本框中顯示,再通過(guò)“提交”按鈕將圖像文件提交到服務(wù)器端中已設(shè)置好的文件夾中。同時(shí),將圖像文件的基本信息如:文件名、文件類型、提交時(shí)間等存入到數(shù)據(jù)庫(kù)中,以便對(duì)圖像文件進(jìn)行識(shí)別時(shí)需要文件名。這一過(guò)程需要頁(yè)面與數(shù)據(jù)庫(kù)建立連接,以PHP和MySQL為例,可通過(guò) mysql庫(kù)和 mysqli 庫(kù)函數(shù)連接。這種方法是 PHP連接 MySQL 最常用的方法。用戶平臺(tái)基本功能見(jiàn)圖2。
圖2 用戶平臺(tái)基本功能圖
下面是該頁(yè)面功能實(shí)現(xiàn)的主要代碼:
<?php
$mylink=mysql_connect("localhost:3306","root","") or die("不能連接到服務(wù)器".mysql_error());
mysql_select_db("databasename",$mylink);
$now=date("Y?m?d H:i:s"); //提取上傳的時(shí)間
$photoname=$_FILES["image"]["name"];
//提取上傳圖片的名稱
if(!empty($photoname)){
//將上傳圖片時(shí)間和圖片名,圖片類型提交到數(shù)據(jù)庫(kù)
$sql="insert into user (time,name) values
(′$now′,′$photoname′)";
}
$result = @mysql_query($sql,$mylink);
?>
2.2 服務(wù)器平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
服務(wù)器平臺(tái)即為用戶處理數(shù)據(jù)得到結(jié)果的一方。用PHP動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言將收到的圖像文件以及相關(guān)信息分別傳遞到文件夾和數(shù)據(jù)庫(kù)中后,需調(diào)用圖像處理程序從相應(yīng)存儲(chǔ)空間中提取圖像數(shù)據(jù)進(jìn)行處理,并把處理后所得的結(jié)果數(shù)據(jù)輸入到數(shù)據(jù)庫(kù)中,這也是服務(wù)器端最重要的工作。根據(jù)處理后的數(shù)據(jù)產(chǎn)生“反饋”頁(yè)面,即用戶看到的處理后的結(jié)果信息頁(yè)面,整個(gè)處理過(guò)程對(duì)用戶來(lái)說(shuō)是透明的。
3 服務(wù)器端調(diào)用圖像處理
服務(wù)器端調(diào)用圖像處理程序是系統(tǒng)的關(guān)鍵部分,如果調(diào)用不成功或調(diào)用錯(cuò)誤則不能識(shí)別用戶提交的圖像,也不能將正確的識(shí)別結(jié)果反饋給用戶。調(diào)用圖像處理程序要看是采用何種軟件開(kāi)發(fā)的。
目前主要采用VC++或是Matlab進(jìn)行圖像識(shí)別。Visual C++是一個(gè)Windows下最主要的、功能強(qiáng)大的集成應(yīng)用開(kāi)發(fā)環(huán)境,它提供了一套MFC類庫(kù),它與Windows系統(tǒng)緊密相連,利用它可以完成各種層面的窗口程序開(kāi)發(fā)[3]。Matlab是一個(gè)編程簡(jiǎn)單,功能強(qiáng)大的圖像處理軟件開(kāi)發(fā)平臺(tái)。具有圖像處理工具箱,可以進(jìn)行諸如幾何操作、線性濾波和濾波器設(shè)計(jì)、圖像變換、圖像分析與圖像增強(qiáng)、二值圖像操作以及形態(tài)學(xué)處理等圖像處理操作[3]。用VC進(jìn)行圖像識(shí)別,編程功底需比較扎實(shí),程序比較復(fù)雜,代碼比較龐大。相對(duì)而言用Matlab實(shí)現(xiàn)比較簡(jiǎn)單,代碼較短,適合于圖像處理初學(xué)者。
用VC++編寫的圖像識(shí)別程序可生成exe文件,在PHP頁(yè)面中可直接調(diào)用,速度要快一些。若是用Matlab編寫的程序,則可通過(guò)Matlab的內(nèi)部編譯器MCC將.m文件轉(zhuǎn)換為C或C++編譯器所能識(shí)別的源代碼即.cpp(或.c)文件和它的頭文件.h,最后生成exe文件;或是在PHP頁(yè)面中直接啟動(dòng)Matlab以及.m文件也行。
下面是實(shí)現(xiàn)在PHP頁(yè)面中直接啟動(dòng)Matlab并運(yùn)行.m文件的代碼:
<?php
if (isset($_POST["yes"])){
$dir="e:\\apple?task";
$command="MATLAB ?sd ".$dir." ?r connect";
exec($command);
echo"您的圖片已經(jīng)處理!"; }
?>
4 圖像處理
圖像處理則是對(duì)圖像信息進(jìn)行加工以滿足人的視覺(jué)心理和應(yīng)用需求的行為,它是一門新興的應(yīng)用學(xué)科,其發(fā)展速度異常迅速,應(yīng)用領(lǐng)域極為廣泛。圖像處理主要分為:圖像增強(qiáng),圖像分割,圖像識(shí)別3個(gè)步驟:
(1) 圖像增強(qiáng)。圖像增強(qiáng)是圖像處理中的基本內(nèi)容之一,在圖像處理中占有非常重要的地位。圖像增強(qiáng)是圖像邊緣檢測(cè)、分割以及特征提取等技術(shù)的基礎(chǔ)。圖像增強(qiáng)是指對(duì)圖像的某些特征,如邊緣、輪廓或?qū)Ρ榷鹊冗M(jìn)行強(qiáng)調(diào)或尖銳化。其主要目的是使處理后的圖像對(duì)某種特定的應(yīng)用來(lái)說(shuō),比原始圖像更適用。如去除圖像中的噪聲,改變圖像中的亮度和顏色,增強(qiáng)圖像中的某些成分與抑制某些成分,對(duì)圖像進(jìn)行幾何變換等都屬于圖像增強(qiáng)部分。
(2) 圖像分割。圖像分割是圖像識(shí)別和圖像理解的基本前提步驟,圖像分割質(zhì)量的好壞直接影響后續(xù)圖像處理的效果,甚至決定其成敗。圖像分割的任務(wù)是把圖像空間按特征分割成互不交疊的、有意義的區(qū)域,以便進(jìn)一步對(duì)圖像進(jìn)行分析、識(shí)別、壓縮編碼等。邊緣檢測(cè)是圖像分割中的重要方法,因?yàn)檫吘壥撬崛∧繕?biāo)和背景的邊界線,提取出邊緣才能將目標(biāo)和背景區(qū)分開(kāi)來(lái)。邊緣檢測(cè)包括兩個(gè)基本內(nèi)容:首先抽取出反映灰度變化的邊緣點(diǎn),然后剔除某些邊界點(diǎn)或填充邊界間斷點(diǎn),并將這些邊緣連接成完整的線。
(3) 圖像識(shí)別。圖像識(shí)別是對(duì)感知信號(hào)(圖像、視頻和聲音等)進(jìn)行分析,對(duì)其中的物體對(duì)象或行為進(jìn)行判別和解釋的過(guò)程。圖3給出了圖像識(shí)別系統(tǒng)框圖。
圖3 圖像識(shí)別系統(tǒng)框圖
在圖像識(shí)別中,特征提取是很重要的一環(huán)。所謂圖像的特征是指圖像中可用作標(biāo)志的屬性,而把圖像的某些特征進(jìn)行數(shù)字化處理的過(guò)程就稱為特征提取。對(duì)于不同的識(shí)別對(duì)象必須考慮不同的特征提取的方法,因此很難有統(tǒng)一的方法和理論,當(dāng)然這也是研究人員對(duì)自己所要研究的圖像重點(diǎn)進(jìn)行的研究工作。判別分類就是采用一定的準(zhǔn)則或機(jī)制建立分類規(guī)則,并用它們對(duì)提取特征值后的未知圖像模式進(jìn)行分類識(shí)別。
5 結(jié) 語(yǔ)
隨著計(jì)算機(jī)軟件開(kāi)發(fā)技術(shù)的不斷進(jìn)步和計(jì)算機(jī)網(wǎng)絡(luò)速率的提升,采用先進(jìn)的編程軟件,開(kāi)發(fā)基于Internet的遠(yuǎn)程圖像識(shí)別系統(tǒng)是可行的。并且此類系統(tǒng)可在某些領(lǐng)域,如農(nóng)、林業(yè)病蟲害防御等,起到大大減少人力物力資源消耗的效果,有利于工作效率的提高。
參考文獻(xiàn)
[1] 趙鶴芹.設(shè)計(jì)動(dòng)態(tài)網(wǎng)站的最佳方案:Apache+PHP+MySQL[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2007,28(4):933?934.
[2] 維明.基于PHP+MySQL的網(wǎng)站開(kāi)發(fā)[J].物流工程與管理,2009(6):92?96.
[3] 沈穎,宋文強(qiáng).基于 VC++和 Matlab 的圖像處理比較研究[J]. 電腦知識(shí)與技術(shù),2009(16):4269?4270.
[4] 陳軍.PHP+MySQL經(jīng)典案例剖析[M].北京:清華大學(xué)出版社,2008.
[5] 程偉.PHP網(wǎng)絡(luò)編程技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2008.
[6] 王慧琴.數(shù)字圖像處理[M].北京:北京郵電大學(xué)出版社,2006.
(2) 圖像分割。圖像分割是圖像識(shí)別和圖像理解的基本前提步驟,圖像分割質(zhì)量的好壞直接影響后續(xù)圖像處理的效果,甚至決定其成敗。圖像分割的任務(wù)是把圖像空間按特征分割成互不交疊的、有意義的區(qū)域,以便進(jìn)一步對(duì)圖像進(jìn)行分析、識(shí)別、壓縮編碼等。邊緣檢測(cè)是圖像分割中的重要方法,因?yàn)檫吘壥撬崛∧繕?biāo)和背景的邊界線,提取出邊緣才能將目標(biāo)和背景區(qū)分開(kāi)來(lái)。邊緣檢測(cè)包括兩個(gè)基本內(nèi)容:首先抽取出反映灰度變化的邊緣點(diǎn),然后剔除某些邊界點(diǎn)或填充邊界間斷點(diǎn),并將這些邊緣連接成完整的線。
(3) 圖像識(shí)別。圖像識(shí)別是對(duì)感知信號(hào)(圖像、視頻和聲音等)進(jìn)行分析,對(duì)其中的物體對(duì)象或行為進(jìn)行判別和解釋的過(guò)程。圖3給出了圖像識(shí)別系統(tǒng)框圖。
圖3 圖像識(shí)別系統(tǒng)框圖
在圖像識(shí)別中,特征提取是很重要的一環(huán)。所謂圖像的特征是指圖像中可用作標(biāo)志的屬性,而把圖像的某些特征進(jìn)行數(shù)字化處理的過(guò)程就稱為特征提取。對(duì)于不同的識(shí)別對(duì)象必須考慮不同的特征提取的方法,因此很難有統(tǒng)一的方法和理論,當(dāng)然這也是研究人員對(duì)自己所要研究的圖像重點(diǎn)進(jìn)行的研究工作。判別分類就是采用一定的準(zhǔn)則或機(jī)制建立分類規(guī)則,并用它們對(duì)提取特征值后的未知圖像模式進(jìn)行分類識(shí)別。
5 結(jié) 語(yǔ)
隨著計(jì)算機(jī)軟件開(kāi)發(fā)技術(shù)的不斷進(jìn)步和計(jì)算機(jī)網(wǎng)絡(luò)速率的提升,采用先進(jìn)的編程軟件,開(kāi)發(fā)基于Internet的遠(yuǎn)程圖像識(shí)別系統(tǒng)是可行的。并且此類系統(tǒng)可在某些領(lǐng)域,如農(nóng)、林業(yè)病蟲害防御等,起到大大減少人力物力資源消耗的效果,有利于工作效率的提高。
參考文獻(xiàn)
[1] 趙鶴芹.設(shè)計(jì)動(dòng)態(tài)網(wǎng)站的最佳方案:Apache+PHP+MySQL[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2007,28(4):933?934.
[2] 維明.基于PHP+MySQL的網(wǎng)站開(kāi)發(fā)[J].物流工程與管理,2009(6):92?96.
[3] 沈穎,宋文強(qiáng).基于 VC++和 Matlab 的圖像處理比較研究[J]. 電腦知識(shí)與技術(shù),2009(16):4269?4270.
[4] 陳軍.PHP+MySQL經(jīng)典案例剖析[M].北京:清華大學(xué)出版社,2008.
[5] 程偉.PHP網(wǎng)絡(luò)編程技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2008.
[6] 王慧琴.數(shù)字圖像處理[M].北京:北京郵電大學(xué)出版社,2006.
(2) 圖像分割。圖像分割是圖像識(shí)別和圖像理解的基本前提步驟,圖像分割質(zhì)量的好壞直接影響后續(xù)圖像處理的效果,甚至決定其成敗。圖像分割的任務(wù)是把圖像空間按特征分割成互不交疊的、有意義的區(qū)域,以便進(jìn)一步對(duì)圖像進(jìn)行分析、識(shí)別、壓縮編碼等。邊緣檢測(cè)是圖像分割中的重要方法,因?yàn)檫吘壥撬崛∧繕?biāo)和背景的邊界線,提取出邊緣才能將目標(biāo)和背景區(qū)分開(kāi)來(lái)。邊緣檢測(cè)包括兩個(gè)基本內(nèi)容:首先抽取出反映灰度變化的邊緣點(diǎn),然后剔除某些邊界點(diǎn)或填充邊界間斷點(diǎn),并將這些邊緣連接成完整的線。
(3) 圖像識(shí)別。圖像識(shí)別是對(duì)感知信號(hào)(圖像、視頻和聲音等)進(jìn)行分析,對(duì)其中的物體對(duì)象或行為進(jìn)行判別和解釋的過(guò)程。圖3給出了圖像識(shí)別系統(tǒng)框圖。
圖3 圖像識(shí)別系統(tǒng)框圖
在圖像識(shí)別中,特征提取是很重要的一環(huán)。所謂圖像的特征是指圖像中可用作標(biāo)志的屬性,而把圖像的某些特征進(jìn)行數(shù)字化處理的過(guò)程就稱為特征提取。對(duì)于不同的識(shí)別對(duì)象必須考慮不同的特征提取的方法,因此很難有統(tǒng)一的方法和理論,當(dāng)然這也是研究人員對(duì)自己所要研究的圖像重點(diǎn)進(jìn)行的研究工作。判別分類就是采用一定的準(zhǔn)則或機(jī)制建立分類規(guī)則,并用它們對(duì)提取特征值后的未知圖像模式進(jìn)行分類識(shí)別。
5 結(jié) 語(yǔ)
隨著計(jì)算機(jī)軟件開(kāi)發(fā)技術(shù)的不斷進(jìn)步和計(jì)算機(jī)網(wǎng)絡(luò)速率的提升,采用先進(jìn)的編程軟件,開(kāi)發(fā)基于Internet的遠(yuǎn)程圖像識(shí)別系統(tǒng)是可行的。并且此類系統(tǒng)可在某些領(lǐng)域,如農(nóng)、林業(yè)病蟲害防御等,起到大大減少人力物力資源消耗的效果,有利于工作效率的提高。
參考文獻(xiàn)
[1] 趙鶴芹.設(shè)計(jì)動(dòng)態(tài)網(wǎng)站的最佳方案:Apache+PHP+MySQL[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2007,28(4):933?934.
[2] 維明.基于PHP+MySQL的網(wǎng)站開(kāi)發(fā)[J].物流工程與管理,2009(6):92?96.
[3] 沈穎,宋文強(qiáng).基于 VC++和 Matlab 的圖像處理比較研究[J]. 電腦知識(shí)與技術(shù),2009(16):4269?4270.
[4] 陳軍.PHP+MySQL經(jīng)典案例剖析[M].北京:清華大學(xué)出版社,2008.
[5] 程偉.PHP網(wǎng)絡(luò)編程技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2008.
[6] 王慧琴.數(shù)字圖像處理[M].北京:北京郵電大學(xué)出版社,2006.