原创 OpenCV-contrib庫在Cmake3.7.0+VS2015+OpenCV3.4.0環境下的編譯配置

若想要調用Sift等算法的API,需要用到contrib庫。 這個庫的配置是一個大坑,整體的配置流程不加以贅述,詳情參考:https://blog.csdn.net/k87974/article/details/76732222,

原创 SIFT算法【1.3】尺度空間構建之關於高斯差分金字塔的一點理解

在學習SIFT算法時,關於我們之所以構建高斯差分金字塔(DoG)的原因,我一直沒有一個直觀的理解,尤其無法理解高斯差分算子(DoG)爲什麼與高斯拉普拉斯算子(LoG)的近似。爲了弄清這個問題,首先講解什麼是高斯拉普拉斯算子: 高斯

原创 【Canny邊緣檢測】OpenCV代碼實現

最近在做特徵提取,學習鞏固一些基礎算法在OpenCV編程中的實現。 Canny邊緣檢測算子簡介 圖片來源:毛星雲老師的《OpenCV3編程入門》 OpenCV函數Canny簡介 代碼實現 該代碼的功能是對一張圖片進行Can

原创 【Shi-Tomasi角點檢測+SIFT特徵匹配】OpenCV&C++實現

在進行SIFT特徵提取時,由於會提取數量較多的尺度空間特徵點,會導致特徵向量提取和特徵點匹配環節的用時較長。在三維測量等應用條件下,角點是進行測量的關鍵點,因此採用Shi-Tomasi或Harris角點檢測提取關鍵的特徵點,可以減

原创 SIFT算法【1.1】尺度空間構建中用到的一些openCV基礎函數

resize resize函數是openCV中用於下采樣改變圖像尺寸的函數。調用方式如下: void cv::resize ( InputArray src, OutputArray dst, Size dsize, double

原创 【OpenCV】雙目重建獲得三維座標點+【Meshlab】三維點雲展示

重建對象是阿黃送我的小柯基積木: 1.使用OpenCV中SGBM算法相關的API進行三維點雲的計算 獲得的點雲比較密集,但是有較多的空洞,而且同時獲取了桌面的點雲,浪費了算力,運算速度較慢。最終將獲取的點雲導入Meshlab的

原创 【C++】內聯函數

函數調用的實現過程: 執行函數調用指令時,程序將立即存儲該指令的內存地址 將函數參數複製到堆棧(把該函數內存塊保存一下) 跳到該函數的起點內存地址,執行該函數(可能還需要把返回值放入寄存器中) 最後跳回函數調用指令的存儲地址 由上

原创 【C++】如何輸出專業的時間戳

1.GetLocalTime與GetSystemTime區別 GetLocalTime和GetSystemTime是Windows API 函數,用來獲取當地的當前系統和格林威治日期和時間,北京時間和格林威治時間兩者相差了8小時。

原创 OpenCV中的函數參數中的mask的異同

所謂mask,就是我們常常說到的掩膜,在opencv中,利用掩膜,我們可以完成對圖像ROI的局部操作;可以對圖像進行濾波;可以在進行特徵匹配的繪製時僅選取匹配較好的點進行繪製。總之,掩膜的很大一種用途是對Mat的元素進行精確的部分

原创 SIFT算法【1.2】尺度空間構建之高斯金字塔和高斯差分金字塔的構建(C++)

SIFT算法的第一個部分是尺度空間的構建,需要生成高斯金字塔和高斯差分金字塔,步驟細節和部分數學原理(https://blog.csdn.net/lcj369387335/article/details/18258333) 函數-