VC调用OPENCV环境设置及程序例子
Win7下如何用VS2012配置opencv3.0

Win7下如何用VS2012配置opencv3.0.0一、下载在opencv官网:/下载OpenCV for Windows,opencv3.0.0版本。
二、解压下载完后得到文件OpenCV3.0.0,双击可以解压到到D盘根目录,然后点击Extract按钮,解压出了一个大小为2.59GB的opencv文件夹,其下有build和sources两个文件夹。
三、环境变量配置在桌面上右击“计算机”属性—高级系统设置—环境变量,在系统变量上点击“新建”变量名填写PATH变量值填写D:\opencv\build\x86\vc11\bin注意:上面vc11对应的VS2012版本,vc12对应的vs2013版本四、打开VS2012新建项目打开VS2012,在VS2012中新建一个控制台项目,文件->新建->项目->Visual C++->Win32控制台项目,输入名称,例如test,选择一个存放项目的文件夹,点击下一步,在空项目上打勾,点击完成。
五、VS2012包含目录、库目录配置先在源文件下建立一个.cpp源文件,取名为main.cpp调出属性管理器:点击视图—其他窗口—属性管理器打开属性管理器,可以看到一个属性管理器的窗口,接下来点开工程文件test,下边会有一个Debug|Win32的文件夹,点击打开,下有名为er的文件,右击属性打开属性页,选择通用属性下的VC++目录,右边会有包含目录和库目录,点击包含目录,添加以下三条路径,一个一个的添加,其实这些都是刚才OpenCV相关解压文件所在的目录:D:\opencv\build\includeD:\opencv\build\include\opencvD:\opencv\build\include\opencv2再点击库目录添加下面其中一条路径:64位:D:\opencv\build\x64\vc11\lib(编译64位软件时)32位:D:\opencv\build\x86\vc11\lib(编译32位软件时)点击链接器,选择输入,会在右侧看到附加依赖项,添加下面两个文件,其实在D:\opencv\build\x86\vc11\lib里面,这里添加的是Debug模式,会看到文件的结尾有dopencv_ts300d.libopencv_world300d.lib假如要添加Release模式,将d去掉即可Release模式:opencv_ts300.libopencv_world300.lib六、显示图片配置已经在上面的过程中结束了,下面让我们来显示一张图片,验证一下是配置是否成功。
Windows10+VisualStudio2017+CMake+OpenCV编译、开发环。。。

Windows10+VisualStudio2017+CMake+OpenCV编译、开发环。
由于最近需要使⽤OpenCV,本⼈需要在⾃⼰的PC上使⽤OpenCV,因此最近⼀直在研究如何使⽤Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于成功。
本⽂记录⼀下安装的过程以及遇到的问题,仅供参考。
开篇吐槽⼀下博客园的博⽂【⾃动保存和恢复】功能,说⽩了就是可以⾃动保存,但是⼏乎不能⾃动恢复,不要问我为什么这么说,呵呵。
本PC环境的详细配置:Windows 10 16299.192 64-bit,Visual Studio Enterprise 2017 15.5.2,OpenCV-3.4.0-vc14_vc15,CMake 3.10.1,CUDA 9.0开始正式介绍安装步骤:(1)下载并安装Visual Studio 2017。
由于本PC上安装的是最新的Visual Studio 2017企业版,因此本⼈主要研究如何在最新版的VS上编译并部署opencv开发环境。
如果各位搞不到Visual Studio 2017企业版的激活码,那么使⽤社区版也是没有问题的。
⾸先到官⽅⽹站下载Visual Studio 2017并安装。
在Visual Studio Installer中,勾选和C++开发相关的所有组建,并且确保安装过程顺利⽆误,这⼀点⾮常重要,因为必须确保VC++编译环境正确安装。
这⾥提醒⼀下,注意VS2017的版本号为15,因此对应的VC++编译环境的版本号为vc15,这个很重要,将决定opencv版本的安装。
(2)下载并安装OpenCV。
从官⽹下载OpenCV,本⼈使⽤的是最新版OpenCV-3.4.0-vc14_vc15,请注意,这⾥要下载⽀持vc15的版本,才能很好的兼容Visual Studio 2017,本⼈曾看⼀些博客写到⽤vc14(对应Visual Studio 2015)的版本在Visual Studio 2017中使⽤,亲测,⽑病有不少。
c++的opencv使用方法总结

C++的OpenCV使用方法总结在计算机视觉和图像处理领域,OpenCV是一个非常强大的开源库,它提供了丰富的功能和工具,用于处理图像和视频。
作为C++程序员,了解并熟练使用OpenCV库是非常重要的。
本文将对C++中使用OpenCV的方法进行总结,并探讨一些常见的应用和技巧。
一、安装和配置OpenCV在开始使用OpenCV之前,首先需要安装和配置这个库。
在Windows评台上,可以通过下载预编译的二进制文件进行安装;在Linux评台上,可以通过包管理器进行安装。
安装完毕后,还需进行一些环境配置,确保编译器能够正确信息OpenCV库文件。
二、基本图像处理1. 读取和显示图像在C++中使用OpenCV读取和显示图像非常简单,只需几行代码即可完成。
首先需要使用imread函数读取图像文件,然后使用imshow 函数显示图像。
在进行图像显示后,需要使用waitKey函数等待用户按下某个键,以便关闭显示窗口。
2. 图像的基本操作OpenCV提供了丰富的图像处理函数,包括图像缩放、旋转、平移、通道拆分与合并等。
这些函数可以帮助我们对图像进行各种基本操作,从而满足不同的需求。
三、特征提取与描述1. Harris角点检测Harris角点检测是一种经典的特征点检测方法,它可以用来识别图像中的角点。
在OpenCV中,我们可以使用cornerHarris函数来实现Harris角点检测,然后对检测结果进行筛选和标记。
2. SIFT特征提取SIFT是一种广泛应用的特征提取算法,它具有旋转不变性和尺度不变性。
在OpenCV中,我们可以使用SIFT算法来提取图像的关键点和特征描述子,从而实现图像匹配和目标识别等功能。
四、图像分类与识别1. 使用支持向量机(SVM)进行图像分类OpenCV提供了对机器学习算法的支持,包括SVM分类器。
我们可以使用SVM对图像进行分类,从而实现图像识别和目标检测等功能。
2. 使用深度学习模型进行图像识别近年来,深度学习在图像识别领域取得了显著的成就。
vs2010与opencv配置过程

Vs2010与Opencv 配置过程一.我的opencv是安装在D盘的以下内容是按照D盘安装的步骤:1 设置环境变量:我的电脑--->右键--->属性--->高级--->环境变量--->在用户变量里,(系统环境变量和用户环境变量里面都要添加这两个位置)新建PATH和TBB两个项步骤1:在PATH中添加D:\vs2010\opencv\build\x86\vc10\bin,步骤2:添加TBB的环境变量D:\vs2010\opencv\build\common\tbb\ia32\vc10如图所示:2.步骤3 打开一个Opencv的工程,点菜单目录的“视图”--->属性管理器--->双击项目名称步骤3:在配置属性—>通用属性--->VC++目录--->包含目录文件中添加D:\vs2010\opencv \build\includeD:\vs2010\opencv \build\include\opencvD:\vs2010\opencv \build\include\opencv23::在配置属性页—>通用属性--->VC++目录--->库目录中添加:D:\vs2010\opencv \build\x86\vc10\lib如图所示:步骤5 添加lib库文件, 在配置debug里--->项目属性--->链接器--->输入--->附加依赖库里加上opencv_core242d.libopencv_highgui242d.libopencv_video242d.libopencv_ml242d.libopencv_legacy242d.libopencv_imgproc242d.lib步骤6:在配置release里--->项目属性--->链接器--->输入--->附加依赖库里加上opencv_core242.libopencv_highgui242.libopencv_video242.libopencv_ml242.libopencv_legacy242.libopencv_imgproc242.lib测试小代码如下://在(show_image)窗口下读取图片(名为opencv)// opencv2_4_2test.cpp : 定义控制台应用程序的入口点。
VS2022永久配置OpenCV开发环境的实现

VS2022永久配置OpenCV开发环境的实现⽬录下载opencv添加环境变量添加项⽬属性表配置属性表在新的项⽬中快速配置配置Release模式本⽂通过在VS2022中添加并配置项⽬属性表,实现Opencv永久配置。
在不更改opencv⽂件位置的前提下,只需要在新的项⽬中添加配置好的项⽬属性表即可快速完成opencv配置下载opencv添加环境变量添加环境变量%opencv%\build 64\vc15\bin其中%opencv%为你⾃⼰的opencv⽂件夹的位置添加项⽬属性表打开已有的VS项⽬,在左下⾓-属性管理器-DeBug|X64中右键-添加新项⽬属性表。
然后设置名字如:Debug_x64_opencv.props并保存。
配置属性表右键刚刚添加的属性表,点击属性。
在“通⽤属性-VC++⽬录-常规-包含⽬录”中添加%opencv%\build\include\opencv2和%opencv%\build\include,%opencv%为你⾃⼰的opencv⽬录。
在“通⽤属性-VC++⽬录-常规-库⽬录”中添加%opencv%\build 64\vc15\lib,%opencv%为你⾃⼰的opencv⽬录。
在“通⽤属性-链接器-输⼊-附加依赖项”中添加%opencv%\build 64\vc15\lib\opencv_world451d.lib,%opencv%为你⾃⼰的opencv⽬录。
不同版本的该⽂件名称不同,只需要将⾃⼰版本的opencv⽂件夹中该⽂件名填⼊即可。
要注意⼀定要是****d.lib,因为只有d.lib才对应的是dubug版本点击确认保存属性表,并进⾏测试。
运⾏的时候⼀定要选择DeBug|x64#include<opencv2/opencv.hpp>using namespace cv;int main(){Mat test = imread("test.jpg"); //载⼊图像到testimshow("test", test);waitKey(0);return 0;}正常显⽰图像则说明配置成功。
vs2012配置opencv2.4.9详解

win7下vs2012配置opencv2.4.91.准备工作:系统:Windows 7平台:Visual Studio 2012 UltimateOpenCV:2.4.9(点此下载/)选择这里的opencv forwindows,点击就会下载到opencv2.4.9.exe。
2.解压OpenCV-2.4.9.exe解压(不是安装)到放置OpenCV的位置,例如 E:\Program Files\OpenCV249可以看到,解压后在这个文件夹里面会生成一个文件夹“opencv”,里面就是OpenCV用到的全部文件了,比如“build ”、“include”等文件夹,如下图:3.设置用户变量。
计算机>属性>高级系统设置>环境变量>新建,新建一个用户变量,如变量名:Path,变量值:C:\opencv\build\x86\vc11\bin (1)变量值有如下选择:32位VS2008:C:\opencv\build\x86\vc9\bin64位VS2008:C:\opencv1\build\x64\vc9\bin32位VS2010:C:\opencv\build\x86\vc10\bin64位VS2010:C:\opencv\build\x64\vc10\bin32位VS2012:C:\opencv\build\x86\vc11\bin64位VS2012:C:\opencv\build\x64\vc11\bin32位VS2013:C:\opencv\build\x86\vc12\bin64位VS2013:C:\opencv\build\x64\vc12\binopencv2.4.9目录如下,没有vc9(vs2008):(2)打开软件安装目录查看vs版本,可以发现我安装的vs2012是在Microsoft Visual Studio 11.0里面,同时可以看到我没有安装vs2013(vc12).(3)打开计算机>属性>高级系统设置>环境变量>新建,新建一个环境变量,变量名:path;变量值E:\opencv\build\x86\vc11\bin,点击确定,保存变量。
OpenCV在Visual Studio中的属性表配置方法(通用)

OpenCV在Visual Studio中的属性表配置方法(OpenCV3.0及之前版本,VS2013及之前版本)1.opencv环境变量设置可以先看一下第五章和第六章、第七章,稍微看一下有些许印象就行,然后再从头看~~右击我的电脑→属性→高级系统设置→环境变量双击系统变量path,在最后填入解压后的bin目录D:\Program Files\opencv\build\x86\vc10\bin (根据个人解压opencv后的具体目录填写,最后为bin即可,注意与上一个目录中间用英文半角分号隔开,)如:然后在用户变量中新建OPENCV_DIR,变量值如下,到build目录,环境变量就这些就够了,重启电脑生效(不重启也行,如果不行,再重启试试)2.新建win32控制台程序由于打开属性管理器的具体配置需要先打开一个项目,这里我们先新建个项目,打开文件→新建→项目→VC++→win32控制台应用程序,在下面输入名称testopencv,点击下一步,选择空项目永久配置opencv打开视图 属性管理器,点开如下图一次性配置opencv网上有一种方法是直接修改er,但是配置链接器的时候debug版本和release版本的附加依赖项都得一次性加进去,我不知道会不不会出问题,所以为保险起见,我分别在debug|win32和release|win32下分别新建了属性表opencv_debug和opencv_release,当然,大家也可以试试网上的方法,具体配置的内容都一样,下面以opencv_debug为例,在debug|win32上右击,然后点击添加新项目属性表,填入opencv_debug 即可下面双击open_debug,选择VC++目录,点击包含目录,点击右侧下拉按钮→编辑,点击第一个新行按钮,输入$(OPENCV_DIR)\include,类似添加$(OPENCV_DIR)\include\opencv和$(OPENCV_DIR)\include\opencv2,点击确定,应用点击库目录,点击右边的下拉按钮→编辑,添加新行$(OPENCV_DIR)\x86\vc10\lib确定,应用点击链接器→输入,右侧附加依赖项,下拉按钮→编辑,输入如下: opencv_calib3d247d.libopencv_contrib247d.libopencv_core247d.libopencv_features2d247d.libopencv_flann247d.libopencv_gpu247d.libopencv_highgui247d.libopencv_imgproc247d.libopencv_legacy247d.libopencv_ml247d.libopencv_objdetect247d.libopencv_ts247d.libopencv_video247d.lib点击确定,应用,后面的d表示debug版,完成后在opencv_debug上右击,点击保存opencv_debug,opencv_release的基本配置同opencv_debug,只是链接器依赖项要换成opencv_calib3d247.libopencv_contrib247.libopencv_core247.libopencv_features2d247.libopencv_flann247.libopencv_gpu247.libopencv_highgui247.libopencv_imgproc247.libopencv_legacy247.libopencv_ml247.libopencv_objdetect247.libopencv_ts247.libopencv_video247.lib这样,我们可以看到新建项目下有两个属性表opencv_debug.props和opencv_release.props,我们可以把他们复制到别的地方,其他项目用到时只要附加进来即可,当然,如果是直接修改er的话,便无需再附加,每次环境会自动加载。
Windows下CMake编译安装OpenCV

Windows下CMake编译安装OpenCVWindows下CMake编译安装OpenCV这是⼀个⾯向新⼿的在windows上运进opencv, helloword的教程. 在这⾥我们使⽤vs2019来编译opencv, 并运⾏⼀个helloworld来展⽰如何⽤CMake来编译运⾏.0. 准备⼯作需要的软件: VisualStudio 2019 社区版, CMake, 在系统变量下加⼊VS2019 MSBuild.exe 的路径.1. 下载:在 https:///releases/ 下载source⽂件2. 编译:打开CMakeGUI 如图:在Browser Source处选择解压后的源码,在Build处选择build结果存放的⽬录.然后勾选需要build的内容, 最后点 Generate. 在这⾥我们选择 Visual Studio 16 2019, 设置平台为 x64⽣成过程中可能会遇到⽹络问题导⾄的下载错误(需要⾃⾏解决⽹络问题), 链接库错误等(可考虑去掉不需要的功能)如:在这⾥我们选择了opencv_world, 并去掉了对于python3的⽀持.3. 编译⽣成结束后, build⽂件夹下内容应如下所⽰:我们⽤vs打开OpenCV.sln, 选择ALL_BUILD后进⾏编译如果成功会有如下的显⽰:这时build⽂件夹下应该会有⽣成出的install⽂件夹(没有就选install再进⾏⼀次编译)内容如下. 能看到这个, 我们的opencv就编译好了.最后需要在系统环境变量的PATH中加⼊opencv的bin路径: D:\Developments\opencv_build\install\x64\vc16\bin4. 编译运⾏helloworld我们同样使⽤cmake来编译运⾏helloworlddemo.cpp1 #include "opencv2/opencv.hpp"2 #include "opencv2/highgui/highgui.hpp"34using namespace cv;56int main(int argc, char** argv) {7//create a gui window:8 namedWindow("Output",1);9//initialize a 120X350 matrix of black pixels:10 Mat output = Mat::zeros( 120, 350, CV_8UC3 );11//write text on the matrix:12 cv::putText(output, "Hello World", cv::Point(10,output.rows-18),13 cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(200,200,250), 1, 8);14//display the image:15 imshow("Output", output);16//wait for the user to press any key:17 waitKey(0);18return0;1920 }下⾯是⼀个基础的opencv. hello world级cmake⽂件. 先设置 OpenCV_DIR 到install⽂件夹, cmake的 find_package 会⾃动找到头⽂件和库的位置. 在编译完程序后, 需要link opencv_world这个库.CMakeLists.txt1 project("DEMO")23 cmake_minimum_required(VERSION 3.21)45set(OpenCV_DIR "D:/Developments/opencv_build/install") # opencv安装位置6 find_package(OpenCV REQUIRED) # 让CMake⾃动找OpenCV的头⽂件和库78 include_directories(${OpenCV_INCLUDE_DIRS}) # 要包含的头⽂件9 add_executable(demo demo.cpp)10 target_link_libraries(demo "D:/Developments/opencv_build/install/x64/vc16/lib/opencv_world453d.lib" ) # 链接OpenCV库新建build⽂件夹后, cmake ..再 MSBuild.exe DEMO.sln 进⾏编译最后, ⽣成好的⽂件会在 Debug 下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择 Library files,在其中添加 C:\Program Files\OpenCV\lib 注意:(防止每次都拷贝.dll 文件)
在 Project Setting ->Link 的 Input 选项中,添加 cv.lib cxcore.lib highgui.lib 三个库文件(这 一步对于每个新工程都要重新设置,而前三步不需要)。
选择 Source files,在其中添加 C:\Program Files\OpenCV\cv\src C:\Program Files\OpenCV\cvaux\src C:\Program Files\OpenCV\cxcore\src C:\Program Files\OpenCV\otherlibs\highgui C:\Program Files\OpenCV\otherlibs\cvcam\src\windows
我的电脑—属性—高级—环境变量—path—C:\Program Files\OpenCV\bin
下面给出我所编写的一个简单的应用 OpenCV 的例子. (1)建立一个基于 Dialog 的 MFC 工程 OpenCV_Dlg1,在头文件 OpenCV_Dlg1Dlg.h 中加 入“#include cv.h”,“#include highgui.h”宏命令语句. (2)添加 Picture 控件,ID 号为 IDC_SHOW_WINDOW,图像将显示在该控件中. (3)给 COpenCV_Dlg1Dlg 类添加成员变量 IplImage m_cvImage,属性为 Public.并在构造 函数 COpenCV_Dlg1Dlg::COpenCV_Dlg1Dlg()中将其初始化为 NULL,即添加“m_cvImage =NULL;”语句. (4)OpenCV 有现成的函数 cvShowImage()来显示图像,但用该函数显示图像是却是另 外开辟了一个弹出窗口并在其中显示,为了在我们建立的 Picture 控件中显示图像,需在 COpenCV_Dlg1Dlg 类中添加成员函数 void DrawPicToHDC(IplPublic.DrawPicToHDC()函数代码为: void COpenCV_Dlg1Dlg::DrawPicToHDC(IplImage img, UINT ID) { CDC pDC = GetDlgItem(ID)-GetDC(); HDC hDC= pDC-GetSafeHdc(); CRect rect; CWnd pWnd; pWnd=GetDlgItem(ID); pWnd - SetWindowPos ( NULL , 0 , 0 , img - width , img - height , SWP_NOZORDER SWP_NOMOVE ); pWnd-GetClientRect(rect); CvvImage cimg; cimg.CopyOf(img); cimg.DrawToHDC(hDC,rect); ReleaseDC(pDC); } //====================================== ==== (5)添加 Button 按钮,ID 号为 IDC_READ_PIC,标题为“读图”,用于打开一幅图片.对该 按钮添加消息响应函数 OnReadPic(): void COpenCV_Dlg1Dlg::OnReadPic() { // TODO: Add your control notification handler code here CString Open_Filename; CFileDialog fDlg ( TRUE , "bmp" , ".bmp" , OFN_HIDEREADONLY OFN_OVERWRITEPROMPT, "原始图像(.bmp) .bmp 所有文件(.) .",NULL); if (fDlg.DoModal() == TRUE) { Open_Filename = fDlg.GetFileName(); if(m_cvImage)
cvReleaseImage(m_cvImage); m_cvImage = cvLoadImage(Open_Filename,1); if (m_cvImage==0) MessageBox("Reading Failed"); else DrawPicToHDC(m_cvImage, IDC_SHOW_WINDOW); } } //====================================== ===== 至此,运行程序,当点击“读图”按钮时,会弹出对话框,提示用户选择需要读入的图片, “确定”后程序便会在 Picture 控件中将图片显示出来. (6)添加 Edit 控件,ID 号为 IDC_EDIT_TH,应用向导工具 MFC ClassWizard 给该 ID 添加 int 型的成员变量 m_Th.通过 Edit 控件 IDC_EDIT_TH,用户可以输入图像分割阈值,程序会 将其自动更新到 m_Th. (7)添加 Button 按钮,ID 号为 IDC_THRESHOLD,标题为“阈值分割”,点击它将对业已 打开的图片做二值化分割.对该按钮添加消息响应函数 OnThreshold(): void COpenCV_Dlg1Dlg::OnThreshold() { // TODO: Add your control notification handler code here UpdateData(TRUE); if (m_cvImage==NULL) MessageBox("NO Source Image Found!","Warning"); else { IplImage dst=cvCreateImage( cvSize(m_cvImage-width,m_cvImage-height), m_cvImage -depth, m_cvImage-nChannels ); cvThreshold( m_cvImage, dst, m_Th, 255, CV_THRESH_BINARY); //原型:void cvThreshold( IplImage src, IplImage dst, float thresh, float maxvalue, CvThreshType type); cvNamedWindow("Threshold"); //设置窗口名称 cvShowImage("Threshold",dst); //显示图片 cvWaitKey(0); } } //====================================== ====== 至此,当点击“读图”按钮打开一幅图片,该图片将在 Picture 控件中显示;在 Edit 控件 IDC_EDIT_TH 中输入阈值,并点击“阈值分割”按钮,则对读入的图像做二值化处理,处 理结果在一个新弹出窗口中显示. 以上所编写程序是个试验性程序,从中可以反应出用 OpenCV 编程的一般性步骤.但该程序 依然存在 Bug:即显示在 Picture 控件中的图像不会重绘,也就是说如果用另外一个窗口遮 挡 Picture 控件中的图像,当该窗口移去时被遮挡部分的图像便显示一片空白.此问题有待对 程序进一步查错.
方法二: 在 Tools 菜单下选择 Options 子菜单,在弹出的对话框中选择 Directory,将用到的几个库 的路径添加进去。以后只需将所用的库在 Object /library modules 下输入就可以了,不用再 每次指定路径。 在 Show directories for 下拉菜单中选择 Include files,输入: C:\Program Files\OpenCV\cv\include C:\Program Files\OpenCV\cvaux\include C:\Program Files\OpenCV\cxcore\include C:\Program Files\OpenCV\otherlibs\highgui C:\Program Files\OpenCV\otherlibs\cvcam\include