主要内容

使用预先构建的MATLAB接口OpenCV

计算机视觉为OpenCV提供一个预先构建的MATLAB工具箱™接口®接口OpenCV库,您可以使用直接从MATLAB调用OpenCV函数不需要编写C / c++代码。

请注意

的计算机视觉工具箱界面在MATLAB支持4.2.0 OpenCV版本和4.5.0 OpenCV。金宝app接口不提供GPU的支持。金宝app

OpenCV的计算机视觉界面工具箱还提供了MATLAB函数:

  • 创建MATLAB的对象表示,UMat智能指针,OpenCV基类指出,和OpenCV数组。

    MATLAB函数 描述
    createMat 返回对象代表了OpenCV简历:垫数据结构和相关的输入、输出或输入-输出数组类。
    createUMat 返回UMat对象代表了OpenCV简历:UMat数据结构和相关的输入、输出或输入-输出数组类。
    clibArray 返回一个代表OpenCV原生数组或对象std::向量类型。
    getBasePtr 返回一个对象,代表了OpenCV基类指出智能指针。

  • 出口OpenCV MATLAB支持的格式输出。金宝app

    MATLAB函数 描述
    getImage 读取和出口图像存储在OpenCVUMat在MATLAB矩阵或三维数组对象的工作区。
    keyPointsToStruct 出口一个返回的要点OpenCV关键点检测器作为一个MATLAB结构。
    rectToBbox 出口一个OpenCV矩形类返回的参数向量的MATLAB工作区。集中的参数导出为边界框坐标索引。
    underlyingValue 返回OpenCV枚举对象的基本数值。

OpenCV函数的预构建图书馆除了在运行时不返回错误。

调用MATLAB功能

调用MATLAB函数在计算机视觉为OpenCV工具箱接口支持包,添加包名称金宝appvision.opencv.util导入列表,然后调用MATLAB函数。例如:

进口vision.opencv.util。*[ocvMat, ocvArray] = createMat;
您还可以添加部分包名称vision.opencv到导入列表,并通过将调用MATLAB函数跑龙套函数名。例如:
进口vision.opencv。*[ocvMat, ocvArray] = util.createMat;

或者,你也可以调用MATLAB函数在它前面加上与完整的包名。使用这个语法导入一个特定的函数包没有导入每一个功能。

[ocvMat, ocvArray] = vision.opencv.util.createMat;

在图书馆OpenCV调用函数

调用一个函数或类的预构建OpenCV MATLAB接口库,添加库名称clib.opencv导入列表。然后调用一个OpenCV函数在函数名前面加上与一个名称空间。

进口clib.opencv。*retVal = namespace.funcname (argN __arg1、最长,…)
名称空间函数的命名空间,funcnameOpenCV函数名,__arg1,最长、……argN代表OpenCV函数的输入参数。retVal是输出参数。

或者,你也可以叫一个OpenCV函数通过添加包名作为前缀如下所示。

retVal = clib.opencv.namespace.funcname (argN __arg1、最长,…)

请注意

只支持的接口金宝app简历cvflann名称空间。例如,您可以调用一个函数简历名称空间通过使用这种语法:

retVal = clib.opencv.cv.funcname (argN __arg1、最长,…)

显示帮助MATLAB功能

查看关于MATLAB函数支持包的信息,使用金宝app医生帮助

这些命令类型之一,在MATLAB命令窗口。

医生vision.opencv.util。

帮助vision.opencv.util。

然后按选项卡。这个命令加载方案,和MATLAB显示功能在包的列表。

在帮助浏览器查看包裹的信息,在MATLAB命令窗口中输入这个命令,然后按输入

医生vision.opencv.util

显示帮助MATLAB接口OpenCV图书馆

使用这些MATLAB函数查看信息的类和函数的预构建的MATLAB接口OpenCV图书馆。

  • 医生帮助——OpenCV的视图类和函数库。

  • 方法——视图构造函数、方法、类和包的函数名。

  • 方法“全部”选项-视图构造函数,方法,和包的函数签名。

  • methodsview——查看表的表示方法签名。的methodsview窗口使您能够找到信息没有通过命令窗口滚动。

通过输入以下命令来显示类和包的函数,然后紧迫选项卡

医生clib.opencv。

这个命令加载方案,和MATLAB显示包的成员列表。查看包裹,出版社退格去掉,然后按输入。MATLAB显示所有OpenCV的类和函数库。

显示类方法调用方法函数的类。例如,看到的方法Affine3d类,输入这个命令。

方法clib.opencv.cv.Affine3d
clib.opencv.cv方法类。Affine3d: Affine3d eq gt le ne rotation translate concatenate ge inv lt rotate rvec translation Static methods: Identity Methods of clib.opencv.cv.Affine3d inherited from handle.

显示为一个类方法签名,调用methodsview函数的类。例如:

methodsviewclib.opencv.cv.Affine3d

该命令打开一个窗口显示的方法和他们的参数和返回值的信息。

限制

预先构建的OpenCV MATLAB接口库不支持功能,包含下面这些数据类型或语言特性。金宝app

  • 任何类型的大小大于64位,等长两倍

  • 字符数组类型(wchar_t,char16_t,char32_t)

  • 一个指针的引用,如int (* &

  • 指针或数组类型std:: string

  • 指针或引用枚举

  • 引用数据成员

  • void *数据成员

  • 性病智能指针除了std::要

  • 静态数据成员

  • * *指针,除了:

    • MATLAB支金宝app持char * *

    • MATLAB支金宝app持* *定制类的指针作为函数或方法参数类型。

  • 多级指针等类型* * *

  • C函数指针和std::函数函数返回类型或数据成员。你也不能一个MATLAB函数作为输入传递给C函数指针或一个std::函数参数。

  • 不完整或没有实例化的类模板

  • 用户定义的数据类型联盟

  • 类型的数组std::向量

  • 中定义的类型性病名称空间,除了这些支持的类型:金宝app

    • std:: string

    • std:: wstring

    • std:: u16string

    • std:: u32string

    • std::向量

    • std::要

    • std::函数

相关的话题