機器人視覺應用程序可以帶來一系列復雜的需求,但開源庫可以為幾乎所有需求提供解決方案。開發(fā)人員可以找到從基本的圖像處理和對象識別再到運動規(guī)劃和避免碰撞的開源軟件包 。另外,還有有一些關鍵的開源圖像處理軟件包,可以幫助開發(fā)人員實現(xiàn)復雜的機器人系統(tǒng)。
在可用的開源軟件包中,OpenCV可能是使用最廣泛、功能最豐富的。OpenCV分發(fā)版實現(xiàn)了超過2500種算法,通過一系列模塊處理圖像處理需求,其中包括以下內(nèi)容:
core,定義所有其他模塊使用的基本數(shù)據(jù)結(jié)構(gòu)和函數(shù);
imgproc,提供圖像處理功能,包括線性和非線性圖像濾波、幾何圖像變換、顏色空間轉(zhuǎn)換、直方圖等;
video,支持運動估計,背景減法和對象跟蹤算法;
calib3d,提供基本幾何算法,攝像機校準,物體姿態(tài)估計等;
features2d,提供特征檢測器,描述符和描述符匹配;
objdetect,提供對象和預定義類實例的檢測;
OpenCV使用c++編寫,支持c++、Python、Java和Matlab接口,支持Windows、Linux、Android和Mac OS。OpenCV除了支持單指令、多數(shù)據(jù)(SIMD)指令集外,還通過GPU模塊為許多功能提供基于cuda的GPU加速,通過ocl模塊提供OpenCL加速。最近發(fā)布的OpenCV 4.0帶來了許多性能改進和功能,包括流行的Kinect融合算法的實現(xiàn)。
就其功能而言,OpenCV可能需要一個學習過程,這超出了希望使用機器人視覺快速移動的開發(fā)人員的耐心。對于這些開發(fā)人員,基于python的SimpleCV也可能是個不錯的選擇。SimpleCV構(gòu)建于OpenCV之上,它提供了高級機器人視覺開發(fā)人員所需的功能,但也提供了一個可訪問的框架,幫助經(jīng)驗較少的開發(fā)人員使用簡單的Python函數(shù)調(diào)用來探索基本的機器視覺功能。例如,開發(fā)人員可以使用SimpleCV image類中的一個簡單內(nèi)置方法(下面清單中的img. binalize())快速實現(xiàn)常用的函數(shù),比如圖像閾值化,最后顯示如圖1所示的結(jié)果。
fromSimpleCVimportImage,Color,Display #Makeafunctionthatdoesahalfandhalfimage. defhalfsies(left,right): result=left #croptherightimagetobejusttherightside. crop=right.crop(right.width/2.0,0,right.width/2.0,right.height) #nowpastethecropontheleftimage. result=result.blit(crop,(left.width/2,0)) #returntheresults. returnresult#Loadanimagefromimgur.img=Image('http://i.imgur.com/lfAeZ4n.png') #binarizetheimageusingathresholdof90#andinverttheresults.output=img.binarize(90).invert()#createthesidebysideimage.result=halfsies(img,output)#showtheresultingimage.result.show()#savetheresultstoafile.result.save('juniperbinary.png')
圖1.上面列出的Python代碼的結(jié)果(來源:SimpleCV)
除了基本的圖像處理功能外,OpenCV和SimpleCV還實現(xiàn)了許多高級圖像處理算法,機器人系統(tǒng)需要處理對象或在物理環(huán)境中安全運行。在許多這些計算中使用的基本數(shù)據(jù)結(jié)構(gòu)之一是點云 – 表示對象的多維數(shù)據(jù)點的集合(圖2)。從相機獲取,對象的點云用于基本的機器人操作,例如對象識別,對齊和擬合。對于使用點云,點云庫(PCL)[源代碼]實現(xiàn)了過濾,擬合,關鍵點提取,分割等算法。
圖2.基本環(huán)面的點云數(shù)據(jù)集。
-
機器人
+關注
關注
213文章
30309瀏覽量
218337 -
開源軟件
+關注
關注
0文章
212瀏覽量
16483
原文標題:如何利用開源軟件開發(fā)機器人視覺系統(tǒng)?
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
機器視覺系統(tǒng)工業(yè)相機的成像原理及如何選型
明遠智睿SSD2351開發(fā)板:語音機器人領域的變革力量
盤點#機器人開發(fā)平臺
【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】視覺實現(xiàn)的基礎算法的應用
【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+內(nèi)容初識
大象機器人攜手進迭時空推出 RISC-V 全棧開源六軸機械臂產(chǎn)品
NVIDIA Isaac GR00T N1開源人形機器人基礎模型+開源物理引擎Newton加速機器人開發(fā)
名單公布!【書籍評測活動NO.58】ROS 2智能機器人開發(fā)實踐
【「具身智能機器人系統(tǒng)」閱讀體驗】2.具身智能機器人的基礎模塊
【「具身智能機器人系統(tǒng)」閱讀體驗】2.具身智能機器人大模型
新型復眼結(jié)構(gòu)有望革新機器人視覺系統(tǒng)
【「具身智能機器人系統(tǒng)」閱讀體驗】+初品的體驗
《具身智能機器人系統(tǒng)》第1-6章閱讀心得之具身智能機器人系統(tǒng)背景知識與基礎模塊
安森美機器視覺系統(tǒng)解決方案

如何利用開源軟件開發(fā)機器人視覺系統(tǒng)
評論