1. 程式人生 > >VS2015+OpenCV-2.4.10配置AR(增強現實)開發環境

VS2015+OpenCV-2.4.10配置AR(增強現實)開發環境

1. 編譯OpenCV-2.4.10

1.1 安裝Dependency

1.2 CMAKE編譯OpenCV

第一步,用cmkae的gui工具configure要編譯的OpenCV工程:
(1)開始->Visula Studio 2015->Visual Studio Tools->Developer Comand Prompt for VS2015

(2)在彈出的命令列視窗輸入cmake-gui.exe的全路徑開啟cmake,並按照下圖配置source地址和build地址:

這裡寫圖片描述

(3)點選左下角的Configure按鈕,在彈出的編譯器選擇框內選擇“Visual Studio 14 2015”

這裡寫圖片描述

(4)在configure成功後會出現很多紅色欄,不用擔心,此時我們需要做最重要的一步:開啟OpenGL的支援。在”Search”框內輸入”opengl”,將Value勾上。

這裡寫圖片描述

(5)再點選一次左下角的Configure,這一次沒有紅色欄,全部變為白色,表示配置成功。

這裡寫圖片描述

(6)點選左下角Configure按鈕旁邊的”Generate”,會在opencv-2.4.10\build資料夾下生成解決方案檔案”OpenCV.sln”

(7)我們雙擊開啟”OpenCV.sln”,在Solution Explorer結構中找到ALL_BUILD,右鍵選中並點選Build;待生成成功後,找到INSTALL,右鍵選中並點選Build。

這裡寫圖片描述

這裡寫圖片描述

至此,支援OpenGL的OpenCV原始碼編譯過程就結束了。

2. 執行”Marker-less AR”例程

選擇下面這本書”Mastering OpenCV with Practical Computer Vision Project”的例子工程”Chapter 3: Marker-less Augmented Reality”進行AR的第一個程式執行。

全書的程式碼可以去下面的github地址進行下載:

https://github.com/MasteringOpenCV/code

我們進入第三章的Mark-less AR例程的資料夾:

code-master\Chapter
3_MarkerlessAR

shift+右鍵在這裡開啟命令列視窗,然後依次執行下面的命令:

#1
set OpenCV_DIR="D:\opencv-2.4.10\build"
#2
mkdir build
#3
cd build
#4
cmake -G "Visual Studio 14 2015" -D OpenCV_DIR=%OpenCV_DIR% ..
#5
start EXAMPLE_MARKERLESS_AR.sln 

現在我們就打開了最終生成的VS2015工程,右鍵選中ALL_BUILD進行生成:
這裡寫圖片描述

但是報了很多下面的錯誤,分析可以知道都是和OpenGL有關的。

2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1157): error C2144: syntax error: 'void' should be preceded by ';'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1157): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1157): error C2182: 'APIENTRY': illegal use of type 'void'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1157): error C2146: syntax error: missing ';' before identifier 'glAccum'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1158): error C2144: syntax error: 'void' should be preceded by ';'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1158): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1158): error C2086: 'int WINGDIAPI': redefinition
2>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1157): note: see declaration of 'WINGDIAPI'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1158): error C2182: 'APIENTRY': illegal use of type 'void'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1158): error C2086: 'int APIENTRY': redefinition
2>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1157): note: see declaration of 'APIENTRY'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1158): error C2146: syntax error: missing ';' before identifier 'glAlphaFunc'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1159): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1159): error C2086: 'int WINGDIAPI': redefinition
2>  C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1157): note: see declaration of 'WINGDIAPI'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1159): error C2146: syntax error: missing ';' before identifier 'GLboolean'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1160): error C2144: syntax error: 'void' should be preceded by ';'
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1160): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>C:\Program Files (x86)\Windows Kits\8.1\Include\um\gl/gl.h(1160): error C2086: 'int WINGDIAPI': redefinition

在一番google之後,在stackoverflow上找到了類似的錯誤:

%%you need to include "windows.h" before "gl.h"
#include "windows.h"
#include "gl.h"

找到markerless_ar_demo工程下的main.cpp,第一個include檔案是ARDrawingContext.hpp,我們就在這裡加上對windows.h的include:

#ifndef ARDrawingContext_HPP
#define ARDrawingContext_HPP

////////////////////////////////////////////////////////////////////
// File includes:
#include "windows.h"
#include "GeometryTypes.hpp"
#include "CameraCalibration.hpp"

////////////////////////////////////////////////////////////////////
// Standard includes:
#include <opencv2/opencv.hpp>

再次生成ALL_BUILD,可以通過。

但是要執行markerless_ar_demo,還需要命令列引數。

markerless_ar_demo pattern.png test_image.png

在資料夾code-master\Chapter3_MarkerlessAR\src下面有兩個圖片,其中PyramidPattern.jpg是pattern,PyramidPatternTest.bmp是測試圖片,將這兩幅圖片的全路徑加入到工程”markerless_ar_demo”的除錯命令列引數裡:右鍵Properties->Configuration Properties->Debugging->Command Arguments

最後一切都配置完成,進行除錯,看一下效果:

這裡寫圖片描述

這裡寫圖片描述

3. 參考資料

Book: Mastering OpenCV with Practical Computer Vision Project

相關推薦

VS2015+OpenCV-2.4.10配置AR(增強現實)開發環境

1. 編譯OpenCV-2.4.10 1.1 安裝Dependency 1.2 CMAKE編譯OpenCV 第一步,用cmkae的gui工具configure要編譯的OpenCV工程: (1)開始->Visula Studio 2015

VS 2013+Qt 5.10+OpenCV 2.4.9配置(詳細附圖連結)

小鐘在一個專案裡,需要用到 VS 配置 Qt 以及 OpenCV,在此總結基本的步驟,希望能幫助到有同樣需求的朋友 步驟(一):先下載好三個安裝包 建議安裝在D盤(非系統盤),檔案很大可以不佔空間,除非想要執行速度快就安裝在固態系統盤吧! 下載安裝 Qt

OpenCV 2.4.10: createTrackbar()+getTrackbarPos()

如何在OpenCV中用createTrackbar函式建立和使用軌跡條,以及影象對比度、亮度值的動態調整? <1>建立軌跡條——createTrackbar() 功能:建立一個可以調整數值的軌跡條,並將軌跡條附加到指定的視窗上,它往往會和一個回撥函式配合起來使用。

樹莓派安裝Ubuntu mate 16.04 + opencv 2.4.10

參考http://blog.csdn.net/pengz0807/article/details/49915997,http://blog.csdn.net/surgewong/article/details/39078251 第一步:先執行: sudoapt-get updat

Opencv 2.4.10 中imread讀取圖片為空的原因分析

#include <opencv2\opencv.hpp> #include <highgui.h> #include <iostream> #include <string> using namespace cv; usin

VS2013建立opencv-2.4.10靜態連結庫

如何在VS2013下配置OpenCV  VS2013+opencv2.4.10配置   vs2013配置opencv     VS2013怎麼配置opencv才能不用每次都重新配置一遍 我們平時在VS2013上借用opencv的函式時,很多時候都是以動態連結的方

[openCV]Mac平臺下openCV的搭建(Xcode + openCV 2.4.10)

1.序言 從今天開始,開始使用Mac來跑openCV了。開始感覺其實應該開發阻力不是太大樣子,事實上來講,其實比Windows要繁瑣一些呢。現時點的配置為 os x yosemite 10.10.3 openCV 2.4.10(現時點的最新版本為:3.0

AR增強現實開發

開發一個AR Hello World 需要經歷以下步驟: 1:登陸高通增強現實網站,註冊賬號且獲取授權資訊。 2:製作目標圖   A) 二維識別圖製作   B) 三維識別物體制作 3:SDK下載 4: Unity整合高通SDK,進行開發

跨平臺AR增強現實開發(一)(AR開發環境的搭建)

新增LicenseKey:我們點選AddLicenseKey,Application Name為開發證書的名字,隨便填寫入一個就可以;Device是我們開發部署的硬體裝置,現在高通支援有兩種,Mobile以及Digital Eyewear,如果你是開發移動裝置,選擇Mobile如果你是開發AR眼睛,選擇D

跨平臺AR增強現實開發(二)(Vuforia目錄結構)

我使用的開發環境是高通vuforia 5.5.9 + unity 5.3.4f + win7 64,高通的AR可以免費使用,但非開源,免費的為最普通的版本,沒雲識別功能;且在App的左下角會有Vuf

跨平臺AR增強現實開發(四)(高通識別圖5星處理方式)

高通的識別圖上傳到後臺以後我們可以看有星級評定,星值最大為5星,星值越大有以下好處: 1、識別圖越容易識別 2、識別出來的物體不會出現抖動 3、識別速度更快 而有時候我們上傳的識別圖只有2星,或

OpenCV 2.4.13 + VS2015 版本下的環境配置 WIN10

。 一次配置多次使用(重灌系統除外~) 系統環境變數 與 使用者環境變數 配置 : (Win10 系統) 控制面板->系統和安全->系統->高階系統設定->環境變數 或者: 我的電腦->右鍵屬性->高階系統設定->環

Ubuntu 14.04 配置OpenCv 2.4.9

-1 org sent release nbsp build echo opencv 2 時間 安裝工具 g++ 鏈接:http://www.cnblogs.com/LQLin168/p/6844593.html 下載OpenCv 2.4.9(官網地址):http://

3-opencv 2.4.9安裝及配置

技術 build bsp 安裝 -1 images http 9.png .cn 1- 2- 3- 4- C:\Program Files\opencv\build\x86\vc12\bin 5- 3-opencv 2.4.9安裝及配置

學習Opencv 2.4.9 (一)---Opencv + vs2012環境配置

-a class targe 貝爾 waitkey ron ini win font 作者:咕唧咕唧liukun321來自:http://blog.csdn.net/liukun321首先獲得最新的Opencv 2.4.9源代碼:opencv源代碼下載一、Opencv環

OpenCV入門教程之一】 OpenCV 2.4.8 +VS2010的開發環境配置

ctx 不能 tail 內存錯誤 mage lease 知識庫 我們 錯誤 目錄(?)[-] 因為讀研期間的研究方向是圖像處理所以淺墨這段時間閉門研究了很多OpenCV和圖像處理相關的知識與內容眼看自己積累到一定的程度了於是決定開始開設這個OpenCV系列專欄總結自己

VS2010+Opencv-2.4.9的配置攻略

1、下載軟體   vs2010入門書籍,免積分下載   http://download.csdn.net/detail/u014112584/7325617         opencv2.4.0版本和一些例子,免積分下載 

Opencv 2.4.9在Ubuntu下的配置與安裝

一、依賴包安裝        1.  build-essential 軟體包,為編譯程式提供必需軟體包的列表資訊,這樣軟體包才知道標頭檔案、庫函式在哪裡。還會下載依賴的軟體包,安裝gcc/g++/gdb/make 等基本程式設計工具,最後才組成一個開發環境。 sudo a

OpenCV入門教程之一】 安裝OpenCVOpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 開發環境配置

毛星雲,網路ID「淺墨」,90後,熱愛遊戲開發、遊戲引擎、計算機圖形、實時渲染等技術,就職於騰訊互娛。 微軟最有價值專家 著作《Windows遊戲程式設計之從零開始》、《OpenCV3程式設計入門》 碩士就讀於南京航空航天大學航天學院(2013級碩士研究生),已於2016年三月畢業。本科

安裝OpenCV 2.4.13.6 +VS2015

網頁是 https://opencv.org/releases.html 裡面會有各個版本的 樓主下了 2.4.13.6版本的 在環境變數的系統變數的path中新增路徑:(x86和x64我覺得就是64位和32位的意思) D:\OpenCV2.4.13.6\opencv