Opencv2.4.13與Visual Studio2013環(huán)境搭建配置教程
opencv這個工具來進(jìn)行圖像處理。大致是使用C++語言編寫程序?qū)崿F(xiàn)識別算法的實(shí)現(xiàn),所以首先就要進(jìn)行opencv與VS環(huán)境的配置。
Shaine屬于那種半路出家之人都算不上的那種,本科期間三四年來學(xué)習(xí)的真是半吊子,開發(fā)方向的東西完全就是一竅不通。而作為一個giser,不可避免的會涉及到開發(fā),也免不了圖形圖像處理的東西,所以,Shaine打算借著畢設(shè)這個機(jī)會,自己獨(dú)自著手一個小項目,從需求、現(xiàn)有研究狀況、可引用的經(jīng)典算法等開始,重學(xué)GIS開發(fā),初步學(xué)習(xí)opencv相關(guān)內(nèi)容。
之前花了四五天的時間來下載、安裝軟件,也按照網(wǎng)上的配置教程進(jìn)行了環(huán)境的配置,在測試時各種拋異常,各種引用不正確,就是沒有成功。Shaine當(dāng)時也是百思不得其解。因?yàn)楸究茣r只學(xué)了C和C#兩門編程語言,且自身學(xué)的很淺,C++也不懂,這也算是一大障礙吧。無奈,重裝系統(tǒng)后重新開始配置,所以呢,Shaine汲取到的教訓(xùn)就是:
1.在按照網(wǎng)上教程安裝軟件、配置環(huán)境時,一定要先把整個流程看完,有個大致的了解,明白其的原理,切忌按部就班粘貼復(fù)制某些操作步驟中的內(nèi)容,因?yàn)槊總€人的計算機(jī)文件夾、命名都是不同的,只有了解其原理時,在32/64位選擇、版本等時才能對癥下藥,否則只會走上不斷重配重裝甚至重裝系統(tǒng)的道路。
2.每款軟件在計算機(jī)上盡量只安裝一種穩(wěn)定性、兼容性較高的版本,不要安裝兩個或者三個版本來撐內(nèi)存。Shaine以血的教訓(xùn)告訴大家,當(dāng)時Shaine就是安裝VS2010/2013/2015三個不同的版本,你說Shaine是不是吃飽了撐著了?
3.安裝任何軟件時不要出現(xiàn)漢字命名的文件夾,不管你是安裝中文軟件還是英文軟件,因?yàn)閷τ谟⑽能浖诎惭b時一旦出現(xiàn)中文名的文件夾,在路徑識別時很可能會出錯,所以保險起見,還是乖乖英文命名吧。
4.在涉及到兩款或者多款軟件在進(jìn)行環(huán)境搭建時,最好先在網(wǎng)上查找一下兩款軟件相互匹配的版本分別是多少后再下載安裝。比如opencv配置VS,opencv3.2就需要vs2015來配置,因?yàn)橹挥衯s2015里面的vc14才能與opencv里面vc相匹配,我們才能直接調(diào)用軟件包里面編譯好的類庫,否則還得自己進(jìn)行手動編譯。
好了,Shaine就不在扒拉廢話了,先來談?wù)凮pencv和vs的配置步驟。
一、安裝包的下載與安裝
Opencv可免費(fèi)到官網(wǎng)上去下載,opencv是國外軟件,在下載是由于受資源的限制,可能會出現(xiàn)下載緩慢甚至下載失敗的情況,沒事,直接重新下載就是呢。
附上官網(wǎng)鏈接:http://opencv.org/downloads.html
關(guān)于安裝,倒不如說是解壓。如圖,直接解壓到目標(biāo)文件夾下就行啦。
VS2013想必每個開發(fā)人員都接觸過,也安裝過N多次啦,Shaine在此就不再贅述啦。
二、環(huán)境變量的配置
計算機(jī)→右鍵屬性→高級系統(tǒng)設(shè)置→高級→環(huán)境變量,在用戶變量中,點(diǎn)擊新建,變量名為opencv,變量值為:D:\Software\opencv\build(即你opencv安裝的build文件路徑);系統(tǒng)變量path,點(diǎn)擊編輯,添加D:\Software\opencv\build\x86\vc12\bin。
說明:不管你系統(tǒng)是32位還是64位,路徑目錄均選擇X86,因?yàn)榫幾g都是使用32位編譯。
三、新建Visual C++項目
打開VS,新建項目,選擇模板下的vc++,新建win32控制臺應(yīng)用程序。跳出應(yīng)用程序向?qū)Вc(diǎn)擊下一步,勾選上附加選項中的空項目,點(diǎn)擊完成。(勾選空選項目的在于為下面的各項設(shè)置建立一個模板,之后不用每次建項目都進(jìn)行配置了)
在解決方案的源文件中新建c++文件(.cpp文件)。
在屬性管理器中進(jìn)行如下操作:
在Debug|Win32的Microsoft.Cpp.Win32.user處雙擊進(jìn)入屬性頁,進(jìn)行如下設(shè)置:
1、通用屬性→VC++目錄:
包含目錄中添加:
D:\Software\opencv\build\include\opencv2
D:\Software\opencv\build\include\opencv
D:\Software\opencv\build
庫目錄中添加:D:\Software\opencv\build\x86\vc12\lib
2、通用屬性→鏈接器→輸入→附加依賴項,在依賴項中輸入lib庫中的各項.lib文件名稱:
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib
在Releae|Win32的Microsoft.Cpp.Win32.user處雙擊進(jìn)入屬性頁,進(jìn)行和Debug中一致的操作,其實(shí)以上都是D:\Software\opencv\build\x86\vc12\lib下所有的lib文件,你會發(fā)現(xiàn),有的后面帶上d,有的沒有d,這是因?yàn)镈ebug的就有d,Release則沒有d。
四、最終的測試
Shaine以顯示一張圖片來測試整個配置過程的準(zhǔn)確性。
新建一個.Cpp文件,輸入以下代碼:
注意代碼證圖片路徑的輸入格式,本來Shaine中圖片的目錄是這樣的:D:\LiHong\Blind Way Recognition\MyProject\test1_0228 ;但是你注意沒有,整個路徑的輸入中,所有“\”都變?yōu)榱恕癨\”,就連加入文件名時也要加上“\\”。
運(yùn)行結(jié)果如下:
至此,整個配置過程已成功完成。
五、其他說明
在測試時,你可能會和Shaine一樣遇到如下問題:
1.VC++中“在查找預(yù)編譯頭使用時跳過”
出現(xiàn)這種狀況的原因是沒有在cpp文件最前一行添加#include “stdafx.h”,解法有:
法一:去掉預(yù)編譯頭
項目→屬性→配置屬性→C/C++→預(yù)編譯頭→創(chuàng)建使用預(yù)編譯頭→不使用預(yù)編譯頭
法二:將包含文件加到預(yù)編譯頭stdafx.h文件中
法三:在每個.cpp中包含預(yù)編譯頭stdafx.h文件
注意:#include “stdafx.h”一定要添加到cpp文件的第一行。
2.調(diào)試解決方案后會出現(xiàn)一堆類似于window\SysWOW64\gdi32.dll無法查找或打開PDB文件的問題,這是由于.dll庫沒有正確的鏈接進(jìn)去以至于調(diào)試時無法調(diào)用相關(guān)類
調(diào)試→選項和設(shè)置→調(diào)試→常規(guī)→勾選上“啟用資源服務(wù)器”
調(diào)試→選項和設(shè)置→調(diào)試→常規(guī)→勾選上“微軟符號服務(wù)器”
其實(shí)到了最后,Shaine哪怕把整個測試項目已經(jīng)運(yùn)行起來了,但還是存在少數(shù)dll無法調(diào)用的情況。Shaine也是很頭疼和郁悶,還要不斷的找原因哦。
備注:Shaine在試驗(yàn)多次之后,老是報下圖中的錯,后來請教了一位學(xué)長,原因是配置次數(shù)過多,然后可能引起了附加依賴項的錯誤,采取了把附加依賴項中的內(nèi)容刪掉之后重新添加一遍,并不勾線左下角的選項,保存設(shè)置及VS,關(guān)閉項目,重新打開即可解決問題。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Visual?Studio?2022下載及配置OpenCV4.5.5的詳細(xì)過程
- VisualStudio2019配置OpenCV的詳細(xì)過程
- VisualStudio2019配置OpenCV4.5.0的方法示例
- windows10在visual studio2019下配置使用openCV4.3.0
- Visual Studio 2019配置OpenCV4.1.1詳細(xì)圖解教程
- Visual Studio 2015 配置 Opencv3.2的圖文詳解
- visual studio 2015+opencv2.4.13配置教程
- Visual Studio 2010配置OpenCV的方法
- visual studio 2013中配置opencv圖文教程 Opencv2.4.9安裝配置教程
- visual studio 2012安裝配置方法圖文教程 附opencv配置教程
- Visual?Studio2022下Opencv的配置圖文教程
相關(guān)文章
ASP.NET數(shù)據(jù)綁定之GridView控件
這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的GridView控件,GridView控件的功能是在web頁面中顯示數(shù)據(jù)源中的數(shù)據(jù),對GridView控件感興趣的小伙伴們可以參考一下2016-01-01asp.net jQuery Ajax用戶登錄功能的實(shí)現(xiàn)
前幾天把jbox源碼修改成仿QQ空間模擬窗口后發(fā)現(xiàn)有很多人在關(guān)注。今天就貼一下我利用該模擬窗口實(shí)現(xiàn)的用戶登錄功能的代碼。2009-11-11如何在ASP.NET Core中使用ViewComponent
這篇文章主要介紹了如何在ASP.NET Core中使用ViewComponent,幫助大家更好的理解和學(xué)習(xí)使用.net技術(shù),感興趣的朋友可以了解下2021-04-04.NET?Core使用SkiaSharp實(shí)現(xiàn)快速生成二維碼
這篇文章主要為大家詳細(xì)介紹了.NET?Core如何使用SkiaSharp實(shí)現(xiàn)快速生成二維碼,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01Asp.net?core?使用SignalR推送消息過程詳解
ASP.NET?Core?SignalR?是一個開放源代碼庫,可用于簡化向應(yīng)用添加實(shí)時?Web?功能。?實(shí)時?Web?功能使服務(wù)器端代碼能夠?qū)?nèi)容推送到客戶端,本文重點(diǎn)給大家介紹Asp.net?core?使用SignalR推送消息,感興趣的朋友一起看看吧2022-03-03ASP.NET實(shí)現(xiàn)的生成驗(yàn)證碼功能示例【附demo源碼】
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)的生成驗(yàn)證碼功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了asp.net生成驗(yàn)證碼的原理、步驟與相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-07-07Asp.Net 網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫優(yōu)化分字訣上 分庫
當(dāng)我們的數(shù)據(jù)量很小的時候,我們會把用戶表,博客表,論壇表,閃存表等等都砸在一個庫里,我們的業(yè)務(wù)增長的很好,在不久之后我們盡力的優(yōu)化了查詢,但是效果依然不佳,這時候用分字訣的時機(jī)到了。2010-06-06