图片缩略图

计算机视觉工具箱OpenCV接口

在MATLAB中使用OpenCV算法
3.7
17评级

100下载

更新2020年3月18日

计算机视觉系统工具箱OpenCV接口使您能够使用MEX将现有的OpenCV文件和项目导入到MATLAB中。支持包包金宝app括:
•MATLAB和OpenCV之间的数据类型转换
•演示OpenCV和MATLAB接口的例子
从您的操作系统或从MATLAB中打开.mlpkginstall文件将启动您所拥有的版本的安装过程。这个.mlpkginstall文件适用于R2014b和更高版本。
观看这段视频来了解更多关于包装的信息:http://youtu.be/BasC2jkgyaM

评论和评分(33)

示例.cpp文件可以从哪里下载?

这在vs15 Matlab r2018b上不能正常工作。然而,我使用mexopencv找到了一个更可持续的解决方案。

我正在使用MATLAB 2018b和Visual Studio 2017
我已经下载了opencv和mexOpenCV并构建了make文件。但是当我使用mexOpenCV的时候,每次都有一个错误“Undefined function or variable 'mexOpenCV”。
帮助需要
问候

我正在使用MATLAB2018a与微软Visual Stdio c++ 2017
但错误是可见的编译器不兼容?

应王

这是真正有用的,我也跟着视频,并得到了附加的工作。
但是没有字幕,这对非英语国家的人来说是不友好的

arusa汗

我将Matlab R2016a和MEX配置为使用“Microsoft Visual c++ 2015 Professional (C)”。
我设法将测试文件detectORBFeaturesOCV.cpp和extractORBFeaturesOCV.cpp编译到mexw64文件中,但是运行testORBFeaturesOCV。m在调用上述函数时严重地破坏了Matlab。是2015年的c++编译器吗?
好心帮我解决这个问题。
我也用R2014b和R2017a,但它给了我同样的错误,当我运行TestORBFeaturesOCV.m文件。
谢谢!

我也越来越对编译错误:

> > mexOpenCV backgroundSubtractorOCV.cpp
用“MinGW64 Compiler (c++)”编译。
使用mexOpenCV出错(第136行)
当地C:\Users\ PERIG ~ 1. ven \ AppData \ \ Temp \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj: backgroundSubtractorOCV.cpp: (。text + 0 x365):未定义的引用“ocvMxArrayToImage_uint8 (mxArray_tag const *, bool) '
当地C:\Users\ PERIG ~ 1. ven \ AppData \ \ Temp \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj: backgroundSubtractorOCV.cpp: (。text + 0 x3c3):未定义的引用“ocvMxArrayFromImage_bool(简历::垫const) '
C:\用户\ PERIG〜1.VEN \应用程序数据\本地\ TEMP \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj:backgroundSubtractorOCV.cpp :(文本+ 0x453):未定义参考`CV :: fastFree(无效*)”
C:\用户\ PERIG〜1.VEN \应用程序数据\本地\ TEMP \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj:backgroundSubtractorOCV.cpp :(文本+ 0x4c0):未定义参考`CV :: fastFree(无效*)”
当地C:\Users\ PERIG ~ 1. ven \ AppData \ \ Temp \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj: backgroundSubtractorOCV.cpp: (。text + 0 x4d5):未定义的参考的简历::垫::释放()
C:\用户\ PERIG〜1.VEN \应用程序数据\本地\ TEMP \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj:backgroundSubtractorOCV.cpp :(文本+ 0x4e4):未定义参考`CV ::垫:: DEALLOCATE()”
当地C:\Users\ PERIG ~ 1. ven \ AppData \ \ Temp \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj: backgroundSubtractorOCV.cpp: (。text _ZN2cv3MatD1Ev美元[_ZN2cv3MatD1Ev] + 0将):未定义的参考的简历::垫::释放()
当地C:\Users\ PERIG ~ 1. ven \ AppData \ \ Temp \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj: backgroundSubtractorOCV.cpp: (。text _ZN2cv3MatD1Ev美元[_ZN2cv3MatD1Ev] + 0 x86):未定义的参考的简历:fastFree (void *)
当地C:\Users\ PERIG ~ 1. ven \ AppData \ \ Temp \ mex_329972900989911_14272 \ backgroundSubtractorOCV.obj: backgroundSubtractorOCV.cpp: (.text.startup + 0 x3b):未定义的参考的简历:createBackgroundSubtractorMOG2 (int,双,bool) '
collect2.exe:错误:LD返回1个退出状态

arusa汗

> >墨西哥人设置c++
它用mex给了我这个错误
没有找金宝app到支持的编译器或SDK。可以安装免费提供的MinGW-w64 C/ c++编译器;看到安装
MinGW-w64编译器。更多选择,请访问//www.tatmou.com/金宝appsupport/compilers/R2016a/win64.html

我使用matlab r2016a,已经安装了VS2015和TDM-GCC-4.9.2。
请人帮我解决这个问题

>> mex -setup c++
MEX配置为使用 '微软的Visual C ++ 2015年' 为C ++语言编写。
警告:MATLAB C和Fortran API已更改为支持MATLAB金宝app
具有超过2 ^ 32-1元件变量。你将被要求
更新代码以利用新的API。
你可以找到关于这个的更多信息:
//www.tatmou.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html

要选择不同的c++编译器,请从以下选项中选择一个:
Microsoft Visual c++ 2015 mex -setup:C:\Users\maksa\AppData\漫游\MathWorks\MATLAB\R2018a\mex_C++_win64.xml c++
Microsoft Visual c++ 2017 mex -setup:'C:\Program Files\MATLAB\R2018a\bin\win64\mexopts\msvcpp2017。xml的c++
> > mexOpenCV detectORBFeaturesOCV.cpp
使用mexOpenCV出错(第63行)
OpenCV库是使用“Microsoft Visual c++ 2015”构建的。
你的编译器是 '微软的Visual C ++ 2017年(C)'。
这些编译器可能不兼容。
注意,可以使用“mex -setup”命令选择编译器。

请帮我解决这个问题。谢谢

思远李

OpenCV库是使用“Microsoft Visual c++ 2015”构建的。
你的编译器是 '微软的Visual C ++ 2017年(C)'。
这些编译器可能不兼容。
注意,可以使用“mex -setup”命令选择编译器。

Matlab2018a不能使用吗

Cui:我们已经将Windows上支持的编译器更新金宝app为Visual Studio 2015。在这里你不会有兼容性问题。
Madhu:我不完全理解您希望在MEX例程中看到什么。是的,您列出的库不包括在内。您可以考虑在您的MEX文件中运行每次迭代,然后返回到MATLAB,使用imshow/imread来显示或读取新图像。如果这没有回答你的问题,请考虑联系技术支持与更多的细节。金宝app
在OpenCV版本中,直到R2017a,使用的是2.4.9版本。从R2017a开始,我们使用3.1.0版本。这可能会在未来的版本中改变。
谢谢!

问:在mexOpenCV.m,有需要注意的是一些图书馆(opencv_highgui,opencv_imgcodecs等)不包括在内。如果我们想一个MEX例行内可视化效果,例如与迭代,将包括mexOpenCV.m工作opencv_imgcodecs期间的OpenCV的imshow?还是我们必须使用Matlab的imread与“mexCallMATLAB”?

感谢您的支持!金宝app

商信HD

maisam sakr

警告:OpenCV库是使用“Microsoft Visual c++ 2012”构建的。
你的编译器是“Microsoft Visual c++ 2015 Professional”。
这些编译器可能不兼容。我怎样做?

最终在R2016b上运行。它只会用Visual Studio Professional 2012 c++编译器进行编译(不是免费的Express版本!)幸运的是,我可以通过我的大学获得它。

而且我也找不到支持OpenCV版本的任何信息。金宝app

本尼

你好
我用的是一台不能联网的离线电脑。是否可以在任何地方获得这个包的离线安装程序?

感谢你的回应。

本尼

这个包中包含的OpenCV库的版本是什么?

杨斌

Matlab2016不能使用吗

杨斌

当试图打开文件滚轮,我得到错误信息:
无法打开“opencvinterface-1.mlpkginstall”。不支持存档类型。金宝app

Eslam Foad

好!

我在R2015a中得到以下错误,我使用的是Xcode 7。如果我删除cv::imdecode()函数。它编译,但我需要使用cv::imdecode()函数!

使用mexOpenCV出错(第120行)
对于建筑未定义符号
x86_64:
“简历::imdecode(简历:_InputArray常量,
int)”,引用:
在decodeUDPimg.o _mexFunction
LD:符号(多个)未找到架构
x86_64的
错误:链接器命令失败
退出代码1(使用-v查看调用)

有什么问题?

Royi Avital

请,
使其在常规形式(不仅是一个工具箱)提供。

谢谢你!

谢尔盖

这就跟你问声好!
我将Matlab R2015b和MEX配置为使用“Microsoft Visual c++ 2015 Professional (C)”。
我已经设法将测试文件detectORBFeaturesOCV.cpp和extractORBFeaturesOCV.cpp编译到mexw64文件中,但是运行testORBFeaturesOCV。m在调用上述函数时严重地破坏了Matlab。是2015年的c++编译器吗?我应该只使用2012版本,还是可以使用一些键/标志来让它工作?
谢谢!

我只是不能理解为什么它只在2014年b或以后工作。作为一个家庭版2014a的用户,我可以很容易的将matlab代码转换到opencv这个包,但我不能这样做,因为只有一个字母的差异。为了使用更新的版本,我不得不再次购买matlab和所有的工具箱。

我开始在openCV中工作,我发现它很容易使用

MATLAB版本兼容性
创建R2014b
兼容R2014b到R2020a
平台的兼容性
视窗 macOS Linux