原创 一起做RGB-D SLAM (2)

第二講 從圖像到點雲   本講中,我們將帶領讀者,編寫一個將圖像轉換爲點雲的程序。該程序是後期處理地圖的基礎。最簡單的點雲地圖即是把不同位置的點雲進行拼接得到的。   當我們使用RGB-D相機時,會從相機裏讀到兩種數據:彩色圖像和深

原创 實用教程|快速搭建自動導航機器人( 二)

4. STM32固件配置   底盤的固件代碼需要修改爲適應當前底盤的具體參數,可以用slamware_config_tool.exe工具來自動生成配置文件:   配置工具鏈接:http://pan.baidu.com/s/1qXHW

原创 實用教程|快速搭建自動導航機器人(三)

系統整體座標系: 輸出底盤調試信息   在配置MCU固件代碼的時候,如果需要輸出調試信息,可以連接J7調試輸出口至電腦USB用SSCOM工具查看調試信息。   請自行下載SSCOM工具,並運行。   比如在底盤代碼中加

原创 視覺SLAM實戰(二):ORB-SLAM2 with Kinect2

前言   實戰系列很久沒有更新了。近期拿到了一臺不錯的Thinkpad和Kinect v2,前兩天orbslam2又放出,於是想要在kinect2下嘗試一下orb slam。整個過程沒有特別多的技術含量,讀者可以把它當成一個實驗步驟的

原创 Mastering Opencv ch4:SFM詳解(一)

主要內容: 1:從兩幅圖像估計攝像機的運動姿態。 2:重構場景 3:從視圖中重構 4:重構細化 5:可視化三維點雲 I:假定使用一個標定過的攝像機——一個先前標定過的攝像機。前面的博客也提到如何進行相機標定。因此,我們假定攝像機內參數存在

原创 OPENCV3.0 雙目立體標定

這裏是在上一篇單目標定的基礎上拓展來的進行雙目標定的程序。 在這個程序裏面,默認是先對兩個攝像頭分別進行了單目標定的,也就是說相機的內參數和畸變向量是知道了的。 所以在進行標定的時候,參數選擇的是CALIB_USE_INTRINSIC_G

原创 一起做RGB-D SLAM 第二季 (一)

小蘿蔔:師兄!過年啦!是不是很無聊啊!普通人的生活就是賺錢花錢,實在是很沒意思啊!   師兄:是啊……   小蘿蔔:他們都不懂搞科研和碼代碼的樂趣呀!   師兄:可不是嘛……   小蘿蔔:所以今年過年,我們再做一個SLAM吧!之

原创 一文搞懂HMM(隱馬爾可夫模型)

什麼是熵(Entropy) 簡單來說,熵是表示物質系統狀態的一種度量,用它老表徵系統的無序程度。熵越大,系統越無序,意味着系統結構和運動的不確定和無規則;反之,,熵越小,系統越有序,意味着具有確定和有規則的運動狀態。熵的中文意思是熱量

原创 SLAM拾萃(1):octomap

本篇是《SLAM拾萃》第一篇,介紹一個建圖工具:octomap。和往常一樣,我會介紹它的原理、安裝與使用方式,並提供例程供讀者學習。必要時也會請小蘿蔔過來吐槽。(小蘿蔔真是太好用了,它可以代替讀者提很多問題。)  什麼是octomap

原创 實用教程|快速搭建自動導航機器人(一)

服務機器人的核心問題在於自主定位與導航,它主要包括幾大問題:   無需用戶干預,機器人自主構建環境地圖? 實時、高精度的獲取機器人所在位置? 有效規避環境障礙,抵達目標地點? 在未知環境中,有效規劃兩地之間最短路線?  

原创 雙目立體匹配算法:ADCensus概述

ADCensus立體匹配算法是Xing Mei, Xun Sun, Mingcai Zhou等幾個人 在2011年,發表的一篇題目爲:《On Building anAccurate Stereo Matching System o

原创 Mastering Opencv ch4:SFM詳解(三)

前面已經利用分解本質矩陣E得到兩幅圖像的姿態R1,R2,t1,t2.  如何把這四個值組合成P1,得到正確的解,接下來就要分析。 1:利用三維重構求取在攝像機前面的重構點的所佔比,得出最高佔比的那個P1,就是要求得解。 P1 = M

原创 Mastering Opencv ch4:SFM詳解(二)

前文分析瞭如何進行特徵檢測匹配,接下來分析如何求解攝像機矩陣。 I:求解基礎矩陣 首先介紹兩個代碼段,關於關鍵點和Point2f相互轉化的函數 void KeyPointsToPoints(const vector<KeyPoin

原创 使用Opencv保存視頻

使用相機或圖片集,讀取後保存成視頻,可以調用OpenCV內部API,蠻簡單的,主要就是VideoWriter類的使用;這裏簡單記錄下,方便查詢。 #include <opencv2/opencv.hpp> #include <iostre

原创 OPENCV3.0 單目攝像頭標定(使用官方自帶的標定圖片)

// opencv_test.cpp : 定義控制檯應用程序的入口點。 // #include "stdafx.h" #include <opencv2/opencv.hpp> #include <highgui.h