当前位置:首页 » 编程软件 » 编译链接调试opencv

编译链接调试opencv

发布时间: 2023-03-25 21:31:34

⑴ 怎么在vs2022中编译opencvmat类的源码

1. 首先需要在VS2022中添加OpenCV库,可以通过NuGet Package Manager搜索并安装OpenCV。

2. 打开VS2022,创建一个新的C++项目。

3. 在项目属性中,选择VC++目录,添加OpenCV库的包含目录和库目录。

4. 在链接器中,添加需要链接的OpenCV库。

5. 在代码中包含需要使用的头文件,例如<opencv2/opencv.hpp>。

6. 编写代码,使用OpenCV的Mat类。

7. 按下F7编译代码。
结论:在VS2022中编译OpenCV的Mat类源码需要添加OpenCV库,并在项目属性中设置相关选项。
原因:OpenCV是一个开源计算机视觉库,包含了许多图像和视频处理的函数和类,其中的Mat类用于存储和操作多维数组。
在VS2022中编译OpenCV的Mat类源码需要添加OpenCV库,并在项目属性中设置相关选项,以便编译器能够正确地链接和使用OpenCV库。
内容延伸:除了在VS2022中编译OpenCV的Mat类源码,OpenCV还提供了搭禅许多其他功能和类,例如图像处理、特征提取、目标识别等,可以根据需要使用。
此外,还清做可以使用OpenCV与其他答枝衡计算机视觉库和框架(如TensorFlow、PyTorch等)结合使用,以实现更复杂的计算机视觉任务。

⑵ 如何用cmake 编译OpenCV 3.1.0的opencv

你机子的某个盘里建一个新的文件夹,如我这里的完整路径是:D:\CMake\CMake-Study\HelloCMake; 然后在HelloCMake文件夹里建立一个HelloCMake.cpp文件,里面的代码如下:
#include <iostream>
int main()
{
std::cout<<"Study CMake Together - Hello CMake!"<<std::endl;
return 0;
}
然后在HelloCMake文件夹里建立一个CMakeLists.txt文件,注意文件名不能是别的,必须叫这个名字。里面的内容如下:
cmake_minimum_required(VERSION 2.6)
project(HelloCmake)
add_executable(HelloCMake hellocmake.cpp)
接着在HelloCMake的同级目录里建立一个新的文件夹,就叫做HelloCMake-bin,在我机子上的完整路径是:D:\CMake\CMake-Study\HelloCMake-bin,你可以针对自己的目录路径对号入座。
然后打开CMake程序,界面如图(1):

图(1)

图(2)
接着把包含CMakeLists.txt和HelloCMake.cpp文件的完整路径给”where is the source code”,把最后建立的HelloCMake-bin目录的完整路径给”where to build the binaries”,然后按Cofigure,界面如图(2)。
Configure完了以后,再按Generate,直到所有的红色选项都变成灰色为止。界面如图(3)。然后打开HelloCMake-bin,你会发现原来空的文件夹里面自动生成了好多文件,如图(4)。

图(3)

图(4)
到此为止,工程构建完成,打开HelloCMake-bin目录下的HelloCMake.sln,里面有三个工程,分别是:ALL_BUILD;HelloCMake;ZERO_CHECK。这三个工程的大概作用如下(个人理解而已),HelloCMake就不用说了,自己要建立的那个工程;ALL_BUILD是管理整个项目的工程;ZERO_CHECK是实时监视隐帆渗CMakeLists.txt文件变化的工程,一旦CMakeLists.txt里的内容发生了任何变化,ZERO_CHECK就会告诉编译器要重新构建整个工程环灶脊境。所以,你可以先把工程关掉,打开CMakeLists.txt文件,更改里面的内容以后,把根据以上说的步骤走一遍CMake;你也可以在编译器环境(如VS2008)中更改CMakeLists.txt文件,然后直接F7编译工程。如果你选择后者,你会发现如图(5)所示的现象发生。
因为你改变了CMakeLists.txt的内容,工程的环境要重新构建、设置。所以你必须加载新轿念的工程环境设置。点Yes,然后点Reload。重新加载设置过的工程环境。
另外一个经常看某些童鞋问的,就是当弹出图(6)所示的界面时要怎么办?能怎么办?界面上提示已经灰常清楚了,指定exe的路径给它,然后点OK就可以了;出现这种情况的原因是你把没有生成exe可执行文件的工程设为启动工程了,如图(6)所示,你会发现ALL_BUILD这个工程名字是黑体显示的,表示它是启动工程;或者你把生成exe可执行文件的工程,如这里的HelloCMake右击->设置为启动工程,也不会出现如图(6)所示的界面。
好,这些比较琐碎的东西介绍完,我们一起来看看CMakeLists.txt里面的代码表示什么意思,争取每句代码都作解释,如果有不对的地方,一定要告诉我!

图(5)

图(6)
把CMakeLists.txt里的内容再罗列出来:
1. cmake_minimum_required(VERSION 2.6)
2. project(HelloCmake)
3. add_executable(HelloCMake hellocmake.cpp)
第1行,cmake_minimum_required(VERSION 2.6)这是对CMake版本的要求,基本上每个CMakeLists.txt文件里都会有这句代码,cmake_minimum_required是cmake里的命令,可大写小写。VERSION这个关键字必须是大写,而且不能省略;2.6就是CMake的版本号,现在的版本是2.8.3。
第2行,project(HelloCmake),project也是CMake的命令,里面的参数HelloCMake是你要生成的工程的名字,换句话说就是生成的***.sln或者***.dsw等工程项目文件的名字。
第3行,add_executable(HelloCMake hellocmake.cpp),add_executable同样是CMake的命令,链接有关的源文件,然后生成exe可执行文件,这是这个命令的作用。第一个参数是生成的exe文件的文件名,一般与project里的工程名一致,这样编译生成的文件就分别是HelloCMake.sln和HelloCMake.exe,当然也可以不一样。Add_executable()后面的是一个参数列表,可带多个要编译的文件名,中间以空格或回车等隔开,如可以加入:
add_executable(HelloCMake hellocmake.cpp hellocmake.h)
这样就把CMake里最常用的三个命令介绍完了,分别是cmake_minimum_required; project; add_executable等

⑶ opencv编译时错误”fatal error LNK1104: 无法打开文件“opencv_world310d.lib” WIN10+VS2013+OPENCV3.0

1、右键点击vs2013属性。点击链接器-输入-附加依赖库,检查路径是否是绝对路径。

编译有两种:Debug和Release,分别对应opencv_worldxxxd.lib和opencv_worldxxx.lib(后缀有无d来区分),对旧版本代码修改记得都修改清楚。

(3)编译链接调试opencv扩展阅读:

fatal error LNK1104:无法打开文件的解决方法:

1.有的人是用的同一个大版本的openCV,比如都是openCV 2.x这个版本的,但也报了这样的错,那就是在配置附加依赖项的时候,没注意版本号写错了(比如opencv_core249d.lib写成opencv_core245d.lib这样的错误),仔细检查一下配置路径和文件名就是了。

2.有的人是在项目中出错。项目是有依赖关系的,子项目的一些文件是继承自父项目的,要跑子项目,那就先去检查下父项目都链接了些什么库,核对一下和自己用的openCV版本有没有出入。

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在linux、Windows、Android和Mac OS操作系统上。

它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法


⑷ 怎么让opencv编译到可执行文件里,使别人电脑没有opencv也能运行exe

首先,先要再linux上安装opencv的库,在线安装的话,很容易
然后,编译的时候需要加上
`pkg-config
opencv
--libs
--cflags
opencv`
参数

⑸ Jetson nano(四)—编译安装opencv

参考之前Ubuntu x64上的编译步骤
https://www.jianshu.com/p/99bdc2472423

编译好的python动态链接库位于 /lib/python3.x中

将cv2文件夹复制到python的/lib/site-package中即可
sudo cp -r xxx/lib/python3.x/cv2 xxx/to/your/python/site-packages

⑹ 能配置opencv的编译软件有哪些

配置环境是: ubuntu12.04 + opencv2.4.0
安装OpenCV:
1. 安装必要的软件
apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

2. 从sourceforge上下载OpenCV的源码,下载地址是:
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.0/

3. 解压到任意目录
tar xvf OpenCV-2.4.3.tar.bz2
cd OpenCV-2.4.3/

4. cmake编译OpenCV源码,所有的lib文件都会被安装到/usr/local目录下
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local

5. 安装
make
sudo make install
环境变量pkg_config_path 提供编译时和运行时库的路径查询。pkg-config 是通过库提供的一个 .pc 文件获得库的各种必要信息的,包括版本信息、编译和链接需要的参数等。这些信息可以通过 pkg-config 提供的参数单独提取出来直接供编译器和 链接器使用。使用 pkg-config 的 --cflags 参数可以给出在编译时所需要的选项,而 --libs 参数可以给出 链接时的选项。
在上述opencv 的安装结束后,pkg-config 的读取目录 /usr/local/lib/pkgconfig/ 下已经有opencv.pc。

6. 更新环境变量:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/

编译程序:

用OpenCV读入一副图像(img.jpg),代码如下:
//main.cpp
#include <stdio.h>
#include <cvaux.h>
#include <highgui.h>
using namespace cv;

int main() {
IplImage *img = cvLoadImage("img.jpg",0);
if (NULL == img) {
printf("Load image failed.\n");
return -1;
}
printf("Hello World\n");
cvReleaseImage(&img);
return 0;
}

方法1:直接命令编译:
g++ main.cpp -o main `pkg-config --cflags --libs opencv` (注意ESC下面的`,不是单引号)

方法2:借助cmake,需要写CMakeLists.txt,示例如下:

cmake_minimum_required(VERSION 2.8)
project(Hello)
find_package(OpenCV REQUIRED)
add_executable(Hello main.cpp)
target_link_libraries(Hello ${OpenCV_LIBS})

然后:
cmake .
make

⑺ cmake编译mxnet怎么配置opencv

机某盘建新文件夹我完整路径:D:\CMake\CMake-Study\HelloCMake; HelloCMake文件夹建立HelloCMake.cpp文件面代码:
#include
int main()
{
std::cout<<"Study CMake Together - Hello CMake!"<<std::endl;
return 0;
}
HelloCMake文件夹建立CMakeLists.txt文件注意文件名能别必须叫名字面内容:
cmake_minimum_required(VERSION 2.6)
project(HelloCmake)
add_executable(HelloCMake hellocmake.cpp)
接着HelloCMake同级目录建立新文件夹叫做HelloCMake-bin我机完整路径:D:\CMake\CMake-Study\HelloCMake-bin针自目录路径号入座
打CMake程序界面图(1):

图(1)

图(2)
接着包含CMakeLists.txtHelloCMake.cpp文件完整路径给where is the source code建立HelloCMake-bin目录完整路径给where to build the binaries按Cofigure界面图(2)
Configure完再按Generate直所红色选项都变灰色止界面图(3)打HelloCMake-bin发现原空文件夹面自文件图(4)

图(3)

图(4)
止工程构建完打HelloCMake-bin目录HelloCMake.sln面三工程别:ALL_BUILD;HelloCMake;ZERO_CHECK三工程概作用(理解已)HelloCMake用说自要建立工程;ALL_BUILD管理整项目工程;ZERO_CHECK实监视CMakeLists.txt文件变化工程旦CMakeLists.txt内容发任何变化ZERO_CHECK告诉编译器要重新构建整工程环境所先工程关掉打CMakeLists.txt文件更改面内容根据说步骤走遍CMake;编译器环境(VS2008)更改CMakeLists.txt文件直接F7编译工程选择者发现图(5)所示现象发
改变CMakeLists.txt内容工程环境要重新构建、设置所必须加载新工程环境设置点Yes,点Reload重新加载设置工程环境
另外经看某些童鞋问弹图(6)所示界面要办能办界面提示已经灰清楚指定exe路径给点OK;现种情况原没exe执行文件工程设启工程图(6)所示发现ALL_BUILD工程名字黑体显示表示启工程;或者exe执行文件工程HelloCMake右击->设置启工程现图(6)所示界面
些比较琐碎东西介绍完我起看看CMakeLists.txt面代码表示意思争取每句代码都作解释定要告诉我

图(5)

图(6)
CMakeLists.txt内容再罗列:
1. cmake_minimum_required(VERSION 2.6)
2. project(HelloCmake)
3. add_executable(HelloCMake hellocmake.cpp)
第1行cmake_minimum_required(VERSION 2.6)CMake版本要求基本每CMakeLists.txt文件都句代码cmake_minimum_requiredcmake命令写写VERSION关键字必须写且能省略;2.6CMake版本号现版本2.8.3
第2行project(HelloCmake)projectCMake命令面参数HelloCMake要工程名字换句说***.sln或者***.dsw等工程项目文件名字
第3行add_executable(HelloCMake hellocmake.cpp)add_executable同CMake命令链接关源文件exe执行文件命令作用第参数exe文件文件名般与project工程名致编译文件别HelloCMake.slnHelloCMake.exeAdd_executable()面参数列表带要编译文件名间空格或车等隔加入:
add_executable(HelloCMake hellocmake.cpp hellocmake.h)
CMake用三命令介绍完别cmake_minimum_required; project; add_executable等

⑻ 如何编译 opencv动态链接库

在一个项目中需要用到OpenCV,刚开始使用了OpenCV的动态链接库,这样,在移动可执行程序时还必须将OpenCV动态支持库一起搬移,很是麻烦。所以,最终选择OpenCV静态链接库,这样程序移植运行就方便了很多。

需要编译成静态库以便于应用程序链接。

网上有的教程中写的在VC++2010下安装OpenCV2.1时用到了TBB库,而我在编译链接自己的程序后需要用到TBB.dll。本人设计的目的就是要做一个独立的界面程序,不需要携带其他第三方库。经过一段时间的努力最终找到了编译OpenCV2.1静态库的方法。

需要的工具环境及文件:

-------------------------------------------------------------------------------------------------------------

1、Windows XP

2、VC++2010(VS2010)

3、为编译OpenCV源码包(我下载的有:OpenCV2.1.0,OpenCV2.3.0及OpenCV2.4.4)

4、CMake2.8.9

说明:OpenCV各版本官方下载地址:opencv.org/

cmake-2.8.9下载地址:ishare.iask.sina.com.cn/download/explain.php?fileid=35025936

--------------------------------------------------------------------------------------------------------------

以OpenCV2.1.0编译静态库为例

CMake配置

-------------------------------------------------------------------------------------------------------------

打开CMake并设置:

Where is the rource code :OpenCV源代码所在的文件夹

Where to build the binaries:CMake配置好得到的文件放在位置(我的:E:\OpenCV2.1.0-prj)

然后点击configure,选择"Visual Studio 10"。然后确定。

等待configure完成,会出现很多红色的选项,因为主要是生成OpenCV的库,所以只需保留某些选项:

去掉BUILD_NEW_PYTHON_SUPPORT,BUILD_SHARED_LIBS, BUILD_TESTS

勾选OPENCV_BUILD_3RDPARTY_LIBS, WITH_TBB,WITH_JASPER, WITH_JPEG,
WITH_PNG, WITH_TIFF选项,

然后再点击configure,如下图:

提示TBB_INCLUDE_DIR找不到,因为我们不需要TBB库,所以忽略,再一次点击configure。

等待配置完成,最后点击generate,完成后关闭CMake。

-------------------------------------------------------------------------------------------------------------

VC++2010编译静态库

-------------------------------------------------------------------------------------------------------------
进入E:\OpenCV2.1.0-prj目录,使用VC++2010打开.sln文件,打开项目管理器

这时候会看到

解决方案中有很多小项目存在。

注:这时我们右键任意点击一个子项目(如cv),选择属性,可以在配置属性下的常规项目中看到,配置类型为
静态库(lib)。

按住ctrl键,选中除过ALL_BUILD, INSTALL, ZERO_CHECK,
uninstall四个项目的其他所有项目,在菜单中选择项目->属性,打开配置属性->c/c++->代码生成选项,在右侧窗口中的运行时库中选择多线程调试(/MTd),然后确认。

说明:这里有四个选项(/MT, /MTd, /MD,
/MDd),前两个一组,为静态链接运行时库,运行时不需要运行时库的支持,代码直接插入到程序中去;后两个一组,为动态链接运行时库,运行时需要msvcr90.dll或msvcp90.dll支持。

我们先编译Debug版的OpenCV静态库,在解决方案"opencv"(22个项目)上单击右键,选择重新生成解决方案,此时便开始编译OpenCV库了,等编译结束会提示完成16个,失败4个:

这四个项目生成的是exe程序,不需要管他们。到这步我们已经生成了Debug版本的静态库!

然后我们用相同的方式生成Release版的库,在之前的基础上只需要将选项选择多线程/MT,再进行编译。编译时警告很多,直接忽略!

注意:/MT即是Release版本,/MTD即是Debug版本。

最终我们需要的静态库就存在:E:\OpenCV2.1.0-prj/lib 和 E:\OpenCV2.1.0-prj/3rdparty/lib
两个目录,我们编译好的库就在这两个文件夹下。分别

将E:\OpenCV2.1.0-prj/3rdparty/lib中Debug
下面的所有文件Copy到E:\OpenCV2.1.0-prj/lib中的Debug 文件中。

将E:\OpenCV2.1.0-prj/3rdparty/lib中Release下面的所有文件Copy到E:\OpenCV2.1.0-prj/lib中的Release文件中。

⑼ 如何编译opencv

1. 将OpenCV2.2.0的压缩包解压到路径D:\OpenCV\opencv (以下所有路径都可自己选择 只要对应起来即可)
2. 安装Cmake,可以到官网去下载并按默认设置安装安装即可。
此处注意一般vs采用的是win32编译器进行debug和release(即使你是安装的x64),所以下载cmake的时候应该下载32位版本,这样cmake编译出来的是32位的工程文件,x64的cmake编译的是64位工程文件。
3.打开Cmake,在第一行“Where is the source code”后面的那个“Browse Source...”按钮,选择OpenCV的安装路径。

⑽ OpenCV静态库编译与链接

以OpenCV-4.0.0为例说明在Ubuntu环境下的静态库编译与链接方法:

opencv依赖第三方的库,所以当把opencv编译成静态库的时候,注意要把它运行时必要的依赖库也编译进来,opencv源码内有自己的3rdparty,主要有:libjpeg、libpng、libtiff、libzlib、libwebp、libprotobuf、ffmpeg(用到video时编译)、libgtk(用于显示界面显示,服务器部署不会用到),可以通过cmake -LA来查看配置的编译信息,再根据信息考虑把opencv的哪些mole编译进来。

链接时指定opencv的静态库以及依赖的库。另外需要注意头文件的问题,通过CMakeLists把opencv加入项目编译时,由于opencv编译完成后要install才会把所用的头文件集中拷贝到一个地方,所以事先将头文件拷贝到了项目的opencv目录下。

热点内容
压缩长抱枕 发布:2025-07-18 16:13:38 浏览:503
如何使用wifi热点配置网络 发布:2025-07-18 16:06:25 浏览:969
android软键盘数字 发布:2025-07-18 16:03:18 浏览:610
三菱plc编程软件官网 发布:2025-07-18 15:59:59 浏览:437
gse源码 发布:2025-07-18 15:58:15 浏览:627
编译链c语言执行速度 发布:2025-07-18 15:52:51 浏览:555
在线编程课程 发布:2025-07-18 15:46:56 浏览:173
生兔子算法循环 发布:2025-07-18 15:44:32 浏览:47
背包规划算法 发布:2025-07-18 15:44:27 浏览:109
微信安卓手机哪里设置铃声 发布:2025-07-18 15:36:54 浏览:780