Windows配置ArUco
windows10
vs2019
opencv3.4.6
------------------------------------------------------------------------------------------------------------------------------------------
注意,一定要选择与opencv版本一样的opencv_contrib进行编译,否则将会出现错误,有很多的工程不能编译通过,不能产生相应的lib文件。
下载contrib库
contrib库(下载3.4.6版本):https://github.com/opencv/opencv_contrib/releases
cmake-gui地址(下载最新版3.15.2):http://www.cmake.org/cmake/resources/software.html
用CMake编译OpenCV3.4.6
点击configure,如果有红的就继续点configure,直到红色都消失
用CMake编译OpenCV_contrib3.4.6
把opencv_contrib-3.4.6文件夹放到C:\opencv目录下,在cmake-gui中找到OPENCV_EXTRA_MODULES_PATH,在它的Value处填入opencv_contrib-3.4.6\modules路径。并勾选OPENCV_ENABLE_NONFREE。
然后点击configure,如果报错或者有红的,继续点configure,直到红色都消失
点击generate
用VS2019编译生成debug和release库
打开C:\opencv\mybuild目录下的OpenCV.sln
编译debug版本库:在“解决方案'OpenCV'(416个项目)”上面点击右键-->重新生成解决方案。
找到CMakeTargets中的INSTALL,然后右键选择“仅限于项目”-->“仅生成INSTALL”,然后就在C:\opencv\mybuild\install中发现了许多东东。至此,debug版本的opencv的库文件就安装完成了。release版本的,方法相同,重复2、3即可。
遇到问题:LNK1104 无法打开文件“python37_d.lib” 解决办法
当出现opencv的.dll无法找到的问题的时候用一下处理方法
4. 将opencv\build\x*\vc*\bin 复制相应的dll文件到C Windows System32下,这样之后就可以找到了
重新配置环境
1.为计算机添加系统变量:C:\opencv\my_build\install\include\x64\vc16\bin ;
右键电脑【属性】 ,【高级系统设置】 ,【环境变量】 , 【系统变量】【Path】, 在变量值后加 编译目录\install\x64\vc16\bin 的完整路径
添加用户变量设置:
变量名:OPENCV变量值:C:\opencv\my_build\install\include
2.属性管理器-->设置-->VC++目录-->包含目录,添加:
C:\opencv\my_build\install\include
C:\opencv\my_build\install\include\opencv
C:\opencv\my_build\install\include\opencv2
3.VC++目录-->库目录,添加:
C:\opencv\my_build\install\include\install\x64\vc16\lib
4.连接器——>输入——>附加依赖项添加库,346是版本opencv3.4.6,lib文件夹下只有好多个.lib,都加入
opencv_aruco346d.lib
opencv_bgsegm346d.lib
opencv_bioinspired346d.lib
opencv_calib3d346d.lib
opencv_ccalib346d.lib
opencv_core346d.lib
opencv_datasets346d.lib
opencv_dnn_objdetect346d.lib
opencv_dnn346d.lib
opencv_dpm346d.lib
opencv_face346d.lib
opencv_features2d346d.lib
opencv_flann346d.lib
opencv_fuzzy346d.lib
opencv_hdf346d.lib
opencv_hfs346d.lib
opencv_highgui346d.lib
opencv_img_hash346d.lib
opencv_imgcodecs346d.lib
opencv_imgproc346d.lib
opencv_line_descriptor346d.lib
opencv_ml346d.lib
opencv_objdetect346d.lib
opencv_optflow346d.lib
opencv_phase_unwrapping346d.lib
opencv_photo346d.lib
opencv_plot346d.lib
opencv_reg346d.lib
opencv_rgbd346d.lib
opencv_saliency346d.lib
opencv_shape346d.lib
opencv_stereo346d.lib
opencv_stitching346d.lib
opencv_structured_light346d.lib
opencv_superres346d.lib
opencv_surface_matching346d.lib
opencv_text346d.lib
opencv_tracking346d.lib
opencv_video346d.lib
opencv_videoio346d.lib
opencv_videostab346d.lib
opencv_xfeatures2d346d.lib
opencv_ximgproc346d.lib
opencv_xobjdetect346d.lib
opencv_xphoto346d.lib
测试代码——生成aruco_board
#include <opencv2\highgui.hpp>
#include <opencv2\aruco.hpp>
#include <opencv2\aruco\dictionary.hpp>
#include <opencv2\aruco\charuco.hpp>
#include <opencv2\core.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\opencv.hpp>
#include <vector>
#include <iostream>using namespace std;
using namespace cv;int main()
{int markersX = 5;//X轴上标记的数量int markersY = 5;//Y轴上标记的数量 本例生成5x5的棋盘int markerLength = 100;//标记的长度,单位是像素int markerSeparation = 20;//每个标记之间的间隔,单位像素int dictionaryId = cv::aruco::DICT_4X4_50;//生成标记的字典IDint margins = markerSeparation;//标记与边界之间的间隔int borderBits = 1;//标记的边界所占的bit位数bool showImage = true;Size imageSize;imageSize.width = markersX * (markerLength + markerSeparation) - markerSeparation + 2 * margins;imageSize.height =markersY * (markerLength + markerSeparation) - markerSeparation + 2 * margins;Ptr<aruco::Dictionary> dictionary =aruco::getPredefinedDictionary(aruco::PREDEFINED_DICTIONARY_NAME(dictionaryId));Ptr<aruco::GridBoard> board = aruco::GridBoard::create(markersX, markersY, float(markerLength),float(markerSeparation), dictionary);// show created boardMat boardImage;board->draw(imageSize, boardImage, margins, borderBits);if (showImage) {imshow("board", boardImage);waitKey(0);}return 0;}
OpenCV 3.1.0添加opencv_contrib模块(Windows)
OpenCV3.1.0安装配置与OpenCV_contrib库配置
基于VS2015和opencv 3.4.1平台的opencv_contrib配置
WIN10+VS2015+opencv3.4.4+opencv_contrib-3.4.4环境配置
CMake3.11.1+Opencv3.4.0+opencv_contrib3.4+VS2015(vc14)+Win10配置成功
Win10下已经安装opencv,如何再安装opencv_contrib
【OpenCV/aruco】校准相机(Camera Calibration) Demo
Windows配置ArUco相关推荐
- Windows配置远程访问的Jupyter Notebook服务器
Windows配置远程访问的Jupyter Notebook服务器 jupyter notebook --generate-config jupyter notebook jupyter notebo ...
- windows配置nginx实现负载均衡集群
windows配置nginx实现负载均衡集群 2014-08-20 09:44:40 来源:www.abcde.cn 评论:0 点击:617 网上大部分关于nginx负载均衡集群的教程都是li ...
- java环境变量设置优化_Mac/windows配置jdk环境变量-seo优化只选拉一八科技
Mac/windows配置jdk环境变量 Mac配置jdk环境变量 直接双击dmg文件,然后单击[下一步]完成安装.请忽略[配置jdk环境变量]直接跳转到[检查jdk是否安装成功]. Windows配 ...
- Windows 配置Git 篇
Windows配置git 查看配置git config --list 全局配置Git git config --global user.name "用户名" git config ...
- nginx学习文档之二 配置负载均衡-windows配置负载均衡
#windows配置负载均衡 nginx+tomcat负载均衡的意思大概如下图: 所有请求先经过nginx服务器,然后由nginx服务器进行转发,将请求根据配置需要分发给指定的tomcat服务器 ## ...
- windows 配置squid反向代理服务器
windows 配置squid反向代理服务器 发现Window版本的Squid 和 Linux 配置有点不一样 一.配置squid\etc目录 1.squid.conf.default 拷贝一份重新命 ...
- windows配置Redis访问时只能用localhost不能用ip访问
windows配置Redis访问时只能用localhost不能用ip访问 发现问题 原因 解决方法 发现问题 在用Redis Desktop Manager连接本机Redis,只能通过localhos ...
- 全世界最好的编辑器VIM之Windows配置(gvim)
全世界最好的编辑器VIM之Windows配置(gvim),vundle插件管理,NERDTree插件,ctrlp插件,vim-nerdtree-tabs插件等 .vim本来就是很强大,很方便的编辑器, ...
- Vim编辑器Windows配置(一)
1. 前提准备 注意:安装vundle前提需要先安装git和配置curl 1.1 安装GVIM 1.2 安装git客户端:msysgit msysgit只提供了git的核心功能,而且是基于命令行的 下 ...
最新文章
- Asp.net Mvc Post ID Bug
- “Survey of machine learning techniques for malware analysis ”
- Oracle 查询基础
- 2016蓝桥杯省赛---java---B---1(煤球数目)
- Pytorch 加载预训练模型参数时出现size mismatch错误
- IHttpModule IHttpHandler
- C 主导、C++与 C# 为辅,揭秘 Windows 10 源代码!
- Gitlab备份、升级、恢复
- 最新发布!《统计学习方法》第二版无监督学习视频课上线了!
- android将彩图转为黑白_Android逆向反编译代码注入APK过程思路分析
- cocos tiledmap无法显示 不显示 无法加载
- android 注入webview,Android webview js注入
- 基于 Django 的图书馆借阅系统
- 第21节--非线性回归(下)
- 高考倒计时100天....99天
- 人脸识别:路在何方?| 爱莫受邀参加VALSE Webinar报告会
- 2012意大利之行3:罗马的路和车
- 软路由系统, OpenWrt (Lede), Ubuntu server, 爱快, ROS, Pfsense, m0n0wall, OPNsense
- Oracle 11gR2 RAC 单网卡 转 双网卡绑定 配置步骤
- python操作网页界面_python3 操作页面上各种元素的方法
热门文章
- html5 颜色弹窗 位置,HTML5之placeholder属性以及如何更改placeholder属性中文字颜色大小位置...
- php读取西门子plc_简单说一些PLC中模拟量的相关概念
- C++中构造函数调用构造函数
- snabbdom源码解析(七) 事件处理
- 《Clojure数据分析秘笈》——2.6节调整词频值的度量
- 由1433端口入侵,浅谈sqlserver安全 (转)
- Windows Azure Mobile Services增加了对 Android的支持并扩展其适用范围至东亚地区
- 第三方支付接口的技术比较研究
- nginx LB服务器配置
- python lxml 安装及应用