• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      棗園視覺導(dǎo)航路徑提取軟件的設(shè)計與實現(xiàn)

      2018-06-07 02:47:48彭順正李景彬
      江蘇農(nóng)業(yè)科學(xué) 2018年10期
      關(guān)鍵詞:基準(zhǔn)線棗園函數(shù)

      彭順正, 李景彬

      (1.石河子大學(xué)信息科學(xué)與技術(shù)學(xué)院,新疆石河子 832000; 2.石河子大學(xué)機械電氣工程學(xué)院,新疆石河子 832000)

      視覺導(dǎo)航路徑提取是果園間農(nóng)業(yè)機器人自主導(dǎo)航研究核心內(nèi)容。視覺導(dǎo)航系統(tǒng)主要由硬件控制機構(gòu)和圖像分析處理軟件機構(gòu)組成[1-4],邏輯層面上,圖像分析處理軟件結(jié)構(gòu)主要是通過相關(guān)圖像算法提取視覺導(dǎo)航路徑的相關(guān)參數(shù),而后將相關(guān)參數(shù)通過軟件系統(tǒng)傳輸給硬件控制機構(gòu),硬件控制程序結(jié)構(gòu)根據(jù)相關(guān)參數(shù)執(zhí)行相應(yīng)命令,最終實現(xiàn)農(nóng)業(yè)機器人自主導(dǎo)航。

      導(dǎo)航軟件結(jié)構(gòu)返回參數(shù)的準(zhǔn)確性和可靠性直接影響整個導(dǎo)航系統(tǒng)的性能,這主要取決于算法優(yōu)越性,然而路徑提取的分析軟件功能設(shè)計的合理性有助于獲取一套實用性較強的視覺導(dǎo)航路徑提取算法。路徑提取分析軟件的需求一般考慮目標(biāo)區(qū)域分布規(guī)律、邊緣特征點提取、邊緣線擬合、基準(zhǔn)線生成、基準(zhǔn)線與人工擬合導(dǎo)航直線之間的偏差角、算法耗時等參數(shù)。

      目前,國內(nèi)外針對田間、果園、林間的環(huán)境復(fù)雜性設(shè)計了相關(guān)視覺導(dǎo)航算法[5-10]。為開展基于視覺技術(shù)的智能裝備研發(fā)奠定基礎(chǔ),研究人員針對棉田收獲時期的環(huán)境復(fù)雜性設(shè)計出一套采棉機視覺導(dǎo)航路徑檢測算法[11],根據(jù)溫室環(huán)境復(fù)雜性提出一種移動機器人視覺導(dǎo)航路徑提取算法[12],依據(jù)田間作物行特征設(shè)計了一種基于邊緣掃描濾波的農(nóng)機導(dǎo)航基準(zhǔn)線提取算法[13],結(jié)合林間喬木環(huán)境特征設(shè)計了一套視覺導(dǎo)航路徑提取算法[14],根據(jù)喬化果園環(huán)境特點制定了一套果園移動機器人視覺導(dǎo)航路徑提取算法[15]。

      以上研究方法均是根據(jù)特定環(huán)境特點定制出一套適應(yīng)性強的路徑提取算法。近年來,為了提高果品質(zhì)量、穩(wěn)產(chǎn)增產(chǎn),提高果品產(chǎn)業(yè)經(jīng)濟效益,國內(nèi)很多地方大力推廣果園矮化密植種植模式,其中植保、中耕、收獲環(huán)節(jié)都離不開機械化作業(yè),但是,果園環(huán)境比較惡劣,作業(yè)時間長,對果農(nóng)的身體健康不利,目前迫切需要實現(xiàn)機械裝備智能化,以代替果農(nóng)完成相應(yīng)的機械化作業(yè)。然而針對矮化密植果園農(nóng)業(yè)機器人自主導(dǎo)航的研究相對較少,加之與田間、林間、果園的環(huán)境有一定區(qū)別,與林間、果園、田間等研究的視覺導(dǎo)航路徑提取算法無法完全適應(yīng),因此,針對矮化密果園設(shè)計一套針對性強的農(nóng)業(yè)機器人自主導(dǎo)航路徑提取算法具有實際意義。

      本研究針對紅棗矮化密植果園環(huán)境的復(fù)雜性,利用MFC和Opencv設(shè)計一套視覺導(dǎo)航路徑提取分析軟件,以便探討出適合于矮化密植棗園的視覺導(dǎo)航路徑提取算法。

      1 系統(tǒng)軟件設(shè)計

      1.1 軟件設(shè)計目標(biāo)

      棗園視覺導(dǎo)航路徑提取軟件的設(shè)計目標(biāo)主要有下面幾點:(1)通過滑動控件實時設(shè)置圖像橫向剖面線位置,并且能夠?qū)崟r繪制剖面線上各像素點的RGB分量曲線圖,便于分析目標(biāo)區(qū)域的像素分布規(guī)律,并計算相應(yīng)RGB分量的相關(guān)統(tǒng)計參變量,最終確定圖像處理方案。(2)具備圖像顏色空間的轉(zhuǎn)化、灰度化、濾波、目標(biāo)圖像分割、棗樹骨架提取、邊緣信息及擬合、基準(zhǔn)線生成、人工擬合基準(zhǔn)線、偏差角計算、算法耗時等功能。(3)軟件使用Opencv實現(xiàn)圖像處理算法,MFC負(fù)責(zé)設(shè)計界面外殼,使用Opencv窗口嵌入MFC技術(shù)將顯示界面與Opencv窗口進行關(guān)聯(lián),界面上的圖像能夠接受鼠標(biāo)消息并傳遞給Opencv函數(shù)處理,最終實現(xiàn)鼠標(biāo)繪制人工擬合基準(zhǔn)線。

      1.2 系統(tǒng)功能需求分析及設(shè)計

      軟件功能設(shè)計需立足于需求分析,保證所設(shè)計功能沒有冗余,力求達到簡潔實用,是軟件質(zhì)量的根本要求。

      讀取圖像和保存功能是系統(tǒng)的2個基本功能,棗園植保時期和收獲時期的環(huán)境差異很大,路徑提取算法也不同,軟件開發(fā)將分2個階段算法進行;視覺導(dǎo)航通常需要對目標(biāo)像素分布規(guī)律作分析,為整個路徑提取方法找到突破口,因此,軟件設(shè)計基于繪制剖面線上RGB各分量的曲線圖功能分析目標(biāo)所在區(qū)域的分布規(guī)律,為后續(xù)目標(biāo)和背景分割提供重要線索;綜合對棗園植保時期和收獲時期圖像剖面線各分量像素曲線分析,設(shè)計了色差法分割、大津法分割及基于掃描行自適應(yīng)分割方法;分割后的圖像,通常伴隨噪聲,另外矮化密植棗園線性分布特性明顯,根據(jù)視角規(guī)律,由近及遠(yuǎn)看作物行時,整體上呈現(xiàn)梯形分布(圖1)。

      根據(jù)圖1-c可以看出,行邊緣所圍成的區(qū)域為1個梯形加1個矩形,圖1-d行邊緣圍成1個梯形區(qū)域,基于這2種模式分別設(shè)計了“行間區(qū)域掃描去噪方法”和“梯形掃描去噪方法”;基于上述2種方法去噪后,在行邊緣附近有少量的噪聲,樹干為縱向分布,且所在區(qū)域白色像素點分布稠密,易于和其他區(qū)域區(qū)分,根據(jù)這個特性,設(shè)計了灰度垂直投影方法去除樹干邊緣噪聲,以提取樹干骨架,但仍有部分相對較大閉合區(qū)域噪聲無法去除,設(shè)計了小面積去噪方法;樹干區(qū)域內(nèi)部存在孔洞,為了填充孔洞,設(shè)計形態(tài)學(xué)處理功能;骨架提取后,找出行邊緣臨界點,需要對這些候補點群進行擬合,采用最小二乘法對直線進行擬合,路徑提取需要對算法性能進行評估,系統(tǒng)主要考慮偏差角、耗時、擬合基準(zhǔn)線方程和人工擬合直線方程系統(tǒng)采用模塊化結(jié)構(gòu)設(shè)計(圖2)。

      1.3 圖像處理算法

      本軟件涉及多個圖像處理算法,為節(jié)約篇幅,僅寫出下列幾個提出的核心算法。

      1.3.2 行間掃描去噪方法 設(shè)Si和Ei分別為第j行起點和終點橫坐標(biāo),起始掃描行S0=20,E0=M-S0-1,M為圖像的長,由下往上逐行掃描圖像。

      ①從每行起始點(Sj,j)開始掃描,若當(dāng)前點(i,j)為白色像素點,將其置0,若當(dāng)前點坐標(biāo)為(Ej,j),跳轉(zhuǎn)至下一行。

      ②若是當(dāng)前行j=0,則終止掃描,否者轉(zhuǎn)步驟③。

      ③若Sj+5=Ej-5,則Sj+1=Sj+1,Ej+1=Ej-1,j=j-1;否則j=j-1。

      ④根據(jù)更新后的Sj+1、Ej+1、j跳轉(zhuǎn)步驟①。

      1.3.3 梯形掃描去噪 設(shè)圖像分辨率為M×N,利用灰度垂直投影方法求取圖像y=20水平線以上部分區(qū)域的波谷點Pbattom(ic,0),計算波谷點左右兩側(cè)的點ls(ic-6,0),rs(ic+6,0)在直線x=ic的兩側(cè),圖像底邊分別找出點le(20,N-1)和點re(M-20,N-1),將點ls和點le利用兩點式方程求取去梯形左側(cè)腰的一般方程ALx+Bly+Cl=0,同理,利用點rs、re求取梯形右側(cè)腰的一般方程Arx+Bry+Cr=0;由上往下逐行掃描圖像,點(i,j)為當(dāng)前掃描位置,若滿足Ali+Blj+Cl≥0,且Ali+Brj+Cr≥0,則將點(i,j)像素點置0(圖3)。

      2 系統(tǒng)功能的實現(xiàn)

      本軟件圖像處理算法使用Opencv實現(xiàn),界面使用MFC實現(xiàn)。軟件參數(shù)顯示界面使用Opencv窗口嵌入MFC技術(shù),即是將Opencv活動窗口與MFC可視化界面的Pictcture控件綁定,首先使用Opencv的cvNameWindow函數(shù)創(chuàng)建1個活動窗口并設(shè)置窗口名稱及外觀屬性參數(shù),而后使用cvGetWindowHandle函數(shù)獲取窗口句柄標(biāo)志,并將獲取的句柄傳給1個HWND類型變量hWnd,使用GetDlgItem函數(shù)獲取MFC可視化界面Picture控件的句柄指針,使用MFC中GetParent函數(shù)獲取父窗口句柄,使用SetParent函數(shù)通過已獲取的窗口句柄和Picture控件句柄綁定關(guān)聯(lián),實現(xiàn)界面窗口“一體化”,核心代碼如下:

      cv::namedWindow(‘show’,cv::WINDOW_NORMAL);//設(shè)置依附關(guān)系

      HWND hWnd=(HWND)cvGetWindowHndle(‘show’);

      HWND hParent =::GetParent(hWnd);//設(shè)置窗口和Picture控件關(guān)聯(lián)

      ::SetParent(hWnd,GetDlgItem(IDC_PICSHOW)->m_hWnd);

      ::ShowWindow(hParent,SW_SHOW);//設(shè)置窗口屬性

      系統(tǒng)讀取圖像使用OpenCV中cvLoadImage函數(shù),得到的圖像類型為IplImage*,但是這種類型不便于算法處理,為此使用強制類型轉(zhuǎn)化為Mat,在算法中可以更加方便靈活地運用矩陣運算高效率的處理圖像,使用自定義函數(shù)SetImageSize(IplImage* img,int flag)將圖像分辨率設(shè)置為230×168,使用cvSaveImage函數(shù)保存圖像,訪問像素點或為像素點賦值使用Mat.at()函數(shù),原因是語法簡單,效率高。軟件使用到的繪圖函數(shù)涉及cvLine函數(shù),負(fù)責(zé)繪制直線,例如邊緣線、基準(zhǔn)線等。算法分為兩大類,分別是棗園收獲時期路徑提取算法和植保時期路徑提取算法。收獲時期自定義算法主要核心函數(shù)簡要:void ImagePreProcess(Mat& src,Mat& dst)函數(shù)功能是將圖像灰度化并使實現(xiàn)基于行掃描的行自適應(yīng)分割方法;void CenterPixelToZero(Mat& src,Mat& dst,int step=0)函數(shù)功能實現(xiàn)“行間去噪”功能,即是消除分割圖像中棗樹行間存在隨機分布的噪聲;void ScaningWind_LR(Mat& src,int step)函數(shù)功能是計算局部窗口的灰度垂直投影以實現(xiàn)樹干骨架的提取,使用Opencv函數(shù)void cvMorphologyEx(const CvArr* src,CvArr* dst,CvArr* tmp,IplConvKernel* element,int operation,int iterations=1)實現(xiàn)形態(tài)學(xué)運算,目的是消除孤立點或填充孔洞;Void GetScatterPointSetPos(Mat&src_8u1c,Mat&dst_8u3c,intendScanPos,CArray&ptarrR,CArray&ptarrL,float&fit_k,float& fit_b)功能是提取樹干與地面的交點,并采用最小二乘法對這些候補點用最小二乘法擬合及導(dǎo)航基準(zhǔn)線提取。植保時期自定義算法函數(shù)主要有void ImageReverse(Mat&src)實現(xiàn)圖像反轉(zhuǎn)功能;void AutoTrangleDennoise(Mat& src,float ceff,int step,int&border_pt)實現(xiàn)“梯形掃描去噪”功能,void LabelSetting(Mat& src,int th=200)功能是“面積去噪”;void GetSumerTrendLine(Mat& src,int x_pos,Carray&LCandidatePt,Carray&RCandidatePt,float& LA,float& LB,float& RA,float& RB,CvPoint& lp,CvPoint& rp,int flag)功能是確定行邊緣“趨勢線”;void DrawSummerNavLine(Mat& src,int& x_pos,float &LA,float& LB,float& RA,float& RB,float& CA,float& CB)是繪制導(dǎo)航基準(zhǔn)線。

      3 各個時期路徑提取流程圖

      系統(tǒng)視覺導(dǎo)航路徑提取流程圖如圖4所示。

      4 軟件運行實例

      打開系統(tǒng),進入主界面菜單,用戶可以根據(jù)需求進行相關(guān)操作。

      例如需要分析圖像分布,選中“RGB分布”按鈕進入對話框向?qū)?,選擇“加載圖片”按鈕,向左右打滑動條,選擇當(dāng)前“剖面線”的位置,最后“確認(rèn)”,即可繪制當(dāng)前位置剖面線及其分量分布圖(圖5);點擊“路徑提取”進入路徑提取對話框,點擊“讀取圖像”,獲取邊緣及路徑提取圖像(自動保存圖像至工程文件夾中),用鼠標(biāo)在圖像上進行人工擬合基準(zhǔn)線,點擊“確定當(dāng)前點”按鈕,獲取人工擬合基準(zhǔn)線,綠色線條為人工擬合直線,紫色為算法提取基準(zhǔn)線,右側(cè)顯示算法性能參數(shù)(圖6)。圖7是工程文件夾中保存路徑提取結(jié)果圖像,其中圖7-a~圖7-e為收獲時期路徑提取算法過程,分別為原圖像、基于行掃描“自適應(yīng)分割”、“行間去噪”、“灰度垂直投影法”提取樹干骨架、路徑提取結(jié)果;圖7-f~圖7-j、圖7-k~圖7-o為植保時期環(huán)境路徑提取算法過程,圖7-f~圖7-j分別為原圖像、大津法分割、“梯形掃描”去噪、“灰度垂直投影”提取樹干骨架、路徑提取結(jié)果;圖7-k~圖7-o分別為原圖像、|R-G|色差法分割結(jié)果、“梯形掃描去噪”、路徑提取結(jié)果。

      5 結(jié)論

      本系統(tǒng)界面簡單友好,能夠分析圖像目標(biāo)像素分布規(guī)律,檢測棗園植保時期及收獲時期視覺導(dǎo)航路徑,系統(tǒng)采用模塊化結(jié)構(gòu)開發(fā),各個子功能模塊相對獨立;系統(tǒng)拓展性好,后續(xù)可以根據(jù)實際需求添加相關(guān)功能模塊,系統(tǒng)需要考慮棗園圖像環(huán)境的變化情況改進和完善植保時期和收獲時期路徑提取算法功能模塊,以增強算法健壯性和可靠性;該系統(tǒng)的研發(fā)可為類似行業(yè)自主導(dǎo)航作業(yè)提供參考。

      參考文獻:

      [1]吳長雷,雷 勇,梁銀麗. 移動機器人視覺導(dǎo)航系統(tǒng)的設(shè)計與實現(xiàn)[J]. 四川大學(xué)學(xué)報(自然科學(xué)版),2010,47(6):1289-1294.

      [2]孫賢剛,伍錫如,黨選舉,等. 基于視覺檢測的蘋果采摘機器人系統(tǒng)設(shè)計與實現(xiàn)[J]. 農(nóng)機化研究,201638(9):151-155,160.

      [3]徐慶增,楊世鳳,楊美艷. 采摘機械手離線軌跡智能優(yōu)化——基于改進差分進化算法[J]. 農(nóng)機化研究,2017,39(2):191-195.

      [4]李碧青,朱 強,鄭仕勇,等. 雜草自動識別除草機器人設(shè)計——基于嵌入式Web和ZigBee網(wǎng)關(guān)[J]. 農(nóng)機化研究,2017,39(1):217-221.

      [5]趙 穎,孫 群,陳兵旗,等. 基于機器視覺的非結(jié)構(gòu)化道路導(dǎo)航路徑檢測方法[J]. 農(nóng)業(yè)機械學(xué)報,2007,38(6):202-204.

      [6]宋懷波,何東健,辛湘俊. 基于機器視覺的非結(jié)構(gòu)化道路檢測與障礙物識別方法[J]. 農(nóng)業(yè)工程學(xué)報,2011,27(6):225-230.

      [7]吳佳藝. 基于機器視覺的農(nóng)林環(huán)境導(dǎo)航路徑生成算法研究[D]. 杭州:浙江工業(yè)大學(xué),2009.

      [8]張方明. 田間路徑識別算法和基于立體視覺的車輛自動導(dǎo)航方法研究[D]. 杭州:浙江大學(xué),2006.

      [9]張偉華. 基于視覺的農(nóng)用輪式移動機器人導(dǎo)航路徑識別[D]. 楊凌:西北農(nóng)林科技大學(xué),2009.

      [10]王新忠,韓 旭,毛罕平,等. 基于最小二乘法的溫室番茄壟間視覺導(dǎo)航路徑檢測[J]. 農(nóng)業(yè)機械學(xué)報,2012,43(6):161-166.

      [11]李景彬,陳兵旗,劉 陽,等. 采棉機視覺導(dǎo)航路線圖像檢測方法[J]. 農(nóng)業(yè)工程學(xué)報,2013(11):11-19.

      [12]高國琴,李 明. 基于K-means算法的溫室移動機器人導(dǎo)航路徑識別[J]. 農(nóng)業(yè)工程學(xué)報,2014,30(7):25-33.

      [13]何 潔,孟慶寬,張 漫,等. 基于邊緣檢測與掃描濾波的農(nóng)機導(dǎo)航基準(zhǔn)線提取方法[J]. 農(nóng)業(yè)機械學(xué)報,2014(S1):265-270.

      [14]吳佳藝,楊慶華,鮑官軍,等. 基于機器視覺的林間導(dǎo)航路徑生成算法[J]. 農(nóng)業(yè)機械學(xué)報,2009,40(7):176-179.

      [15]He B,Liu G,Ji Y,et al. Auto recognition of navigation path for harvest robot based on machine vision[M]//Computer and computing technologies in agriculture Ⅳ. Springer Berlin Heidelberg,2011:138-148.

      猜你喜歡
      基準(zhǔn)線棗園函數(shù)
      碳交易市場體系中的碳排放基準(zhǔn)線:應(yīng)用實踐、研究進展與展望
      低產(chǎn)棗園如何改造
      二次函數(shù)
      第3講 “函數(shù)”復(fù)習(xí)精講
      二次函數(shù)
      函數(shù)備考精講
      山地棗園節(jié)水保墑措施
      河北果樹(2020年2期)2020-01-09 11:15:07
      三種土壤改良劑對鹽堿地冬棗園的影響
      河北果樹(2020年1期)2020-01-09 06:59:50
      遂昌县| 临颍县| 鲁甸县| 民乐县| 西盟| 张家港市| 乡城县| 静乐县| 历史| 上虞市| 东源县| 宿松县| 安仁县| 大洼县| 郑州市| 辉县市| 定南县| 独山县| 河北区| 正蓝旗| 黄浦区| 东明县| 文登市| 徐州市| 梁山县| 巴彦淖尔市| 高要市| 伊金霍洛旗| 新干县| 五常市| 沙洋县| 定襄县| 会昌县| 红桥区| 郓城县| 那坡县| 怀仁县| 积石山| 咸阳市| 昭苏县| 磴口县|