摘要
植物形態(tài)可視化技術(shù)是實(shí)現(xiàn)虛擬農(nóng)業(yè)中關(guān)鍵技術(shù)之一。該文對(duì)生菜圖像進(jìn)行預(yù)處理后,研究圖像的各個(gè)特征,并提取生菜葉片的R、G、B顏色特征和葉片長(zhǎng)度、寬度等特征。基于提取的各個(gè)特征,在OpenGL平臺(tái)上,對(duì)生菜進(jìn)行三維可視化建模,并進(jìn)行顏色、光照模擬等渲染處理,主要建立了生菜二維圖像與三維可視化模型之間的聯(lián)系,實(shí)現(xiàn)生菜的可視化,能夠直觀地表現(xiàn)生菜的成長(zhǎng)狀態(tài)。將虛擬植物技術(shù)應(yīng)用到農(nóng)業(yè)領(lǐng)域的教學(xué)中,能夠幫助同學(xué)直觀地學(xué)習(xí)理解,對(duì)于農(nóng)業(yè)科研、教育有積極作用。
關(guān)鍵詞生菜;特征提??;可視化;OpenGL
中圖分類號(hào)S126;TP391.9文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào)0517-6611(2015)24-265-04
虛擬作物是在計(jì)算機(jī)上利用相關(guān)技術(shù)模擬植物在三維空間中生長(zhǎng)發(fā)育狀況的可視化模型。建立植物形態(tài)的可視化模型,可以全方位、多層次考察生菜表層的形態(tài)、紋理和空間分布關(guān)系。這對(duì)于探討生菜組織結(jié)構(gòu)與功能的關(guān)系、進(jìn)行直觀形象的生菜研究以及促進(jìn)現(xiàn)代農(nóng)業(yè)發(fā)展有著重要的意義。國(guó)外研究人員在計(jì)算機(jī)輔助模擬植物形態(tài)方面進(jìn)行了大量研究,主要代表有:法國(guó)的CIRAD、澳大利亞的 CPAJ、加拿大的 Prusinkiewicz 等人研究室,建立了L系統(tǒng)、迭代函數(shù)系統(tǒng)[1]、粒子系統(tǒng)[2]等多種植物生長(zhǎng)模型,并開發(fā)了多種模擬植物形態(tài)的軟件,如L-Studio。國(guó)內(nèi)近年也在植物可視化方面有諸多研究,包括基于Nurbs曲面建立了植物葉片靜態(tài)模型[3];光、水、溫度等環(huán)境因素對(duì)植物可視化的影響[4];大豆根系及辣椒、茄子等作物的生長(zhǎng)模擬[5-6]。最近,一些基于機(jī)器視覺的特征提取也出現(xiàn)很多[7-9]。
綜合國(guó)內(nèi)外現(xiàn)階段研究現(xiàn)狀,多數(shù)可視化建模并沒有與實(shí)測(cè)數(shù)據(jù)進(jìn)行聯(lián)系,尤其對(duì)于利用靜態(tài)二維圖像建立植物形態(tài)可視化模型的研究并不多見。該文利用圖像處理相關(guān)技術(shù),提取生菜顏色、幾何特征,在OpenGL環(huán)境下利用從二維圖像中獲得的特征參數(shù),實(shí)現(xiàn)了生菜形態(tài)的三維可視化建模。通過二維圖像生成三維模型,實(shí)現(xiàn)了準(zhǔn)確、無損的可視化仿真,可視化模型關(guān)鍵數(shù)據(jù)來自真實(shí)葉片的測(cè)量值,符合自然界真實(shí)的生物學(xué)規(guī)律,是對(duì)圖像的準(zhǔn)確重現(xiàn),對(duì)于農(nóng)業(yè)教學(xué)、培訓(xùn)有很大的促進(jìn)幫助作用,能夠使人們?cè)谀P蜕线M(jìn)行虛擬實(shí)驗(yàn),學(xué)習(xí)植物學(xué)相關(guān)知識(shí)。
1 基于二維圖像特征的三維建模方法簡(jiǎn)介
生菜三維可視化建模需要長(zhǎng)度、寬度、顏色值等關(guān)鍵參數(shù),這些參數(shù)控制生菜的形狀與色彩,準(zhǔn)確的參數(shù)不僅能夠使得形態(tài)模擬更加準(zhǔn)確,而且符合生菜成長(zhǎng)的客觀規(guī)律,能夠在一定程度上反映生菜的植物學(xué)特性。從圖像中可以提取出相應(yīng)顏色、幾何參數(shù),所以該文提出了基于圖像特征提取的三維建模方法。
該文根據(jù)從圖像中提取的顏色特征值、幾何特征值作為三維建模的原始參數(shù),主要包括圖像的預(yù)處理、圖像特征提取和可視化建模三部分。圖像預(yù)處理主要包括圖像分割、邊緣檢測(cè),利用預(yù)處理后圖像進(jìn)行特征提取,得到顏色特征值、幾何特征值,最后利用獲取的特征值進(jìn)行可視化建模,重點(diǎn)在于如何獲得三維建模中所需要的相應(yīng)特征數(shù)據(jù)。
2 生菜圖像預(yù)處理
圖像預(yù)處理是在圖像進(jìn)行分析之前,對(duì)獲取的圖像進(jìn)行增強(qiáng)、降噪等處理,以使圖像能夠更便于分析。該文主要對(duì)獲取的生菜圖像進(jìn)行分割和邊緣輪廓提取。
2.1 圖像分割
圖像分割是指根據(jù)圖像的顏色、幾何形狀、灰度的特征把圖像劃分成若干個(gè)互不相交的區(qū)域,圖像分割的好壞直接影響到后續(xù)特征提取的效果。生菜是典型的綠色植物,顏色特征較背景更明顯,因此該文采用文獻(xiàn)[10]的綠色作物圖像分割方法,提取生菜圖像顏色指數(shù)后,利用均值漂移算法,對(duì)生菜圖像進(jìn)行分割,分割效果如圖1所示。由圖1可知,分割后生菜圖像邊緣鋸齒狀較明顯,并不平滑,為了使邊緣檢測(cè)更加準(zhǔn)確,對(duì)圖像進(jìn)行一次膨脹、腐蝕處理(圖2)。
2.2 邊緣檢測(cè)與輪廓提取
邊緣是圖像局部特性的不連續(xù)性,是前景物與背景圖的交界處,這些部分往往是整幅圖像中變化差異最大的地方。邊緣處圖像的灰度值和亮度都會(huì)產(chǎn)生
跳變,數(shù)學(xué)算法模型中會(huì)表現(xiàn)出一階導(dǎo)的不連續(xù)行。因此,利用圖像的梯度函數(shù)就可以求得圖像的邊緣[11]。
大部分情況下邊緣檢測(cè)是圖像分割一種方法,但是這里邊緣檢測(cè)主要是為了生菜的輪廓提取,在分割的基礎(chǔ)上進(jìn)行邊緣檢測(cè),使得提取出的生菜輪廓更完整,干擾更少,使下一步幾何特征的提取更準(zhǔn)確。
主要的邊緣檢測(cè)算子包括sobel算子、prewitt算子、canny算子、robert算子。通過前期大量實(shí)驗(yàn)表明,在生菜的輪廓提取中,canny算子所提取的輪廓更加連續(xù)、完整(圖3),所以最終選取canny算子。
3 生菜葉片特征提取
圖像的特征包括顏色特征、幾何特征、紋理特征,而影響三維建模準(zhǔn)確性的主要是顏色特征和幾何特征,所以該文主要提取生菜葉片的顏色特征和幾何特征,并不涉及紋理特征。顏色特征提取主要是利用圖像分割結(jié)果,提取生菜葉片的R、G、B分量值。幾何特征提取主要是利用邊緣檢測(cè)結(jié)果,提取生菜葉片的長(zhǎng)度與寬度值。
43卷24期孔繁爽等基于圖像特征提取的生菜形態(tài)可視化建模
3.1 顏色特征提取
顏色是圖像中很重要的特征,尤其對(duì)于描述生菜葉片來講,顏色特征的準(zhǔn)確與否影響可視化建模的真實(shí)感程度。圖像顏色特征主要有顏色直方圖、顏色距、顏色聚合向量等,該文采用顏色的R、G、B分量值。
進(jìn)行圖像分割后,主要對(duì)于生菜葉片顏色中R、G、B分量值的提取,以作為圖形可視化部分顏色模擬的關(guān)鍵參數(shù)。在顏色空間中,顏色是可被度量的,所以可以提取一幅圖像中R、G、B 3個(gè)分量的具體值,用于調(diào)節(jié)可視化中各個(gè)分色的比例。
3.2 幾何特征提取
生菜葉片的幾何特征關(guān)鍵參數(shù)的提取是后續(xù)可視化建模是否準(zhǔn)確的關(guān)鍵,通過獲取葉片的長(zhǎng)度與寬度值來確定生菜的大體輪廓與形狀。主要通過和標(biāo)準(zhǔn)圖像對(duì)比的方法獲取準(zhǔn)確的相關(guān)參數(shù)。
3.2.1
參照物與比例尺。為了能夠測(cè)得準(zhǔn)確生菜長(zhǎng)度、寬度值,選取一個(gè)邊長(zhǎng)為5 cm的黑色正方形作為參照物,鏡頭距離正方形正中心30 cm(圖4),獲取圖像后,測(cè)得邊長(zhǎng)像素點(diǎn)數(shù)和距離,進(jìn)而可得長(zhǎng)度與像素點(diǎn)數(shù)比,作為生菜長(zhǎng)度、寬度計(jì)算的比例尺。
3.2.2
生菜葉片長(zhǎng)度測(cè)量。
獲取圖像比例尺后,則可以測(cè)量生菜葉片的幾何值。按照?qǐng)D4,以生菜根部為中心,用同像素的相機(jī),鏡頭距生菜30 cm高度處進(jìn)行圖像獲取。根據(jù)邊緣檢測(cè)所提取的輪廓,進(jìn)行長(zhǎng)度和寬度的計(jì)算。
首先,按照像素點(diǎn)顏色為黑色而統(tǒng)計(jì)出所有邊緣像素點(diǎn),并記錄其坐標(biāo)。因?yàn)榕恼諘r(shí)生菜根部在圖像中心,即葉片的根部在圖像中心,記錄中心點(diǎn)坐標(biāo),設(shè)圖像中心點(diǎn)坐標(biāo)(a,b),為計(jì)算方便,將所有像素點(diǎn)橫縱坐標(biāo)分別減a、b,即以圖像中間點(diǎn)為原點(diǎn)建立坐標(biāo)系(圖5),計(jì)算所有邊緣點(diǎn)到中心點(diǎn)的長(zhǎng)度
d=(x)2+(y)2,找到最大的長(zhǎng)度值,即為生菜葉片的長(zhǎng)度,并記錄葉尖像素坐標(biāo)為L(zhǎng)(x1,y1),且可知長(zhǎng)度上像素點(diǎn)數(shù),結(jié)合“3.2.1”所測(cè)比例尺,則可知葉片實(shí)際長(zhǎng)度。
3.2.3
生菜葉片寬度測(cè)量。生菜葉片寬度的獲取,主要是從葉尖到葉根,不連續(xù)取7個(gè)寬度,不連續(xù)是因?yàn)樯巳~片在靠近葉尖部分變化較快,在靠近葉根部分變化較小甚至基本不變,所以7段寬度大多集中在葉尖部分,且寬度所在直線與長(zhǎng)度所在直線垂直(圖6)。
在取得長(zhǎng)度后,由(0,0)與L(x1,y1),求得長(zhǎng)度所在直線斜率
k=y1/x1,長(zhǎng)度所在直線為l∶y=kx,則7段寬度所在直線斜率為-1/k。取直線l1∶y=(k+1)x和l2∶y=(k-1)x,設(shè)葉片所在區(qū)域像素點(diǎn)集合{(xi,yi)},可限定對(duì)于任意(xi,yi)在2條直線之間,且與葉尖坐標(biāo)同象限。
在此集合中找到以下2個(gè)關(guān)鍵點(diǎn),①距離l∶y=kx直線距離最遠(yuǎn)點(diǎn)MAX,②葉尖點(diǎn)L與坐標(biāo)原點(diǎn)的中點(diǎn)(x1/2,y1/2),并從像素點(diǎn)集合中找到點(diǎn)(p,q),使此像素點(diǎn)與中點(diǎn)所確定的直線斜率為-1/k,記點(diǎn)(p,q)為HALF。2個(gè)關(guān)鍵點(diǎn)是生菜可視化建模中最關(guān)鍵的數(shù)據(jù)。
最后以MAX為基準(zhǔn)點(diǎn),在葉片點(diǎn)集中找到距離相對(duì)減小的另外5個(gè)邊緣點(diǎn),共計(jì)7點(diǎn),對(duì)找到關(guān)鍵點(diǎn)標(biāo)記如圖7所示。
設(shè)其中任意1個(gè)為(c,d),則寬度所在直線為l4∶(y-d)=-1/k(x-c),在葉片下半部分所在集合中找到在直線上的點(diǎn)(e,f),使得(e,f)滿足l4,則寬度為
L=(e-c)2+(f-d)2。以此類推,則可求出所有7段寬度值。
在所有像素點(diǎn)的集合中除去第1片葉子所在區(qū)域像素點(diǎn)集合,即可得剩余葉片像素點(diǎn)集合,為方便計(jì)算,按照“3.2.2”“3.2.3”,可以重設(shè)坐標(biāo)軸,重復(fù)以上方法,依次找到第2片葉子的長(zhǎng)度、區(qū)域、7段寬度。以此類推,即可求出所有葉片幾何特征值。
4 基于Nurbs曲面的生菜葉片形態(tài)可視化
4.1 Nurbs曲面
Nurbs曲面建立在非有理貝塞爾方法與非有理B樣條方法的基礎(chǔ)上,不僅可以精確表示規(guī)則曲線與曲面,同時(shí)可把規(guī)則曲面和自由曲面統(tǒng)一在一起,并且權(quán)因子出現(xiàn),有利于曲線和曲面形狀的修改[12],所以選取Nurbs曲面作為生菜形態(tài)可視化建模的工具。
Nurbs曲面定義為:
S(u,v)=∑ni=0 ∑mj=0Wi,jPi,jNi,p(u)Ni,q(v)
∑ni=0 ∑mj=0Wi,jNi,p(u)Ni,q(v)
0≤u,v≤1
(Ⅰ)
式中,Pi,j為控制頂點(diǎn),Wi,j為與控制點(diǎn)相聯(lián)系的權(quán)因子,Ni,p(u)和Ni,q(v)分別為B樣條基函數(shù)。
4.2 生菜形態(tài)的幾何建模
利用Nurbs曲面繪制生菜葉片的關(guān)鍵是對(duì)于控制點(diǎn)的選取。由生菜長(zhǎng)寬比可知,生菜葉片更趨近于矩形,且長(zhǎng)度遠(yuǎn)大于寬度,對(duì)于生菜寬度的控制尤為重要,所以對(duì)于每個(gè)葉片,選取7行5列共計(jì)35個(gè)控制點(diǎn)來控制生菜葉片的大體形狀。最終通過圖像處理獲取生菜長(zhǎng)度與7段寬度來確定控制點(diǎn)的具體位置。
在OpenGL中,封裝了繪制Nurbs曲面的常用函數(shù),利用OpenGL函數(shù)庫所提供函數(shù)生成一個(gè)Nurbs曲面的具體方法與關(guān)鍵過程如下:
(1)創(chuàng)建曲面對(duì)象theNurb1=gluNewNurbsRenderer();
(2)控制點(diǎn)改變,通過長(zhǎng)度與7段寬度值,計(jì)算出所有控制點(diǎn)位置;
(3)曲面繪制開始gluBeginSurface(theNurb1);
(4)具體繪制Nurbs曲面gluNurbsSurface(theNurb1,10,knots,10,knots,5*3,3, &points[0][0][0],5, 5,GL_MAP2_VERTEX_3),其中&points[0][0][0]為控制點(diǎn);
(5)曲面繪制結(jié)束 gluEndSurface(theNurb1)。
取得結(jié)果如圖8所示:
4.3 生菜葉片的真實(shí)感技術(shù)
4.3.1
顏色渲染。利用圖像處理在RGB空間中提取的紅色、綠色、藍(lán)色分量值,通過glColor()函數(shù)來設(shè)置生菜葉片顏色,顏色參數(shù)來自生菜真實(shí)圖像,使得顏色更加逼真。
4.3.2
隨機(jī)扭曲處理。
由于圖像提供的控制點(diǎn)坐標(biāo)是在二
維空間中,且生菜葉片較其他葉片來說,彎曲程度較大,所以該文根據(jù)生菜葉片不同位置寬度不同的扭曲變化程度,分別
設(shè)定7個(gè)隨機(jī)控制函數(shù)來控制7排共35個(gè)控制點(diǎn)的z坐標(biāo),以更真實(shí)地模擬生菜葉片。
4.3.3
光照渲染。光照對(duì)于模擬三維真實(shí)感圖形非常重要,如果沒有光照,所制作的三維圖形就沒有立體感,和二維圖形基本沒有區(qū)別[13]。在OpenGL中光照渲染具體步驟如下:
(1)為光照模型指定材質(zhì)參數(shù)glMaterialfv();
(2)設(shè)置光源參數(shù)glLightfv();
(3)設(shè)置光照模型參數(shù)glLightModeli();
(4)激活光照glEnable()。
4.3.4
紋理映射。真實(shí)的生菜葉片上有復(fù)雜的紋理結(jié)構(gòu),紋理結(jié)構(gòu)的模擬對(duì)生菜可視化模型最終的信息表達(dá)有著至關(guān)重要的作用。該研究采用紋理貼圖的方式來實(shí)現(xiàn)生菜葉片的紋理映射,所貼圖片來自圖像的分割結(jié)果,能夠很大程度上實(shí)現(xiàn)生菜葉片的重現(xiàn)。具體過程如下:
(1)載入紋理,即生菜圖像分割結(jié)果;
(2)創(chuàng)建紋理 glGenTextures ();
(3)生成紋理 glTexImage2D ()。
進(jìn)行以上4步處理后,就能夠從形態(tài)、色彩方面真實(shí)模擬生菜葉片,效果如圖9所示。
4.4 生菜植株的可視化
基于上述結(jié)果,可生成多個(gè)生菜葉片,對(duì)于每個(gè)生菜葉片增加屬性:葉片角度,在每次生成1個(gè)生菜葉片后,通過重置坐標(biāo)軸進(jìn)而繪制下1片葉子,多次之后即可最終實(shí)現(xiàn)整株生菜的可視化建模(圖10) 。
5小結(jié)
虛擬植物技術(shù)在景觀、教學(xué)等領(lǐng)域應(yīng)用廣泛。尤其教學(xué)方式日益趨于多元化,多媒體教學(xué)的利用越來越廣泛,虛擬植物的研究能夠幫助同學(xué)直觀地學(xué)習(xí)理解,對(duì)于農(nóng)業(yè)科研、教育有積極作用。該文主要利用靜態(tài)圖像所提取出的顏色特征值和幾何特征值,在OpenGL環(huán)境下利用Nurbs曲線模擬生菜的形態(tài),能夠生動(dòng)形象地模擬出生菜某時(shí)刻的成長(zhǎng)狀態(tài),符合生菜真實(shí)的植物學(xué)特性,而圖像特征提取與可視化建模的有機(jī)結(jié)合對(duì)研究生菜生長(zhǎng)模型與虛擬植物技術(shù)有一定積極作用與理論參考價(jià)值,并且為研究符合成長(zhǎng)規(guī)律的動(dòng)態(tài)可視化模型提供有效方法。
參考文獻(xiàn)
[1]
ROOM P M,MAILLETTE L,HANAN J S.Module and metamer dynamics and virtual plants[J].Advances in Ecological Research,1994,25:105-157.
[2] REEVES W T,BLAU R.Approximate and probabilististic algorithms for shading and rendingstructured particle system[J].Computer Graphics,1985,19(3):313-322.
[3] 劉瑩瑩,劉哲,楊焱.基于NURBS的植物葉片幾何建模[J].北京農(nóng)學(xué)院學(xué)報(bào),2008,23(4):63-66.
[4] 葉飛.環(huán)境因素影響下的植物可視化模型研究[D].重慶:重慶大學(xué),2007.
[5] 鐘南,羅錫文,秦琴.基于生長(zhǎng)函數(shù)的大豆根系生長(zhǎng)的三維可視化模擬[J].農(nóng)業(yè)工程學(xué)報(bào),2008,24(7):151-154.
[6] 劉驥.植物生長(zhǎng)模擬與可視化研究[D].重慶:重慶大學(xué),2009.
[7] 劉長(zhǎng)青,陳兵旗.基于機(jī)器視覺的玉米果穗?yún)?shù)的圖像測(cè)量方法[J].農(nóng)業(yè)工程學(xué)報(bào),2014,30(6):131-138 .
[8] 李文勇,李明,陳梅香,等.基于機(jī)器視覺的作物多姿態(tài)害蟲特征提取與分類方法[J].農(nóng)業(yè)工程學(xué)報(bào),2014,30(14):154-161.
[9] 劉太磊.相機(jī)標(biāo)定與三維重建相關(guān)技術(shù)研究[D].南京:南京信息工程大學(xué),2012.
[10] 伍艷蓮,趙力,姜海燕,等.基于改進(jìn)均值漂移算法的綠色作物圖像分割方法[J].農(nóng)業(yè)工程學(xué)報(bào),2014,30(24):161-167.
[11] 黃佳.基于OPENCV的計(jì)算機(jī)視覺技術(shù)研究[D].上海:華東理工大學(xué),2012.
[12] 高斌.曲面造型中NURBS曲面曲線離散及顯示算法的研究與實(shí)現(xiàn)[D].杭州:浙江大學(xué),2002.
[13] 和平鴿工作室.OpenGL三維圖形系統(tǒng)開發(fā)與實(shí)用技術(shù)[M].清華大學(xué)出版社,重慶大學(xué)出版社,2003.