【opencv】如何配置修改并调试opencv源代码

这篇文章主要介绍如何通过vs2012配置opencv,然后再具体修改调试opencv的代码。

1、配置opencv工程项目

这里主要是介绍如何通过vs2012编译源代码,具体步骤可以参考:

【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译

因为我用的vs版本是vs2012,对应于VC11,在编译的过程中,如果出现以下类似的问题,可以参考一下:

1)CMake提示无法找到vs12

具体现象是在CMake gui 界面,点击configure时,出现如下提示:

CMake Error: CMake was unable to find a build program corresponding to “Visual Studio 12”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.

解决方法:这是因为在CMake中把vs2012认为是vc11了, 这时我们在配置时,在弹出的窗口中(如下图所示),选择vs2011。

具体可参考:

http://public.kitware.com/Bug/print_bug_page.php?bug_id=14629

2)编译的过程中,报错,提示没有找到ippicv_windows_20141027

在CMake配置的时候,下载文件过程中,出现:

CMake Error at 3rdparty/ippicv/downloader.cmake:97 (message):

ICV: Failed to unpack ICV package from D:/Program Files/opencv/sources/3rdparty/ippicv/downloads/windowsb59f865d1ba16e8c84124e19d78eec57/ippicv_windows_20141027.zip

to D:/Program Files/opencv/sources/3rdparty/ippicv/unpack with error 1Call Stack (most recent call first):

3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)

cmake/OpenCVFindIPP.cmake:212 (include)

cmake/OpenCVFindLibsPerf.cmake:12 (include)

CMakeLists.txt:454 (include)

这时我们可以下载这个文件:ippicv_windows_20141027.zip

替换到:

..\OpenCV\V300\sources\3rdparty\ippicv\downloads\windows-b59f865d1ba16e8c84124e19d78eec57\ 路径里的对应文件就可以了。

先停止configure,复制文件到路径覆盖未下载完全的文件,再点击configure。

2、如何调试opencv

在上述提及的教程里,我们已经配置好了opencv源代码工程文件。

现在我们打开对应的工程文件。选中我们要调试的那个dll。因为opencv比较庞大,所以按照功能分成了不同的dll。

这里看看怎么通过自己编写的例子来调试opencv的代码。主要目的是为了学习opencv里面优秀的设计,发现现在opencv都用了比较快速的方法,比如SSE,NEON等优化技术,熟悉代码就变得很有用处。

首先,我们写个简单的项目工程。主要用resize的函数。

Mat img= imread("d:\\lena.jpg");
resize(img,img,Size(img.cols/2,img.rows/2));

然后,打开opencv工程文件,找到对应的imgwarp.cpp,resize函数在这个文件中。这里应该是在opencv_imgproc下的。

对opencv_imgproc,右击,选择属性,弹出如下对话框。在对应的配置属性->调试选项中,修改命令为我们刚刚写好的opencvBase工程目录下debug文件的exe文件。调试器类型修改为混合。表示调试该dll时,选择用我们选好的exe程序调用。

之后在opencv_imgproc项目上右击,将其设置为启动项目

为了更好的观察是否进到了opencv代码里面,在imgwarp.cpp中,找到resize函数,设置断点。并且开始进行调试。

可以看到,这是已经进入到了resize函数当中。

那现在又有个问题,当前的设置并不能让我们修改opencv的代码并调试,只能进行断点跟踪。

假设我们想要修改opencv的代码并调试应该怎样进行?

3、修改并调试opencv源码

这里我们需要把opencv工程生成的dll复制到我们需要的系统路径下。

在一开始配置的时候,我们给opencv配置了环境变量,使得能够在对应的环境变量路径下找到dll文件。而为了调试我们生成的dll,只需要将这些工程所生成的dll文件复制到对应的环境变量路径中。也可以在生成dll的时候,直接配置生成的地址为对应的opencv\build\x86\vc11\bin

在这里,我配置的是:

D:\opencv3.0\build\x86\vc11\bin,为了更加方便,直接设置opencv_imgproc的输出目录为D:\opencv3.0\build\x86\vc11\bin,

在resize中,添加打印语句:

然后生成解决方案。

在opencvBase工程或者opencv源代码工程中,重新编译运行。都可以看到:

时间: 2024-10-04 20:38:47

【opencv】如何配置修改并调试opencv源代码的相关文章

AndroidStudio OpenCv的配置,不用安装opencv manager

按照以下操作步骤配置并测试了,没问题. 下载OpenCV sdk for Android,解压(我的解压地址是F:\OpenCV-android-sdk) 1)新建项目项目,取名为Opencvtest(名字随便取) 2)Minimum SDK 选择 API 19:Android 4.4 (KitKat) 3)选择Empty Activity Android Studio菜单-->File-->New-->Import Module 1)选择F:\OpenCV-android-sdk/sd

【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

本系列文章由@浅墨_毛星云 出品.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 1.下载和安装OpenCV SDK VS2010不用说,肯定都安装了吧.来说说当前最新的OpenCV版本2.4.8(2014年2月24日),2.4.9 (2014年4月)的下载和安装.与其说是安装,不如叫解压更加合适,因为我们下载的exe安装文件就是一个自解压程序而已. 在官网:http://opencv.org/上找到OpenCV

ubuntu 14.04 +Kinect+ openNI+ openCV+ Sensorkinect 配置 +获取深度图像及相关问题

1. 最初参考的是:http://blog.csdn.net/u011700636/article/details/41493645的教程过程,但是其中遇到诸多问题,主要是来自于git包的问题,好像是相互不兼容的问题,安装SensorKinect的时候老是报错,把openni和sensorKinect都换成Unstable都不行. 2. Nite用于提取图下功能SKETEON,暂不需要,跳过不装没有问题!! 3. 配置中 openNI+ openCV+ Sensorkinect是相互依赖的,因此

OpenCV学习笔记(一)——OpenCV开发环境配置

摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的,所以我就想着研究一下这个库,这里是个人的学习笔记,不是什么权威的教程,如果你们有错误也麻烦帮我指出哈. =============================================分割线==================================================

vs2013中opencv的配置

下面开始介绍如何配置,我用的系统是win8.1 64位系统,vs用的是vs3013 ultimate,先到官网下载opencv 我用的的版本是最新的版本3.0 ALPHA,下载下来直接执行即可,实际上就是解压,我解压到D:\Program Files文件夹下. 配置环境变量,右击我的电脑选择属性,在左侧选择高级系统设置,会弹出系统属性对话框, 点击环境变量,点击新建环境变量,变量名可以任意,我在这起的是OPENCV,将变量值设为opencv/build的路径 添加路径,点击编辑path,在pat

Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)

开篇的话 最近各种事,比较烦心,忙了N久终于慢慢腾腾的开始了OpenCV的学习,环境搭建也耗费了好久的时间.不管怎样,开始了就努力加油,关于环境的大家就转述一个学姐的博文吧,自己不想再弄了,因为真的很完美了. 原文转载链接:http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html Summary 2012年4月给同学写了篇傻瓜式的 VS2010+Opencv-2.4.0的配置攻略 结果没有想到,点击量一路飙升,固定在了

VS2017开发C++学习(三)OpenCV的配置方法

作为萌新最初听说到opencv,以为是一个集成开发环境IDE.后来因为毕设原因不得不去使用opencv,才了解到OpenCV是一个广受欢迎的开源计算机视觉库 ,它提供了很多函数,实现很多计算机视觉算法,从最基本的滤波到高级物体检测皆有涵盖.换言之,opencv只不过是一个写好的库,方便在编程的时候对视觉数据进行处理. 网上有各式各样的配置方式,但是大部分都没说每一步做法的原因 ,导致opencv版本不大一样的话,很多人就把所有教程都试个遍,结果还不一定配成功.我个人是很反感这种方式的,所以下文会

Windows下配置Qt 5.8+opencv 3.1.0开发环境

最近需要把程序移植到windows系统下,程序都已经写好了,然而没想到搭建一个开发环境却废了那么多功夫 为了防止以后重装系统后不会傻眼,决定将环境搭建的过程记录下来,也希望能够帮助到遇到同样问题的人 好了废话不多说 先给出需要下载的东西 (1)Qt Creator 下载地址http://qt-project.org(我是用的版本是5.8) (2)OpenCV 下载地址http://opencv.org/(我是用的是OpenCV 3.1.0)  PS:别下错了, 要windows版的 (3)CMa

Pycharm Opencv环境配置

1.    安装Python https://www.python.org/ 我安装的是python 2.7.14 2.一步步点击next进行安装即可,安装完毕后如果出现缺少java环境变量的,需要下载JDK安装包  http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载安装完毕后,设置环境变量 打开我的电脑--属性--高级--环境变量 (1)  新建用户变量JAVA_HOME 变量名:JAVA_HOME 变量值