1. 程式人生 > >Opencv3.1.0+opencv_contrib配置及使用SIFT測試

Opencv3.1.0+opencv_contrib配置及使用SIFT測試

因為需要用到一些比較新的跟蹤演算法,這兩天裝了opencv3.1並配置了opencv_contrib,並使用了SIFT演算法測試是否配置成功。
1.opencv3.1安裝與配置
這裡不多言,不熟悉的可以參考淺墨的部落格:http://blog.csdn.net/poem_qianmo/article/details/19809337
2.opencv_contrib安裝與配置
從opencv3以來,一些比較新的功能都挪到了“opencv_contrib”庫裡。配置這個庫需要重新編譯opencv,關於此部分可以參考教程:http://blog.csdn.net/linshuhe1/article/details/51221015


關於此教程需要補充兩點:A,使用cmake編譯的過程中經常會失敗,因為國內網路問題ippicv_windows_20151201.zip 檔案下載失敗導致,可以直接從這裡下載:http://download.csdn.net/detail/qjj2857/9495013 B.教程最後配置包含目錄、庫目錄時沒有提及新增環境變數,這裡也是同樣需要的。還有一切配置完成後別忘了重啟電腦喲。
3.寫個程式測試一下配置是否成功吧
opencv3.1中SIFT匹配是在opencv_contrib庫中的,這裡我們就用它來做一個簡單的測試。
參考:
1. cv::xfeatures2d::SIFT Class Reference:
http://docs.opencv.org/3.1.0/d5/d3c/classcv_1_1xfeatures2d_1_1SIFT.html#gsc.tab=0

2. OpenCV3.1 xfeatures2d::SIFT 使用:http://blog.csdn.net/lijiang1991/article/details/50855279
程式:

#include <iostream>
#include <opencv2/opencv.hpp>  //標頭檔案
#include <opencv2/xfeatures2d.hpp>
using namespace cv;  //包含cv名稱空間
using namespace std; int main() { //Create SIFT class pointer Ptr<Feature2D> f2d = xfeatures2d::SIFT::create(); //讀入圖片 Mat img_1 = imread("1.jpg"); Mat img_2 = imread("2.jpg"); //Detect the keypoints vector<KeyPoint> keypoints_1, keypoints_2; f2d->detect(img_1, keypoints_1); f2d->detect(img_2, keypoints_2); //Calculate descriptors (feature vectors) Mat descriptors_1, descriptors_2; f2d->compute(img_1, keypoints_1, descriptors_1); f2d->compute(img_2, keypoints_2, descriptors_2); //Matching descriptor vector using BFMatcher BFMatcher matcher; vector<DMatch> matches; matcher.match(descriptors_1, descriptors_2, matches); //繪製匹配出的關鍵點 Mat img_matches; drawMatches(img_1, keypoints_1, img_2, keypoints_2, matches, img_matches); imshow("【match圖】", img_matches); //等待任意按鍵按下 waitKey(0); }

原始圖片:
這裡寫圖片描述
這裡寫圖片描述
匹配結果:
這裡寫圖片描述

———————————-2016/8/12———————————
1.關於Ubuntu下opencv3.1及opencv_contrib的安裝與配置可參考:
官網:Installation in Linux
http://www.cnblogs.com/asmer-stone/p/5089764.html
上博文中有兩點需要注意:
A.按上文參考所述,第3步build資料夾需建在~/opencv/opencv資料夾中;且cmake時按照作者示例OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib/modules ,注意”<>”需要去掉;末尾的.. 表示opencv原始碼在上一級目錄中。當然如果你瞭解cmake的使用方法cmake [optional] <opencv source directory>, 可以任意設定資料夾目錄。
B.與在windows下相同,cmake時會因為“ippicv_linux_20151201.tgz 無法下載”而導致失敗。我們可以從http://download.csdn.net/download/lx928525166/9479919下載,並放入相應資料夾中。
2. 好,現在假設你已經安裝配置好了。由於在windows下我們習慣了用一個IDE來程式設計,這裡在Ubuntu下我選擇使用eclipse來作為程式設計環境,下邊簡單說一下怎麼在eclipse中配置opencv。
首先參考官網: http://docs.opencv.org/3.1.0/d7/d16/tutorial_linux_eclipse.html 你就應該能配置的差不多了,或者其他類似的吧網上一大堆。
但是中間可能會出現一些小問題,我個人配置的時候出現了兩個小問題:
A. 錯誤 undefined reference to symbol ‘_ZN2cv6imreadERKNS_6StringEi’ ,參考:http://answers.opencv.org/question/46755/first-example-code-error/
B. 錯誤 error while loading shared libraries: libopencv_core.so.3.0: cannot open shared object file: No such file or directory ,參考:http://stackoverflow.com/questions/27907343/error-while-loading-shared-libraries-libopencv-core-so-3-0
3. 所有配置均完成後,在上述windows下的程式碼可以在這裡直接執行。見下圖:
這裡寫圖片描述
4.關於在ubuntu下執行其他samples程式。這裡以cpp為例,直接找到opencv/samples/cpp/example_cmake,這裡有一個示例已經提供了Makefile檔案,make一下即可生成可執行檔案。其他cpp示例檔案類似。

相關推薦

Opencv3.1.0+opencv_contrib配置使用SIFT測試

因為需要用到一些比較新的跟蹤演算法,這兩天裝了opencv3.1並配置了opencv_contrib,並使用了SIFT演算法測試是否配置成功。 1.opencv3.1安裝與配置 這裡不多言,不熟悉的可以參考淺墨的部落格:http://blog.csdn.ne

OpenCV3.1.0+VS2013配置+Win7(64位)

    最近需要做影象處理,打算使用的OpenCV,借了一本毛星雲、冷雪飛著的《OpenCV3程式設計入門》,感覺確實不錯,講的很詳細,但自己動手搭建的時候,遇到了很多問題,比如目前OpenCV官網最新的版本是OpenCV3.1.0,build裡只有x64,但書上寫的很詳

VS2013配置opencv3.1.0測試

最近需要做一些數字影象處理的實驗,需要用到opencv。因為電腦上只有VS2013,而最新的opencv3.2.0沒有VS2013的預編譯版本,手動編譯又屢屢失敗,所以只好下了3.1.0,裡面有VS2013的預編譯版本。而網上的教程又太老,很多東西行不通,又或者

Ubuntu下的opencv3.1.0安裝contrib庫的安裝+eclipse環境配置

1、基本情況: Ubuntu 14.04 系統下; eclipse編譯器; 安裝並配置opencv3.1.0及其contrib庫 2.安裝流程: (1)安裝依賴包: sudo apt-get install build-essential sudo apt-get install cma

win10下VS2017中opencv3.1.0contrib模組的安裝與配置注意事項

一、平臺與軟體下載 1.win10+vs2017+cmake3.10.2+opencv3.1.0+3.1.0contrib 注:opencv上官網下載,contirb模組與opencv版本相同 二、參考部落格 1.opencv 3.1.0與contrib下載好了之後,

ubuntu14.04 + GTX980ti + cuda 8.0 ---Opencv3.1.0配置

install release err idt rim cut fix module b- 狂踩坑,腦袋疼。 流程: 1.逛網下載opencv source Opencv3.1.0 zip 2.unzip解壓 3.安裝一堆先決必要的環境: sudo apt-get i

配置YOLO2(ubuntu16.04+cuda8.0+opencv3.1.0

href seconds make fun put ges jre 成功 下載 要求已經安裝好了CUDA 8.0 以及OpenCV3.1.0 YOLO官方網站 配置darknet git clone https://github.com/pjreddie/dark

Elam的caffe筆記之配置篇(五):Centos6.5配置opencv3.1.0

Elam的caffe筆記之配置篇(五):Centos6.5配置opencv3.1.0 配置要求: 系統:centos6.5 目標:基於CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6介面的caffe框架 1.下載opencv-3.1.0.t

win10下vs2015配置Opencv3.1.0過程詳解(轉)

下載安裝Opencv3.1.0 下載Opencv3.1.0,進入官網,點選opencv for windows即可下載。  點選執行下載好的檔案。實際上,opencv的安裝程式就是解壓縮檔案,個人因為只有C盤,所以就直接在C盤建了一個資料夾Opencv3.

[Python初接觸]Windows10-32bit+Python2.7.12+OpenCV3.1.0配置

       筆者在Windows10-64bit + Python2.7.12 + OpenCV3.1.0配置上進行了配置,併成功了。現在,筆者拎起另一臺電腦進行配置,並記錄如下,望共勉。    

OpenCV3.1.0+VS2013開發環境配置

之前總結過一個  ,OpenCV3.1.0釋出了,電腦上又重新安裝了VS2013,所以準備看看OpenCV3.1.0較之OpenCV2.4.9有哪些改善。 首先要做的就是 開發環境配置,具體過程如下

ubuntu 14.04 64位 安裝Opencv3.1.0 (包含opencv_contrib模組)

寫在前邊: 據官方說法,目前還不是太穩定的演算法模組都在opencv_contrib裡邊,由於不穩定,所以不能在release版本里發行,只有在穩定以後才會放進release裡邊。但是這裡邊有很多我們經常要用的演算法,比如SIFT,SURF等(在xfeatures2d 模組裡邊)。官網提供了說明,可以把op

OpenCV學習筆記——OpenCV3.1.0+VS2015開發環境配置

摘要:         由於最近AR(增強現實)這個概念非常火爆,各種基於AR的應用及遊戲逐漸面向大眾,而在AR中最重要的兩個技術就是跟蹤識別和增強渲染,其中跟蹤識別是通過OpenCV這個開源的計算機視覺庫來實現的,所以我就想著研究一下這個庫,這裡是個人的學習筆記,不是什麼

OpenCV3.1.0魚眼相機標定畸變校正

       常用的相機模型為針孔模型,此模型在視場較小的情況下是適用的,隨著視場的增加,模型誤差越來越大。        普通鏡頭和魚眼鏡頭成像原理的差異是造成此現象的根本原因。具體原理可以參見:

教你Qt5.10.1+OpenCV3.1.0配置教程(詳細版)

本機環境:Windows10-64位  Qt 5.10.1  OpenCV3.1.0 CMake3.11.0第一部分:系統環境變數設定首先在本機上裝好CMake和Qt。將自己安裝路徑下bin,例如本機的這兩個路徑新增到Path中。提示:先在環境變數中配置後編譯工具的路徑,在使

Code::Blocks16.01配置opencv3.1.0

opencv一直都是用VS上編寫的,一度覺得VS啟動速度太慢了,有的時候只是想寫個很簡單的程式但是要等個半天很不方便。 然後本來是打算給Atom配置opencv環境的,找到了一篇給sublime配置opencv環境的文章。 1、相關軟體下載 一開始是打

交叉編譯opencv3.1.0opencv_contrib/,在R16上執行HelloOpencv程式

http://www.cnblogs.com/asmer-stone/p/5089764.html http://blog.csdn.net/gatieme/article/details/49080355 以上是參考文章。 1)使用下面的命令安裝依賴庫,可能不全,缺什麼搜

[OpenCv]Win10 X64 + VS2015 + CMake3.6.1 靜態編譯OpenCv3.1.0測試

列表內容 一、OpenCv3.1.0配置 二、CMake3.6.1安裝 三、使用CMake3.6.1編譯OpenCv3.1.0 開啟CMake 開啟CMake,如圖 1

在Ubuntu14.04的64位下安裝opencv2.4.13和opencv3.1.0不同版本間切換的操作

最近幾天,一直在摸索Ubuntu14.04下安裝opencv2和opencv3及不同版本間切換的方法,嘗試了很多網上介紹的方法,也不是他們介紹的不對,只是介紹的安裝方法都很單一,無法完全滿足自己的當前需求,所以搜尋很多相關的部落格文章,結合自己的安裝經驗,覺得有

Android Studio2.2.2以後版本用CMake方法配置OpenCV3.1.0完善版

1、新建一個支援c++的工程 2、修改app目錄下的build.gradle,在defaultConfig新增 將OpenCV-Android-sdk\sdk\native\libs下的libs檔案件拷到工程的main目錄下,並重命名為jniLibs 在android{}下