免安装Opencv免编译,Matlab直接调用OpenCV函数教程

1 简介

       某人参加建模比赛,基于Matlab处理图片数据,需要使用OpenCV的函数,而某人连Matlab都不怎么会使用,更别提OpenCV了,问我怎么办?怎么办,凉拌吧。总之为了简化过程、节省时间,我找了Matlab直接调用已编译好的Opencv库的方法,并对其中遇到的问题提供了解决方法。

        另外提一句啊,Matlab里有工具箱可以下载OpenCV,但是,,,由于某些原因,打不开官网,所以才自己装,建议有条件、有时间的自己装,摸索着玩呗。

2 开发环境与版本

        Win10

        Matlab2018b,Matlab2023a(版本不少于Maltab2018a)

3 下载资源指导

3.1 MEXOpenCV-3.4.1

        MEX是Matlab与其他语言的封装接口,MEXOpenCV则是Matlab与OpenCV封装接口,详情见链接GitHub - kyamagu/mexopencv:OpenCV 库的 matlab mex 函数集合和开发工具包

        目前这是最新版本,与OpenCV3.4.1兼容。你需要一个编译好的库,网上有资源自己找,有没有免费的不知道,时间紧张,我也懒得搞实验,直接买了个付费资源:mexopencv-3.4.1编译好的库matlab直接用_matlabmexopencv资源-CSDN文库

3.2 opencv_world341.dll

        这个DLL资源需要用到,可以免费下载哦,资源如下:免费下载丢失的DLL文件-最全的dll下载库-dll文件下载站 (dllfiledown.com)

3.3 懒人资源下载

        如果说你太新手,或者说你没时间,这是我实验后,包含所需资料和代码,以便最大程度节省时间,投入使用开发,资料见资源绑定。

4 使用流程及示例

4.1  MEXOpenCV及解压缩

        资源下载后,有mexopencv-3.4.1-build.zip压缩包,解压缩到合适的目录,我这里是D盘Matlab_OpenCV目录。

        然后,打开Matlab,使用如下命令:

addpath('D:\Matlab_OpenCV\mexopencv-3.4.1-build');%添加OpenCV函数库路径

        这就将封装好的OpenCV函数添加到路径中了。

4.2 DLL资源使用

        由于电脑没有安装OpenCV,在系统动态库中,缺少OpenCV的DLL,因此需要我们手动添加。对DLL资源解压缩获得的opencv_world341.dll文件,按照DLL文件下载站指示,如果系统是32位的DLL文件放在"C:\Windows\SysWOW64",64位的DLL文件放在"C:\Windows\System32"。对该文件的讲解,详见opencv_world341.dll 免费下载_DLL文件下载站 (dllfiledown.com),对你或许有帮助。

        提醒一下,有以下几点需要注意:

  1. 如果DLL资源复制过程中,提醒该文件已存在,说明资源已经有了,不要再复制了,毕竟是C盘,能不动尽量不动,不然电脑崩了哭死。
  2. 在测试用例中,我只发现了Matlab提醒缺少“opencv_world341.dll”。如果实际使用中,还可能缺少其他DLL。但是,注意MEXOpenCV版本号“3.4.1”,DLL资源中最后数字为“341”,我有理由觉得这不是巧合,或许使用这一个DLL资源已经够了。
  3. 建议使用Matlab2018b版本,使用Matlab2018b过程中,它提醒我少了“opencv_world341.dll”模块;使用另一台电脑的Matlab2023a过程中,它只出错,没说少什么东西,但“opencv_world341.dll”复制到这个电脑后,问题解决了。

4.3 测试用例及讲解

        完成上述两个步骤,在Matlab中已经可以调用OpenCV函数了,下面给个示例:

addpath('D:\Matlab_OpenCV\mexopencv-3.4.1-build');%添加OpenCV函数库路径
img=imread('peppers.png');                        %读一个图
figure(1)
imshow(img);                                      %第一张,显示原图
edges=cv.Canny(img,100);                          %提取边缘
figure(2)
imshow(edges);                                    %第二张,显示边缘图

        结果如图所示:

第一张图
第一张原图
第二张边缘提取图

        首先呢,不要管测试用例效果怎样哈,反正函数调用成功了。其次,如果你想知道这个函数有什么用、怎么用、输出格式,可以在解压目录找到,比如示例用的Canny,目录为“‪D:\Matlab_OpenCV\mexopencv-3.4.1-build\+cv\Canny.m”,注意是自己解压的目录哦。最后,没有最后了,成功了。

4.4 懒人教程

        使用懒人资源的,下载解压缩后,只需按4.2的将DLL复制到C盘位置就可,打开Matlab调整目录到解压缩目录,打开"opencv_test.m"直接运行即可。当然,注意一下解压目录与添加路径一致啊。

5 总结

        对于这种参加建模,没一点提前准备,真想一巴掌呼过去,还好今天有点空,帮忙搞一下。建议大家对平台使用还是多摸索,浪费点时间也是成长啊。目前建模反馈能使用,没少DLL,相信大学生Deadline前的爆发吧,难蚌。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值