對(duì)于三維視覺(jué),C++為何如此重要?
目前的三維視覺(jué)算法基本上都是用C++語(yǔ)言編寫(xiě)的,比如SLAM算法。既然這些算法都是C++編寫(xiě)的,必然有其自身原因。主要是因?yàn)椋?strong>SLAM系統(tǒng)是一個(gè)實(shí)時(shí)性要求很強(qiáng)的系統(tǒng),運(yùn)行速度與精度都很重要。Python也有加速手段,但總體上C++比較接近底層,在執(zhí)行效率和資源占用上要好很多。而且很多語(yǔ)言都是在C++或者C語(yǔ)言的基礎(chǔ)上進(jìn)行封裝的。
C++一直都被稱(chēng)作是最難學(xué)的計(jì)算機(jī)語(yǔ)言,筆者從業(yè)多年,也認(rèn)為確實(shí)如此。相比于其他幾種語(yǔ)言,單純從語(yǔ)法結(jié)構(gòu)來(lái)說(shuō),C++都是比較困難的。何況很多同學(xué)并不是計(jì)算機(jī)專(zhuān)業(yè)出身,基礎(chǔ)不是很扎實(shí)。SLAM算法都會(huì)集成了C++中的很多模塊,還有大量的第三方庫(kù),對(duì)于初學(xué)者而言,想讀懂這些算法源碼肯定更是難上加難。然而,這些源碼并不是無(wú)跡可尋,許多算法的編寫(xiě)都有比較固定的套路。
下圖是某個(gè)SLAM算法中的部分源碼。
本次課程,我們首先會(huì)用幾講的時(shí)間帶大家過(guò)一遍C++的基礎(chǔ)知識(shí),然后對(duì)三維視覺(jué)中常用的幾個(gè)C++模塊進(jìn)行重點(diǎn)講解,主要有指針、引用、類(lèi)和對(duì)象、宏和模板、STL編程、棧和隊(duì)列、智能指針,多線(xiàn)程,CMakeList這幾個(gè)章節(jié),另外會(huì)附上足夠多的實(shí)踐案例,也會(huì)在課程中給大家講解面試技巧和面試題。力求通過(guò)本次課程的學(xué)習(xí),徹底搞懂C++較難的一些模塊,掌握SLAM等算法的編寫(xiě)套路,學(xué)會(huì)C++相關(guān)崗位的面試技巧。
課程鏈接:https://ebzbf.xet.tech/s/u0qW2
添加微信:CV3d007,領(lǐng)取「試看視頻」。