VC 2010下安裝OpenCV2.4.4

說明:

  1. 安裝平臺:32位XP,VS2010;
  2. OpenCV 2.4.4不支持VC 6.0;
  3. 網上有很多用CMake編譯OpenCV的安裝教程,這里建議先不要自己編譯,如果使用預編譯好的庫有問題,再嘗試自己編譯。
  4. 希望大家好好看看每一部分的注意事項,看懂了再去配置,不然錯了,還不知道錯在哪里。尤其要注意自己的操作系統的位數,還有相應的路徑。

目錄

?[隱藏]
  • 1?一、下載OpenCV
  • 2?二、設置環境變量
    • 2.1?用戶變量設置
      • 2.1.1?設置PATH
      • 2.1.2?新建OpenCV變量
    • 2.2?系統變量設置
      • 2.2.1?設置PATH
  • 3?三、配置VS2010
    • 3.1?準備工作
    • 3.2?配置VC10
  • 4?四、測試程序
    • 4.1?4.1、程序代碼
    • 4.2?4.2、運行結果
      • 4.2.1?4.2.1、Debug下的運行結果
      • 4.2.2?4.2.2、Release下的運行結果
  • 5?作者

?

[編輯]

一、下載OpenCV

  1. 從本站下載欄目?http://www.opencv.org.cn/index.php/Download?下載 OpenCV for Windows(也即 OpenCV-2.4.4.exe 文件)。
  2. 將 OpenCV-2.4.4.exe 解壓并放到某個目錄下,例如?C:\Program Files\OpenCV244?(本人的解壓目錄)。解壓后的目錄結構如下圖。

Image:001.jpg

[編輯]

二、設置環境變量

右鍵單擊我的電腦→屬性→高級→環境變量。

Image:002.jpg

[編輯]

用戶變量設置

[編輯]

設置PATH

選中PATH,單擊編輯。在PATH的末尾添加以下路徑:C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin
     注意:1、要在該路徑前添加英文分號;,以與前面的路徑隔開,但該路徑末尾不可加英文分號;,除非還要在其后添加路徑;2、可根據自己的情況,將其改為你的opencv\build\x86\vc10\bin文件夾所在的路徑;3、如果是64位系統,可將opencv\build\x86\vc10\bin改為opencv\build\x64\vc10\bin
Image:003.jpg
[編輯]

新建OpenCV變量

單擊新建,在彈出的對話框中,將變量名和變量值分別設置為OpenCV和C:\Program Files\OpenCV244\opencv\build
     注意:1、變量名可以自己定義;2、變量值可修改為你的opencv\build文件夾所在的路徑。
Image:004.jpg
Image:005.jpg
[編輯]

系統變量設置

[編輯]

設置PATH

選中PATH,單擊編輯。在PATH的末尾添加以下路徑:C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin
     注意:1、要在該路徑前添加英文分號;,以與前面的路徑隔開,但該路徑末尾不可加英文分號;,除非還要在其后添加路徑;2、可根據自己的情況,將其改為你的opencv\build\x86\vc10\bin文件夾所在的路徑;3、如果是64位系統,可將opencv\build\x86\vc10\bin改為opencv\build\x64\vc10\bin。
Image:006.jpg
說明:設置完環境變量,需要重啟電腦,才能生效。
[編輯]

三、配置VS2010

配置VS2010,亦即告訴VC去什么地方尋找OpenCV的頭文件和庫。打開VS2010,選擇菜單“工具”→“選項”→“項目和解決方案”→“VC++目錄”,在VS2010中打開此選項,如下圖所示,顯示編輯功能被否決。

Image:007.jpg

可以在具體的項目中,對特定的項目單擊右鍵→屬性來設置,只是這樣的設置無法被繼承,每一個項目都需要單獨設置,太過繁瑣,因此需要一個能夠被繼承的全局設置,方法如下:
要求:確保VS2010中至少有一個工程被打開。這里采用新建一個工程的辦法,以便后面測試程序。
[編輯]

準備工作

1、打開VS2010,新建項目→win32控制臺項目→完成。
Image:008.jpg
Image:009.jpg
Image:010.jpg
2、點擊“視圖”→“其他窗口”→“屬性管理器”,結果如下圖所示。
Image:011.jpg
[編輯]

配置VC10

1、從左側項目中打開“Debug| Win32”→“Microsoft.Cpp.Win32.user”,如下圖所示。
Image:012.jpg
2、雙擊“Microsoft.Cpp.Win32.user”,彈出如下圖所示的窗口。
Image:013.jpg
3、點擊左側VC++目錄,編輯右側的可執行文件目錄、包含目錄與庫目錄,分別添加對應的路徑。
Image:014.jpg
對應的路徑如下:
1)可執行文件目錄
C:\Program Files\OpenCV244\opencv\build\x86\vc10\bin
    說明:1、可根據自己的情況,將其改為你的opencv\build\x86\vc10\bin文件夾所在的路徑;2、如果是64位系統,可將opencv\build\x86\vc10\bin改為opencv\build\x64\vc10\bin。
2)包含目錄
C:\Program Files\OpenCV244\opencv\build\include
C:\Program Files\OpenCV244\opencv\build\include\opencv
C:\Program Files\OpenCV244\opencv\build\include\opencv2
    說明:1、可根據自己的情況,將其分別改為你的opencv\build\include、opencv\build\include\opencv和opencv\build\include\opencv2文件夾所在的路徑;2、這里的include目錄為build文件夾下的include目錄,不要選成與build文件夾在同一個根目錄下的那個include文件夾。
3)庫目錄
C:\Program Files\OpenCV244\opencv\build\x86\vc10\lib
    說明:1、可根據自己的情況,將其改為你的opencv\build\x86\vc10\lib文件夾所在的路徑;2、如果是64位系統,可將opencv\build\x86\vc10\lib改為opencv\build\x64\vc10\lib。
4、附加依賴項
單擊“鏈接器”→“輸入”→“附加依賴項”,如下圖所示。
Image:015.jpg
如下圖所示,在附加依賴項里,添加opencv\build\x86\vc10\lib文件夾里的lib文件名稱:
Image:016.jpg
opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_nonfree244d.lib
opencv_objdetect244d.lib
opencv_photo244d.lib
opencv_stitching244d.lib
opencv_ts244d.lib
opencv_video244d.lib
opencv_videostab244d.lib


opencv_calib3d244.lib
opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244.lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_nonfree244.lib
opencv_objdetect244.lib
opencv_photo244.lib
opencv_stitching244.lib
opencv_ts244.lib
opencv_video244.lib
opencv_videostab244.lib
 說明:上面的庫為opencv\build\x86\vc10\lib里面的庫文件,文件名后面有小寫字母“d”的為Debug庫(調試模式庫),沒有“d”的為Release庫(發布模式庫)。末尾的244
是版本號,和你lib里面的文件一致的。比如,OpenCV2.4.3的lib文件的末尾數字為243。如果版本不一樣,要改正,使其一致。
[編輯]

四、測試程序

[編輯]

4.1、程序代碼

#include   
#include
using namespace cv;
void main()
{IplImage *src;src = cvLoadImage("lena.jpg"); //這里將lena.jpg和lena.cpp文件放在同一個文件夾下cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);cvShowImage("lena",src);cvWaitKey(0);cvDestroyWindow("lena");cvReleaseImage(&src);
}
[編輯]

4.2、運行結果

[編輯]

4.2.1、Debug下的運行結果

Image:022.jpg
[編輯]

4.2.2、Release下的運行結果

Image:023.jpg
[編輯]

作者

可能會出現問題:

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

解決方法:

項目-->工程屬性->配置屬性-> 清單工具->輸入和輸出->嵌入清單,選擇[否] ? ----------->只要設這個就可以了

本文轉自:(“http://wiki.opencv.org.cn/index.php/VC_2010下安裝OpenCV2.4.4”)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247261.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247261.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247261.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue3源碼中的最長遞增子序列

求解最長遞增子序列是一道經典的算法題, 多數解法是使用動態規劃的思想,算法的時間復雜度是O(); 而Vue.js內部使用的是維基百科提供的一套“貪心二分查找”的算法; 貪心算法的時間復雜度是O(n),二分查找的時間復雜度是O(logn),總時間復雜度…

認識“數字圖像”

不同領域的人對圖像的概念有著不同的理解。從工程學角度上講,“圖”是物體透射或反射光的分布;“像”是人的視覺系統對圖的接收在大腦中形成的印象或認識。因此,圖像常與光照、視覺等概念聯系在一起,光的強弱、光的波長以及物體的…

Java編程基礎階段筆記 day04 Java基礎語法(下)

? 面向對象編程 筆記Notes 面向對象三條學習主線 面向過程 VS 面向對象 類和對象 創建對象例子 面向對象的內存分析 類的屬性:成員變量 成員變量 VS 局部變量 類的方法 方法的重載 可變個數形參 面向對象:封裝性 訪問權限修飾符 構造方法&…

漢諾塔遞歸算法

起源: 漢諾塔(又稱河內塔)問題是源于印度一個古老傳說的益智玩具。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子…

Java編程基礎階段筆記 day 07 面向對象編程(上)

? 面向對象編程 筆記Notes 面向對象三條學習主線 面向過程 VS 面向對象 類和對象 創建對象例子 面向對象的內存分析 類的屬性:成員變量 成員變量 VS 局部變量 類的方法 方法的重載 可變個數形參 面向對象:封裝性 訪問權限修飾符 構造方法&…

談“發表(撰寫)學術論文的注意事項”

題記:做兩個核心學術期刊的“數字圖像處理”類審稿專家有一段時間了,在審稿過程中發現存在很多問題,所以在此就撰寫學術論文過程中的一些注意事項,跟大家交流一下(當然,文中的很多觀點也是一些資深主編的看…

Vue/Angular中父窗口新開的子窗口關閉的時候刷新父窗口

最近遇到一個項目需求:Angular中父窗口新開的子窗口提交完信息關閉的時候刷新父窗口。 知識點: window.opener 概述 返回打開當前窗口的那個窗口的引用,例如:在window A中打開了window B,B.opener 返回 A. 語法 …

圖像邊緣特征

圖像邊緣是圖像的重要特征,是圖像中特性(如像素灰度、紋理等)分布的不連續處,圖像周圍特性有階躍變化或屋脊狀變化的那些像素集合。圖像的邊緣部分集中了圖像的大部分信息,一幅圖像的邊緣結構與特點往往是決定圖像特質…

HDU 6631 line symmetric(枚舉)

首先能想到的是至少有一對相鄰點或者中間間隔一個點的點對滿足軸對稱,那么接下來只需要枚舉剩下的點對是否滿足至多移動一個點可以滿足要求。 第一種情況,對于所有點對都滿足要求,那么Yes。 第二種情況,有一個點不滿足要求&#x…

學習數字圖像處理經驗談

一、面向應用:層層分解、抓住要點 我們學習數字圖像處理的最終目的還是應用,不管是用它來研制產品還是研發項目抑或是研究課題,都要用數字圖像處理的理論、方法和技術來解決實際問題。在此過程中,提高效率是非常重要的&#xff0c…

讀javascript百煉成仙笑死筆記一

“自然是這樣的,但是我現在這樣改一下,你說結果是多少呢?”葉小凡詭異地笑了笑,然后打出一段比較奇特的代碼。 var a 1; var b; var sum (b a --a) a-- b; “噗!”看到這段代碼,對面弟子差點一口老血…

C#調用存儲過程的通用類

usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data.SqlClient;usingSystem.Collections;usingSystem.Data;//摘要:數據訪問助手。//作者:ZhiQiao//日期:2008/07/02namespaceZhiQiao.DataAccessHelper{ //存…

圖靈獎得主(一)

本文轉自:http://bbs.gxnu.edu.cn/bbsanc.php?path%2Fgroups%2FGROUP_5%2FProgramming%2Fother%2FM.1029997222.A A.M. Turing Award ACMs most prestigious technical award is accompanied by a prize of $25,000. It is given to an individual selected fo…

react-router-dom@6獲取路由傳參

目錄 參數獲取 1、子路由形式攜帶 2、問號(?)形式參數 3、事件跳轉傳參 router/index.tsx import App from "App"; import Home from "pages/Home"; import List from "pages/List"; import Detail from "pages/Detail"; import…

圖靈獎得主(二)

本文轉自:http://bbs.gxnu.edu.cn/bbsanc.php?path%2Fgroups%2FGROUP_5%2FProgramming%2Fother%2FM.1029997222.A 1987年度的圖靈獎授予了IBM沃特森研究中心老資格的研究員 約翰科克(Johncocke)。 科克是從機械到數學、又從數學轉到 計算機方向上來的學者。…

jQuery效果之滑動

jQuery 滑動方法有三種:slideDown()、slideUp()、slideToggle()。 jQuery slideDown() 方法用于向下滑動元素, 語法:$(selector).slideDown(speed,callback); 可選的 speed 參數規定效果的時長。它可以取以下值:"slow"、…

Error: This command has to be run with superuser privileges (under the root user on most systems).

意思是錯誤:此命令必須以超級用戶權限(在大多數系統上以root用戶權限)運行。所以當前的用戶是普通用戶,需要切換為超級用戶(root用戶)先輸入在命令行中輸入 su root 然后會出現Password:&#…

圖靈獎得主(三)

本文轉自:本文轉自:http://bbs.gxnu.edu.cn/bbsanc.php?path%2Fgroups%2FGROUP_5%2FProgramming%2Fother%2FM.1029997222.A 繼1979年度圖靈獎首次授予一位加拿大學者K.E.Iverson之后, 1989年度的圖靈 獎又一次授予加拿大學者威廉凱亨(Willia…

對微信公共號的理解

通過redirect_uri獲取code 通過code和appid 獲取access_token 進行鑒權 轉載于:https://www.cnblogs.com/zhouyideboke/p/11309752.html

vue3 v-model變化

概覽 就變化內容而言,此部分屬于高階內容: 非兼容:用于自定義組件時,v-model的 prop 和事件默認名稱已更改: prop:value -> modelValue;event:input -> update:modelValue&a…