<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于Matlab和VC++混合編程的障礙檢測系統設計

基于Matlab和VC++混合編程的障礙檢測系統設計

作者: 時(shí)間:2011-04-11 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:文中主要研究移動(dòng)機器人在環(huán)境未知情況下的物檢測問(wèn)題,提出了一種++軟件實(shí)現方法。該方法整合了MATLAB的數值計算功能,具有強大的圖形、圖像處理功能和++的可視化、執行速度快、易維護升級等特點(diǎn)。實(shí)驗結果表明,這種檢測方法在的開(kāi)發(fā)過(guò)程中可以大大提高效率,并縮短軟件的開(kāi)發(fā)周期。
關(guān)鍵詞:;++;;障礙物檢測

0 引言
在智能移動(dòng)機器人自主導航的研究中,應用視覺(jué)來(lái)進(jìn)行實(shí)時(shí)障礙檢測,一直是研究的熱點(diǎn)問(wèn)題。目前,許多研究工作者已將視覺(jué)導航應用到移動(dòng)機器人的移動(dòng)控制中,但由于其圖像處理數據量大、算法較復雜,因此在具體應用中存在實(shí)時(shí)性較差、道路區域檢測的算法不夠魯棒、只能適合算法特定的道路模型等缺點(diǎn)。為了提高移動(dòng)機器人檢測障礙物的實(shí)時(shí)性,文中提出了一種和VC編程的障礙物軟件實(shí)現方法,可以大大提高編程的效率,縮短軟件的開(kāi)發(fā)周期,且可以快速準確地檢測到障礙物。

1 VC++與Matlab混合編程方法
Matlab是由美國MatlaWorks公司推出的用于算法開(kāi)發(fā)、數據分析以及數值計算的高級技術(shù)計算語(yǔ)言和交互式環(huán)境,在矩陣運算、數值計算和圖形顯示等方面,具有強大的功能,非常直觀(guān)、簡(jiǎn)潔。它為各工程計算領(lǐng)域提供了相應的工具箱,在控制界、生物醫學(xué)工程、語(yǔ)音處理、數字信號處理、雷達工程、信號分析、計算機技術(shù)等各行各業(yè)中都得到了廣泛的應用。但是和其它高級編程語(yǔ)言相比,它的程序執行速度較慢,其源代碼的公開(kāi)不利于算法和數據的保密。
VisualC++是Microsoft公司推出的面向對象可視化編程的高級程序語(yǔ)言,它集成了功能強大的編譯器、連接器、調試器、AppWizard等多種多樣的可視化編程工具。它采用編譯方式運行,運行速度快,特別是編寫(xiě)界面的能力很強。但它在數字處理分析、算法工具、編程效率和準確方便的繪制數據圖像方面遠低于Matlab語(yǔ)言。
Matlab與VC++常用的結合方法有5種:
①Matlab引擎。
②用Matcom將Matlab的M文件編譯成C語(yǔ)言文件并嵌入VC++。
③使用Matlab提供的函數庫或C++接口函數庫直接在VC中編程。
④利用Matlab提供的MCC命令生成與Matlab文件對應的C語(yǔ)言或C++語(yǔ)言的包裹文件,再嵌入VC中。
⑤應用組建技術(shù)實(shí)現Matlab與VC混合編程。
本研究針對5種方法進(jìn)行了研究和試驗。后4種方法對于Matlab的圖像處理工具箱只有部分支持,而Matlab引擎對Matlab具有全功能調用功能,包括對于數字圖像和通信對象處理的支持,故本文選用Matlab引擎來(lái)實(shí)現基于VC++和Matlab的障礙物檢測系統研發(fā)平臺。

2 障礙物檢測系統的與實(shí)現
2.1 Matlab和VC接口編譯環(huán)境的設置
在VC的集成環(huán)境中,如要實(shí)現與Matlab引擎之間的通信,需要對VC的編譯環(huán)境進(jìn)行一些設置,例如:為VC工程添加Matlab頭文件、添加Matlab庫文件等等。
2.2 VC中調用Matlab引擎的設置及程序實(shí)現
在VC中利用Matlab引擎進(jìn)行圖像處理,首先需要在程序中進(jìn)行一些基本定義,如在使用Matlab引擎類(lèi)的cpp文件中首先添加語(yǔ)句#inclu-de“engine.h”以及#include“matrix.h”,需要用Engine*m_ep定義Matlab引擎,用m_ep=engOpen(NULL)語(yǔ)句啟動(dòng)Matlab引擎;最后還要用engClose(m_ep)語(yǔ)句關(guān)閉Matlab引擎等。
本文研究的障礙物檢測系統主要是先利用雙目立體視覺(jué)來(lái)檢測障礙物的位置及距離等信息,并對移動(dòng)機器人的雙攝像機進(jìn)行控制來(lái)采集圖像對,然后對圖像進(jìn)行一系列的處理。其軟件采用模塊化開(kāi)發(fā)思想,主要包括圖像采集模塊、邊緣特征提取模塊、Otsu圖像分割模塊、攝像機標定模塊、立體匹配模塊和三維重建模塊。障礙物檢測系統主界面如圖1所示。

本文引用地址:http://dyxdggzs.com/article/156457.htm

a.JPG

c++相關(guān)文章:c++教程



上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>