點選下列執行檔, 進行OpenCV安裝檔案之解壓縮
設定欲解壓縮之目錄夾
解壓縮中…
解壓縮完成後先來看看有甚麼好康的
C:\OpenCV-2.4.7\opencv\build\doc\目錄下有許多電子檔
opencv_cheatsheet: 小抄清單(哈哈!!), 分門別類列出OpenCV常用指令之快速查詢清單, 這功能超讚的!!
點選藍色字體可以直接連接線上Help查詢語法
opencv_tutorials: 標準教學手冊(tutorial), 有一本電子檔案對於初學者來說真的很重要, 學習的動力提升, 能力自然加倍奉還!!!我個人偏好pdf檔案格式, 不喜歡chm或html格式
opencv_user:特定議題的說明, 針對一些特殊類別或資料格式進行說明
opencv2manager:對於Android service及Java API如何與OpenCV溝通進行說明
opencv2refman:參考手冊, 高達875頁, 有助於了解一些理論背景, 並同時提供一些數學公式
C:\OpenCV-2.4.7\opencv\build\include
包含opencv和opencv2兩個資料夾, 分別為OpenCV 1.x版和OpenCV 2.x版所需要的標頭檔
C:\OpenCV-2.4.7\opencv\build\java
C:\OpenCV-2.4.7\opencv\build\python\2.7
我的筆電作業系統環境為 win7 x64 +visual studio 2010
C:\OpenCV-2.4.7\opencv\build\x64\vc10
C:\OpenCV-2.4.7\opencv\build\x64\vc10\bin
包含OpenCV所需的動態連結檔案, 檔名d結尾的檔案(*d.dll )為debug的版本, 否則為release版本
C:\OpenCV-2.4.7\opencv\build\x64\vc10\lib
包含OpenCV所需的library檔案, 檔名d結尾的檔案(*d.lib )為debug的版本, 否則為release版本
C:\OpenCV-2.4.7\opencv\build\x64\vc10\staticlib
what is static library? 就是編譯時期就將所需的function一起編入執行檔中(超肥), 也因此不需要呼叫額外的動態連結檔案
a static library or statically-linked library is a set of routines, external functions and variables which are resolved in a caller at compile-time and copied into a target application by a compiler, linker, or binder, producing an object file and a stand-alone executable.
C:\OpenCV-2.4.7\opencv\sources
sources目錄是下面會介紹的CMake程式所要編譯的檔案來源
C:\OpenCV-2.4.7\opencv\sources\3rdparty\readme.txt
1: This folder contains libraries and headers of a few very popular still image codecs
2: used by highgui module.
3: The libraries and headers are preferably to build Win32 and Win64 versions of OpenCV.
4: On UNIX systems all the libraries are automatically detected by configure script.
5: In order to use these versions of libraries instead of system ones on UNIX systems you
6: should use BUILD_<library_name> CMake flags (for example, BUILD_PNG for the libpng library).
7:
8: ------------------------------------------------------------------------------------
9: libjpeg 8d (8.4) - The Independent JPEG Group's JPEG software.
10: Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
11: See IGJ home page http://www.ijg.org
12: for details and links to the source code
13:
14: HAVE_JPEG preprocessor flag must be set to make highgui use libjpeg.
15: On UNIX systems configure script takes care of it.
16: ------------------------------------------------------------------------------------
17: libpng 1.5.12 - Portable Network Graphics library.
18: Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson.
19: See libpng home page http://www.libpng.org
20: for details and links to the source code
21:
22: HAVE_PNG preprocessor flag must be set to make highgui use libpng.
23: On UNIX systems configure script takes care of it.
24: ------------------------------------------------------------------------------------
25: libtiff 4.0.2 - Tag Image File Format (TIFF) Software
26: Copyright (c) 1988-1997 Sam Leffler
27: Copyright (c) 1991-1997 Silicon Graphics, Inc.
28: See libtiff home page http://www.remotesensing.org/libtiff/
29: for details and links to the source code
30:
31: HAVE_TIFF preprocessor flag must be set to make highgui use libtiff.
32: On UNIX systems configure script takes care of it.
33: In this build support for ZIP (LZ77 compression) is turned on.
34: ------------------------------------------------------------------------------------
35: zlib 1.2.7 - General purpose LZ77 compression library
36: Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler.
37: See zlib home page http://www.zlib.net
38: for details and links to the source code
39:
40: No preprocessor definition is needed to make highgui use this library -
41: it is included automatically if either libpng or libtiff are used.
42: ------------------------------------------------------------------------------------
43: jasper-1.900.1 - JasPer is a collection of software
44: (i.e., a library and application programs) for the coding
45: and manipulation of images. This software can handle image data in a
46: variety of formats. One such format supported by JasPer is the JPEG-2000
47: format defined in ISO/IEC 15444-1.
48:
49: Copyright (c) 1999-2000 Image Power, Inc.
50: Copyright (c) 1999-2000 The University of British Columbia
51: Copyright (c) 2001-2003 Michael David Adams
52:
53: The JasPer license can be found in src/libjasper.
54:
55: OpenCV on Windows uses pre-built libjasper library
56: (lib/libjasper*). To get the latest source code,
57: please, visit the project homepage:
58: http://www.ece.uvic.ca/~mdadams/jasper/
59: ------------------------------------------------------------------------------------
60: openexr-1.7.1 - OpenEXR is a high dynamic-range (HDR) image file format developed
61: by Industrial Light & Magic for use in computer imaging applications.
62:
63: Copyright (c) 2006, Industrial Light & Magic, a division of Lucasfilm
64: Entertainment Company Ltd. Portions contributed and copyright held by
65: others as indicated. All rights reserved.
66:
67: The project homepage: http://www.openexr.com
68: ------------------------------------------------------------------------------------
69: ffmpeg-0.8.0 - FFmpeg is a complete, cross-platform solution to record,
70: convert and stream audio and video. It includes libavcodec -
71: the leading audio/video codec library, and also libavformat, libavutils and
72: other helper libraries that are used by OpenCV (in highgui module) to
73: read and write video files.
74:
75: The project homepage: http://ffmpeg.org/
76: ------------------------------------------------------------------------------------
C:\OpenCV-2.4.7\opencv\sources\apps
應用於人臉/非人臉(背景)訓練與偵測
C:\OpenCV-2.4.7\opencv\sources\cmake
包含許多make files, 有Apache Ant, Android, CUDA, OpenCL, OpenNI, Python, TBB等特定targets移植
C:\OpenCV-2.4.7\opencv\sources\data
分類器的參數檔案
C:\OpenCV-2.4.7\opencv\sources\data\readme.txt
1: This folder contains various data that is used by cv libraries and/or demo applications.
2: ----------------------------------------------------------------------------------------
3:
4: haarcascades - the folder contains trained classifiers for detecting objects
5: of a particular type, e.g. faces (frontal, profile), pedestrians etc.
6: Some of the classifiers have a special license - please,
7: look into the files for details.
C:\OpenCV-2.4.7\opencv\sources\doc\tutorials\*.rst許多純文字的教學電子檔, 包含領域如下:
C:\OpenCV-2.4.7\opencv\sources\doc\tutorials\tutorial.rst
1: ################
2: OpenCV Tutorials
3: ################
4:
5: The following links describe a set of basic OpenCV tutorials. All the source code mentioned here is provide as part of the OpenCV regular releases, so check before you start copy & pasting the code. The list of tutorials below is automatically generated from reST files located in our GIT repository.
6:
7: As always, we would be happy to hear your comments and receive your contributions on any tutorial.
8:
9: * :ref:`Table-Of-Content-Introduction`
10:
11: .. tabularcolumns:: m{100pt} m{300pt}
12: .. cssclass:: toctableopencv
13:
14: =========== =======================================================
15: |Introduct| You will learn how to setup OpenCV on your computer!
16:
17: =========== =======================================================
18:
19: .. |Introduct| image:: images/introduction.jpg
20: :height: 80pt
21: :width: 80pt
22: :alt: Introduction Icon
23:
24: * :ref:`Table-Of-Content-Core`
25:
26: .. tabularcolumns:: m{100pt} m{300pt}
27: .. cssclass:: toctableopencv
28:
29: =========== =======================================================
30: |Core| Here you will learn the about the basic building blocks of the library. A must read and know for understanding how to manipulate the images on a pixel level.
31:
32: =========== =======================================================
33:
34: .. |Core| image:: images/core.jpg
35: :height: 80pt
36: :width: 80pt
37: :alt: core Icon
38:
39: * :ref:`Table-Of-Content-ImgProc`
40:
41: .. tabularcolumns:: m{100pt} m{300pt}
42: .. cssclass:: toctableopencv
43:
44: =========== =======================================================
45: |ImgProc| In this section you will learn about the image processing (manipulation) functions inside OpenCV.
46:
47: =========== =======================================================
48:
49: .. |ImgProc| image:: images/imgproc.jpg
50: :height: 80pt
51: :width: 80pt
52: :alt: imgproc Icon
53:
54: * :ref:`Table-Of-Content-HighGui`
55:
56: .. tabularcolumns:: m{100pt} m{300pt}
57: .. cssclass:: toctableopencv
58:
59: =========== =======================================================
60: |HighGui| This section contains valuable tutorials about how to read/save your image/video files and how to use the built-in graphical user interface of the library.
61:
62: =========== =======================================================
63:
64: .. |HighGui| image:: images/highgui.jpg
65: :height: 80pt
66: :width: 80pt
67: :alt: highgui Icon
68:
69: * :ref:`Table-Of-Content-Calib3D`
70:
71: .. tabularcolumns:: m{100pt} m{300pt}
72: .. cssclass:: toctableopencv
73:
74: =========== =======================================================
75: |Calib3D| Although we got most of our images in a 2D format they do come from a 3D world. Here you will learn how to find out from the 2D images information about the 3D world.
76:
77: =========== =======================================================
78:
79: .. |Calib3D| image:: images/calib3d.jpg
80: :height: 80pt
81: :width: 80pt
82: :alt: calib3d Icon
83:
84: * :ref:`Table-Of-Content-Feature2D`
85:
86: .. tabularcolumns:: m{100pt} m{300pt}
87: .. cssclass:: toctableopencv
88:
89: =========== =======================================================
90: |Featur2D| Learn about how to use the feature points detectors, descriptors and matching framework found inside OpenCV.
91:
92: =========== =======================================================
93:
94: .. |Featur2D| image:: images/feature2D.jpg
95: :height: 80pt
96: :width: 80pt
97: :alt: feature2D Icon
98:
99: * :ref:`Table-Of-Content-Video`
100:
101: .. tabularcolumns:: m{100pt} m{300pt}
102: .. cssclass:: toctableopencv
103:
104: =========== =======================================================
105: |Video| Look here in order to find use on your video stream algoritms like: motion extraction, feature tracking and foreground extractions.
106:
107: =========== =======================================================
108:
109: .. |Video| image:: images/video.jpg
110: :height: 80pt
111: :width: 80pt
112: :alt: video Icon
113:
114: * :ref:`Table-Of-Content-ObjDetect`
115:
116: .. tabularcolumns:: m{100pt} m{300pt}
117: .. cssclass:: toctableopencv
118:
119: =========== =======================================================
120: |ObjDetect| Ever wondered how your digital camera detects peoples and faces? Look here to find out!
121:
122: =========== =======================================================
123:
124: .. |ObjDetect| image:: images/objdetect.jpg
125: :height: 80pt
126: :width: 80pt
127: :alt: objdetect Icon
128:
129: * :ref:`Table-Of-Content-Ml`
130:
131: .. tabularcolumns:: m{100pt} m{300pt}
132: .. cssclass:: toctableopencv
133:
134: =========== =======================================================
135: |ml| Use the powerfull machine learning classes for statistical classification, regression and clustering of data.
136:
137: =========== =======================================================
138:
139: .. |ml| image:: images/ml.jpg
140: :height: 80pt
141: :width: 80pt
142: :alt: ml Icon
143:
144: * :ref:`Table-Of-Content-GPU`
145:
146: .. tabularcolumns:: m{100pt} m{300pt}
147: .. cssclass:: toctableopencv
148:
149: =========== =======================================================
150: |GPU| Squeeze out every little computation power from your system by using the power of your video card to run the OpenCV algorithms.
151:
152: =========== =======================================================
153:
154: .. |GPU| image:: images/gpu.jpg
155: :height: 80pt
156: :width: 80pt
157: :alt: gpu icon
158:
159: * :ref:`Table-Of-Content-Contrib`
160:
161: .. tabularcolumns:: m{100pt} m{300pt}
162: .. cssclass:: toctableopencv
163:
164: =========== =======================================================
165: |Contrib| Discover additional contribution to OpenCV.
166:
167: =========== =======================================================
168:
169: .. |Contrib| image:: images/retina.jpg
170: :height: 80pt
171: :width: 80pt
172: :alt: gpu icon
173:
174: * :ref:`Table-Of-Content-iOS`
175:
176: .. tabularcolumns:: m{100pt} m{300pt}
177: .. cssclass:: toctableopencv
178:
179: =========== =======================================================
180: |iOS| Run OpenCV and your vision apps on an iDevice
181:
182: =========== =======================================================
183:
184: .. |iOS| image:: images/opencv_ios.png
185: :height: 80pt
186: :width: 80pt
187: :alt: gpu icon
188:
189: * :ref:`Table-Of-Content-General`
190:
191: .. tabularcolumns:: m{100pt} m{300pt}
192: .. cssclass:: toctableopencv
193:
194: =========== =======================================================
195: |General| These tutorials are the bottom of the iceberg as they link together multiple of the modules presented above in order to solve complex problems.
196:
197: =========== =======================================================
198:
199: .. |General| image:: images/general.jpg
200: :height: 80pt
201: :width: 80pt
202: :alt: General Icon
203:
204: .. raw:: latex
205:
206: \pagebreak
207:
208: .. toctree::
209: :maxdepth: 2
210: :hidden:
211:
212: introduction/table_of_content_introduction/table_of_content_introduction
213: core/table_of_content_core/table_of_content_core
214: imgproc/table_of_content_imgproc/table_of_content_imgproc
215: highgui/table_of_content_highgui/table_of_content_highgui
216: calib3d/table_of_content_calib3d/table_of_content_calib3d
217: features2d/table_of_content_features2d/table_of_content_features2d
218: video/table_of_content_video/table_of_content_video
219: objdetect/table_of_content_objdetect/table_of_content_objdetect
220: ml/table_of_content_ml/table_of_content_ml
221: gpu/table_of_content_gpu/table_of_content_gpu
222: contrib/table_of_content_contrib/table_of_content_contrib
223: ios/table_of_content_ios/table_of_content_ios
224: general/table_of_content_general/table_of_content_general
C:\OpenCV-2.4.7\opencv\sources\include
包含OpenCV 1.x版和OpenCV2.x版的標頭檔
C:\OpenCV-2.4.7\opencv\sources\modules\
原始程式碼, 依照分類存放於不同目錄夾
C:\OpenCV-2.4.7\opencv\sources\platforms
跨平台移植指南
C:\OpenCV-2.4.7\opencv\sources\samples
不同程式語言或平台的範例程式!!!
==============================分隔線========================================
安裝CMake
Windows (Win32 Installer)
cmake-2.8.12.1-win32-x86.exe
正在安裝…
==============================分隔線========================================
在C:\OpenCV-2.4.7\opencv\build\目錄夾下創建一個vs2010資料夾
新增次目錄win64和x86
開啟CMake
設定路徑:包含source code的路徑和build產生檔案(輸出)的路徑
按下configure按鈕,請選擇Visual Studio 10 Win64專案
BUILD目錄
BUILD->BUILD_EXAMPLES打勾
BUILD->BUILD_TBB不打勾
WITH目錄
WITH->WITH_IPP打勾
WITH->WITH_OPENGL打勾
WITH->WITH_TBB打勾
按下configure按鈕
設定TBB_INCLUDE_DIRS
按下configure按鈕
按下configure按鈕,這次沒有出現粉紅色warning提示就可以按下Generate按鈕
Configuring done,執行Generate中
看到Generating done就可以關閉CMake
==============================分隔線========================================
開啟OpenCV方案(solution格式), 需費時幾分鐘時間初始化, 請耐心等待囉…
載入中…
剖析方案中…
掃描其他檔案中…
選擇Release和x64,接著按下三角形按鈕, 開始編譯
切換至目錄夾C:\OpenCV-2.4.6\opencv\vs2010\win64\bin\Release
如果編譯成功會陸續看到產生*.dll和*.pdb檔案(參考修改日期時間)
編譯log: logOpenCV247VS2010.txt
編譯操作展示(win64版本):
2013 11 20 Install OpenCV2 4 7 part1
2013 11 20 Install OpenCV2 4 7 part2
=========================================================================
到C:\OpenCV-2.4.7\opencv\build\vs2010\win64目錄下, 複製bin目錄夾
貼至下列路徑C:\OpenCV-2.4.7\opencv\, 並將bin\*.pdb檔案刪除
加入C:\OpenCV-2.4.7\opencv\bin 系統路徑(系統變數path)
到C:\OpenCV-2.4.7\opencv\build\vs2010\win64\lib\Release\目錄下所有檔複製
貼至下列路徑C:\OpenCV-2.4.7\opencv\lib
同樣, 複製C:\OpenCV-2.4.7\opencv\build\下的include目錄夾至C:\OpenCV-2.4.7\opencv\目錄下
所以完成上述步驟, C:\OpenCV-2.4.7\opencv\應該可以看到三個重要目錄夾bin, include 和 lib(如上圖所示)
編譯操作(x86版本)展示: