SLAM十四講CH8代碼
在SLAM十四講的代碼編譯過程中direct_method.cpp
和optical_flow.cpp
有CV_GRAY2BGR
語句的報錯
這是因為CV_GRAY2BGR
是opencv2的用法,而slambook2的的cmakelist.txt中opencv的庫用的是opencv4,
因此要將CV_GRAY2BGR
改為cv::COLOR_BGR2GRAY
,這是用來將彩色圖轉(zhuǎn)換灰度圖的,之后就可以順利編譯
但是編譯之后,在運行代碼的時候會出現(xiàn)英文報錯,意思是輸入的圖片通道數(shù)無效,(核心已轉(zhuǎn)儲)
這是因為在slambook2的ch8中提供的圖片本身就是單通道的灰度圖,不需要進行轉(zhuǎn)換,因此只需要將相應(yīng)的代碼
注釋,再修改一下就好了。修改如下:
兩個cpp文件中的有關(guān)彩色圖轉(zhuǎn)換的代碼都需要修改,否則都會報錯。
// cv::cvtColor(img2, img2_CV, cv::COLOR_BGR2GRAY);
注釋掉這句
img2.copyTo(img2_CV);
直接將輸入的圖像拷貝給img2
另外圖片路徑問題,由于再編譯的時候我們會習(xí)慣mkdir一個build文件夾,編譯到這個文件夾里,因此再運行時
可以將direct_method和optical_flow復(fù)制到ch8文件里,然后運行,或者在代碼里將圖片路徑的代碼修改一下
例如:string left_file = "./left.png";
改為string left_file = "../left.png";
您可能感興趣的文章


閱讀排行
本欄相關(guān)
- 04-02qt用法小結(jié)2021_11_19
- 04-02Visual Studio C++ 默認(rèn) UTF-8 編碼及 *.edi
- 04-02【C++】extern "C"詳
- 04-02<五>關(guān)于類的各類成
- 04-02<六>指向類成員的指
- 04-02<四>構(gòu)造函數(shù)初始化
- 04-02<三>對象的淺拷貝和
- 04-02<二>掌握構(gòu)造函數(shù)和
- 04-02[C++]
- 04-02SLAM十四講CH8代碼
隨機閱讀
- 01-10C#中split用法實例總結(jié)
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 04-02jquery與jsp,用jquery
- 01-11ajax實現(xiàn)頁面的局部加載
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文