【环境配置】MATLAB r2022b+opencv3.4.1+mexopencv3.4.1+Windows 11 配置

news2024/11/26 11:59:02

参考链接:
mexopencv官方文档:介绍了全部流程
补充官方文档Configure OpenCV出现的问题:直到Configure后没有红色,再点击Generate
最新Opencv 与 VC++ 的版本对应关系(2023-04-08)
MATLAB支持和兼容的编译器 - Windows

  • 文章起源:需要在matlab中调用opencv库,搞了一天半
  • 需要下载的东西:(截止2023.6.13,最新的mexopencv 仅与 OpenCV 3.4.1 兼容)
    1. opencv-3.4.1opencv_contrib-3.4.1, 后面提供了下载链接
    2. CMake(3.26.4)
    3. Visual Studio Community(我用的是2022),!!!需要安装使用C++的桌面开发Windows 10 SDK以及VS2015 C++生成工具
    4. mexopencv-3.4.1

下面是完整流程,基本是官网文档的翻译,补充了一些自己踩过的坑

OpenCV部分

1.下载OpenCV

直接从 GitHub 下载源码压缩包:
opencv sources (tag 3.4.1): https://github.com/opencv/opencv/archive/3.4.1.zip
opencv_contrib sources (tag 3.4.1): https://github.com/opencv/opencv_contrib/archive/3.4.1.zip
解压到同一个文件夹dev下面,例如:

  • C:\dev\opencv-3.4.1
  • C:\dev\opencv_contrib-3.4.1

2. 配置OpenCV

  • 此步骤需要CMake和 C++ 编译器(Visual Studio Community 2022)

2.1 生成 VS 解决方案来构建opencv源代码

安装CMake之后,启动cmake-gui.exe

  1. 设置源文件夹和目标文件夹,分别为C:/dev/opencvC:/dev/build
    在这里插入图片描述

  2. 按Configure,然后选择Visual Studio 14 2015Win64作为编译器

  3. 勾选GroupedAdvanced,在BUILD组里面去掉以下几项(*号表示匹配任意字符):
    BUILD_DOCS, BUILD_EXAMPLES, BUILD_PACKAGE, BUILD_PERF_TESTS, BUILD_TESTS, BUILD_JAVA BUILD_opencv_apps, BUILD_opencv_cuda*, BUILD_opencv_cudev, BUILD_opencv_js, BUILD_opencv_java*, BUILD_opencv_python*, BUILD_opencv_ts, BUILD_opencv_viz, BUILD_opencv_world

  4. OPENCV分组里面:
    设置OPENCV_EXTRA_MODULES_PATH比如为C:/dev/opencv_contrib_3.4.1/modules
    勾选OPENCV_ENABLE_NONFREE

  5. WITH 分组, 去掉以下几项:
    WITH_CUDA, WITH_CUFFT, WITH_CUBLAS, WITH_NVCUVID, WITH_MATLAB, WITH_VTK

  6. 再次点击Configure,等待一会儿,BUILD分组应该还是红色,如果有以下几项被勾选的就去掉:
    BUILD_opencv_cvv, BUILD_opencv_freetype, BUILD_opencv_hdf, BUILD_opencv_matlab, BUILD_opencv_ovis, BUILD_opencv_sfm

  7. 再次点击 Configure,直到没有红色,然后点击Generate,关闭CMake
    在这里插入图片描述

3 编译OpenCV

在 Visual Studio 中打开上一步生成的解决方案:C:\dev\build\OpenCV.sln,并执行以下操作:

  1. 将配置切换到“Release”模式
    在这里插入图片描述

  2. 构建解决方案,右键“ALL_BUILD”,点击生成,生成成功进行下一步

  3. 右键“INSTALL”,点击生成(我这里编译报错,后来在Visual Studio Installer里面安装使用C++的桌面开发Windows SDKVS2015 C++生成工具之后就可以编译成功了,如下图所示
    在这里插入图片描述

  4. 关闭 Visual Studio

  5. 最后,将 OpenCV 二进制文件(包含 OpenCV DLL 的文件夹:C:\dev\build\install\x64\vc14\bin)添加到PATH环境变量中。

mexopencv部分

  1. 下载mexopencv项目,保存到文件夹C:\dev\mexopencv

  2. 启动 MATLAB,在命令行输入mex -setup cpp(!!!不是官方文档的mex -setup),然后选中Microsoft Visual C++ 2015(默认的2022版本无法使用),参考matlab官方文档
    在这里插入图片描述

  3. 然后输入以下命令:

    cd('C:\dev\mexopencv')
    addpath('C:\dev\mexopencv')
    addpath('C:\dev\mexopencv\opencv_contrib')
    mexopencv.make('opencv_path','C:\dev\build\install', 'opencv_contrib',true)
    

    一切顺利的话,就编译成功
    在这里插入图片描述
    如果编译失败,可尝试这篇文章:将mexopencv3_4_1\+mexopencv目录下的make.m文件中的opts.opencv_path参数设置为OpenCV构建的路径,如C:\dev\build

  4. 在命令行输入cv.getBuildInformation(),然后输出相应信息 ,就可以愉快地在 MATLAB 中使用 OpenCV啦~在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/643648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大学物理(上)-期末知识点结合习题复习(5)——刚体力学-转动惯量、力矩、线密度 面密度 体密度、平行轴定理和垂直轴定理、角动量定理和角动量守恒定律

目录 刚体的定轴转动 题1 题目描述 题解 题2 题解 题3 题目描述 题解 题4 题目描述 题解 题5 题目描述 题解 角动量定理和角动量守恒定律 刚体的定轴转动 1.转动动能 由,得 表示质量 表示质量分布点 2.转动惯量 为刚体对给定轴的转动惯量&…

原生小程序 微信小程序 使用ucharts

一般是uni-app项目使用ucharts在原生微信小程序也是可以使用。 方法: ## 使用说明 请将项目根目录 微信小程序/uCharts-组件/qiun-wx-ucharts/src 下全部文件复制到指定位置,例如该项目的components/qiun-wx-uchart目录下,然后在页面的json配…

2023互联网寒冬之下Java程序员要怎么应对才能找到工作

在互联网寒冬下,Java程序员需要做好哪些方面的准备,才能够更好地找到工作呢? 1.关注用人单位的招聘需求;Java程序员应该关注用人单位的招聘信息,并针对不同的招聘岗位进行精准的自我定位和筛选。在面试前可以充分了解…

Gin框架原生方式切割日志,Go语言原生日志切割

目录 摘要 痛点 正文 1.分析 io.Writer 接口 2.实现 io.Writer 接口 3.将它作为原生输出 4.将它作为 Gin 框架的输出 摘要 自定义一个日志输出,将go语言和gin框架的日志自动按天拆分。本文通过实现io.Writer接口的方式,替换原生和gin框架的默认W…

DAY21——二叉树part7

1.二叉搜索树最小差值 二叉搜索树中序遍历得到有序的数字序列,记录前一个节点 class Solution {TreeNode pre;int result Integer.MAX_VALUE;public int getMinimumDifference(TreeNode root) {if(rootnull)return 0;traversal(root);return result;}private voi…

【Java算法题】剑指offer_数据结构之03队列栈

前言 刷题链接: https://www.nowcoder.com/exam/oj/ta?page2&tpId13&type265 原定于5.30写完队列&栈,超时了14天(2周),于6.13完成。 刷算法题到现在得出一个心得,万事开头难。没刷之前总觉得…

django的项目结构介绍

目录 django的安装django项目创建django项目启动django项目关闭django项目个个文件分析核心文件 manage.py项目内部文件start01/start01setting文件的讲解 django的安装 pip install django检测安装后的版本 python -m django --versiondjango项目创建 django安装以后 会自动…

面向对象的多态

7. 面向对象特征三:多态性 概念 多态是面向对象程序设计(OOP)的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。 变…

作为软件工程师对Docker的认知和看法

文章目录 前言一、Docker是什么?二、Docker和Virtual Machine的区别三、Docker架构1. Client2. Docker Host3. Registry 四、Docker在实际应用中的好处配置环境网络和卷更新管理 总结 前言 两年前我还没有接触过Docker,也不理解Docker在自动化工程应用中…

k8s如何使用ceph rbd块存储(静态供给、存储类动态供给)

目录 前言安装ceph集群ceph集群创建rbd块存储rbd块存储不支持ReadWriteManyk8s配置rbd块存储(静态供给)创建secret创建pv创建pvck8s节点安装客户端依赖包部署pod查看pod验证是否持久化 k8s配置rbd块存储(动态供给)查看官网ceph集群…

mysql 最常用的一些语句

1 数据库相关操作 CREATE DATABASE IF NOT EXISTS daily-test DEFAULT CHARSET utf8 COLLATE utf8_general_ci; drop database daily_test; use daily_test 具体操作如下图上所示: 2 mysql常用数据类型 MySQL 数据类型 | 菜鸟教程 3 数据库表相关操作…

Stimulsoft Forms.WEB 23.2.6 Crack

Stimulsoft Forms.WEB 发布 创建、编辑、填写、发布和分发交互式表单。 2023 年 6 月 13 日 - 9:34 新产品 特征 您可以为几乎任何目的创建任何类型的文档 - 发票和支票、各种调查问卷和工作表、订单、简历等等。用户收到可编辑的 PDF 格式的完成模板,可以在任何现代…

英伟达开发板学习系列---国产【Jetson Xavier NX】系统安装及基础配置

1. 前言 最近新买了Jetson Xavier NX, 和之前英伟达原厂的NX的区别在于国产Jetson Xavier NX 是核心板使用的是英伟达的,扩展板是国产的。具体详情如下: 官方NX和国产NX详情区别 2. 设置系统从固态硬盘启动 官方NX出厂是直接将SD卡(64/12…

Redis GEO地理位置信息的应用

Redis GEO地理位置信息的应用 Redis GEO概述应用场景Redis GEO命令GEO命令演示 Redis GEO实现附近人的功能基础类API接口接口实现执行测试 Redis GEO 概述 Redis的GEO操作是一种基于地理位置信息进行操作的功能。它使用经度和纬度坐标来表示地理位置,支持存储地理位…

湖南大学CS-2020期末考试解析

【特别注意】 答案来源于@wolf 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 有必要一做。 【试卷与答案】 1.简答题(10 分) 假设一个基于 IEEE 浮点格式的 10 位浮点表示,有 1 个符号位,4 个阶码位(k=4)和 5 个 尾数位(n=5)。 (…

湖南大学CS-2018期末考试解析

【特别注意】 答案来源于@wolf 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 有必要一做。 【试卷与答案】 一、选择题(每题 2 分,共 10 分) 1. 0x12345678 存放在采用小端存储的机器上,地址为 0x100 到

湖南大学CS-2017(另一张)期末考试解析

【特别注意】 答案来源于wolf 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 有必要一做。 【试卷与答案】 由于这张试卷没有电子版,我就直接拍我自己的作答了

八大排序算法之归并排序(递归实现+非递归实现)

目录 一.归并排序的基本思想 归并排序算法思想(排升序为例) 二.两个有序子序列(同一个数组中)的归并(排升序) 两个有序序列归并操作代码: 三.归并排序的递归实现 递归归并排序的实现:(后序遍历递归) 递归函数抽象分析: 四.非递归归并排序的实现 1.非递归归并排序算法…

C:\Users\BC>conda -V ‘conda‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

C:\Users\BC>conda -V ‘conda’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 注意!:Anaconda安装路径和Scripts路径,两个都添加进去Path 解释:将 Anaconda 安装路径和 Scripts 路径都添加到系统的 PA…

css属性计算过程

CSS 属性计算过程 你是否了解 CSS 的属性计算过程呢? 有的同学可能会讲,CSS属性我倒是知道,例如: p{color : red; }上面的 CSS 代码中,p 是元素选择器,color 就是其中的一个 CSS 属性。 但是要说 CSS 属…