概述
Windows编译 opencv 4.5.2
1 文件准备
1.1 下载
- github下载opencv-4.5.2.zip和opencv_contrib-4.5.2.zip
1.2 解压
- 分别解压opencv-4.5.2.zip和opencv_contrib-4.5.2.zip
- 进入opencv-4.5.2文件夹,创建rebuild文件夹
2 构建
2.1 打开cmake-gui,选择文件夹
2.2 点击Configure,选择自己的VS版本(因为已经编译完成,这里借用一张图)
编译的时候出现红色的选项自己根据需要选择,我这里选择加入opencv-contrib和QT:
-
opencv-contrib
-
QT
注意:
-
勾选OPENCV_ENABLE_NONFREE
-
不勾选OPENCV_GENERATE_SETUPVARS
-
search输入TESTS,都不勾选
-
search输入java,前两行不勾选
-
search输入python,前两行不勾选
-
不勾选BUILD_opencv_world,勾选可能会出错
之后,继续configure,直到没有error…
contrib附加库会需要下载一些文件,一般会下载失败,找到rebuild文件下的CMakeDownloadLog.txt,查找cmake_download关键字,手动下载需要的文件到源文件下的 .cache文件夹中,如下:
3 生成
点击Generate,生成Project
4 打开工程
点击Open Project,进入opencv/rebuild文件夹,双击OpenCV.sln文件打开工程。
选中CMakeTargets中的ALL_BUILD,右击重新生成,在Debug和Release两个版本都生成好以后,右击INSTALL->仅用于项目->仅生成INSTALL。
编译4.5.2过程中的问题:
初次编译的时候,在highgui模块的window.cpp相关部分会报错:undefined reference to cvSetPropVsync_W32(char const*, bool) 和 undefined reference to cvGetPropVsync_W32(char const*, bool)。这个是OpenCV 4.5.2版本的一个BUG,已经在4.5.3版本中修复。如果不想更新到4.5.3,则可以手动修改如下:
// 修改cvSetWindowProperty函数的cv::WND_PROP_VYSNC分支
CV_IMPL void cvSetWindowProperty(const char* name, int prop_id, double prop_value)
{
// ......
case cv::WND_PROP_VSYNC:
#if defined (HAVE_QT)
// nothing
#elif defined (HAVE_WIN32UI)
cvSetPropVsync_W32(name, (prop_value != 0));
#else
// not implemented yet for other toolkits
#endif
// ......
}
// 修改cvGetWindowProperty函数的cv::WND_PROP_VYSNC分支
CV_IMPL double cvGetWindowProperty(const char* name, int prop_id)
{
// ......
case cv::WND_PROP_VSYNC:
#if defined (HAVE_QT)
return -1;
#elif defined (HAVE_WIN32UI)
return cvGetPropVsync_W32(name);
#else
return -1;
#endif
break;
// ......
}
同样在OpenCV4.5.2中的wechat_qrcode模块中,也存在着一些问题,在编译过程中会出现“undefined reference to __imp_getACP Scanning dependencies of target opencv datasets” 的错误。可以通过修改wechat_qrcode的zxing.hpp文件的定义来解决,具体解决方案如下:
第30行修改为:#if defined(ANDROID_API) || defined(_MSC_VER) || defined(MINGW32) || defined(MINGW64)
删除第54~62行。
该BUG也在4.5.3之后版本中修复了。
这里特别感谢下面两位:
https://blog.csdn.net/weixin_42063746/article/details/115727789
https://blog.csdn.net/cchmsn/article/details/118642433
最后
以上就是傻傻芒果为你收集整理的Windows编译 opencv 4.5.2Windows编译 opencv 4.5.2这里特别感谢下面两位:的全部内容,希望文章能够帮你解决Windows编译 opencv 4.5.2Windows编译 opencv 4.5.2这里特别感谢下面两位:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复