正在安装适用于Visual Studio的C/C++的openCV 2.4
Installing openCV 2.4 for C/C++ for Visual Studio
我一整天都在尝试在Windows 7 for C/C++上安装适用于Visual Studio 2010的OpenCV(版本2.4.1和2.4.2)。
我一直在学习本教程:http://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html
我跳过了安装第三方软件(除了python 2.7和zlib):http://gnuwin32.sourceforge.net/packages/zlib.htm)。
我运行cmake,然后从openCV构建目录打开openCV.sln,等待visual studio加载然后构建它。visual studio给出了200个错误,这些错误只是以下两个重复多次的错误:
错误C1083:无法打开包含文件:"unistd.h":没有这样的文件或目录
错误LNK1104:无法打开文件"…."。。。。\lib\Debug\opencv_core241d.lib'
"OpenCV构建目录"/bin/Release不包含任何*.exe文件,只有大量的*.pdb文件,其中我可以看到contours.pdb。教程说我应该在那里看到contours.exe。
由于没有*.exe文件,我知道我在构建过程中遇到的两个错误是至关重要的。如果有任何想法可以帮助我解决这些问题,我将不胜感激。
以下构建步骤的解释应该有助于构建它:
-
安装cmake-这是所有平台所必需的
-
cd到提取的目录中,并创建一个名为release(或任何其他名称)的新目录
-
从该目录运行
cmake ..
-
您应该在发布目录中找到一个OpenCV.sln文件。
-
用Visual Stuido打开它并运行一个构建。
-
继续享受Opencv
我也遇到了一些困难——文档只是有点过时了。
此解决方案基于本教程:http://opencv.willowgarage.com/wiki/VisualC%2B%2B_VS2010_CMake
以下是我使用Visual C++2010学习版获得opencv 2.4.2 hello-world示例的确切步骤:
抓取源代码
下载opencv。
将opencv提取到C:\
构建二进制文件
下载cmake。打开cmake gui。。
源代码在哪里:C:/opencv
在哪里构建二进制文件:C:/opencv/build
单击"配置"-对于生成器,请选择Visual Studio 10单击"生成"。
在C:\opencv\build中,您现在应该可以看到opencv.sln.
使用VS C++Express打开解决方案文件并构建它。
设置hello world项目
在VS中创建一个新项目。选择控制台应用程序并勾选预编译的头。右键单击解决方案文件并选择属性。
在VC++目录窗口中,添加以下内容:
包含目录:C:\opencv\build\Include;C: \opencv\build\include\opencv;C: \opencv\build\include\opencv2
图书馆目录:C: \opencv\build\lib\Debug
源目录:C: \opencv\build\include
在C++->链接器->输入中,将以下内容添加到附加依赖项中:
opencv_core242d.lib
opencv_highgui242d.lib
Hello World内容
将教程中建议的内容更改为:
#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
IplImage *img = cvLoadImage("funny-pictures-cat-goes-pew.jpg");
cvNamedWindow("Image:",1);
cvShowImage("image:",img);
cvWaitKey();
cvDestroyWindow("Image:");
cvReleaseImage(&img);
return 0;
}
将图像(或任何图像)放在项目目录中。
现在构建并点击Debug,它应该可以工作了。希望这能帮助到别人。
我不能放注释,所以我必须放作为答案。
@go4sri我遵循了你的说法,用visualstudio 2010编译了OpenCV,但我不知道如何配置属性文件以及将哪个文件夹放入Library目录,include目录。。。我需要一些帮助。
此刻我放:
C: \opencv\build\include在include目录中
C: 库目录中的\opencv\Release \lib\Debug。(我构建到Release文件夹中)
但我得到了未解析的外部符号。
error LNK2019: unresolved external symbol "public: static class cv::MatExpr __cdecl cv::Mat::zeros(int,int,int)" (?zeros@Mat@cv@@SA?AVMatExpr@2@HHH@Z) referenced in function "public: void __thiscall CtestDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CtestDlg@@QAEXXZ)
编辑1:
我通过在输入链接器->输入->附加依赖项中添加.lib解决了这个问题,但现在我遇到了另一个问题。它告诉我找不到dll opencv.core242d.dll.
编辑2:
将所有dll放入发布版(用于发布版)或调试版(用于调试dll)可以解决问题,但我不明白为什么必须这样做。它找不到dll在哪里??
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 将OpenCV C++重写为EmguCV C#-如何使用指针
- OpenCV C++.快速计算混淆矩阵
- 在C++代码中包含opencv时,使用ctypes创建.so文件
- 哪些库可以通过Opencv调整曝光率
- 安装opencv失败-粘贴CMakeError.log的内容
- C++中的openCV Mat访问冲突
- OpenCV Android C++ imwrite not found
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- C++ OpenCV 卡尔曼滤波器构造函数错误
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 如何使用OpenCV-C++编写*.mp4视频?
- Mingw-64 在构建和安装后不会编译 openCV 代码