此示例显示如何通过使用灰度图像将RGB图像转换为灰度图像OpenCV进口商。通过在保持亮度的同时消除色调和饱和度信息,转换器通过消除色调和饱和度信息将RGB图像转换为灰度图像。
首先使用使用的将OpenCV函数导入Simulink金宝app在Simulink中安装和使用计算机视觉工具箱界面for OpenCV金宝app。该向导将创建一个Simulink库,该库包金宝app含指定OpenCV函数的子系统和C调用程序块。然后将子系统用于预配置的Simulink模型中以接受RGB图像进行转换。金宝app
你学习如何:
将OpenCV函数导入Simulink库。金宝app
在Simulink模型中使用来自生成的库的块。金宝app
要构建OpenCV库,请标识操作系统的兼容C ++编译器,如图所示用于使用OpenCV库的函数的便携式C代码。使用MEX -Setup C ++命令配置标识的编译器。有关更多信息,请参阅选择C ++编译器。
此示例使用Simulink模型金宝apptograyscale.slx.
。
在这个模型中,subsystem_slwrap_tograyscale.
子系统驻留在rgbtogray_lib.
图书馆。你创建了subsystem_slwrap_tograyscale.
子系统使用OpenCV进口商。子系统接受来自文件块的图像的RGB图像,并将其转换为灰度输出图像。然后将输出显示在视频查看器块上。
要访问示例文件夹的路径,请在MATLAB®命令行中输入:
OpenCV金宝appsimulinkexamples;
每个子文件夹都包含运行示例所需的所有支持文件。金宝app
在继续执行这些步骤之前,请确保将示例文件夹复制到可写的文件夹位置并将当前的工作文件夹更改为......示例\ imagerergbtogray
。所有输出文件都保存到此文件夹中。
1.开始OpenCV进口商应用程序,点击应用在Matlab Toolstrip上。在“欢迎”页面中,指定项目名作为rgbtogray.
。确保项目名称不包含任何空格。点击下一个。
2.在指定OpenCV库中,指定这些文件位置,然后单击下一个。
项目根文件夹:指定示例文件夹的路径。此路径是您已保存示例文件的可写项目文件夹的路径。所有输出文件都保存到此文件夹中。
源文件:指定路径.cpp.
文件位于项目文件夹中的文件tograyscale.cpp.
。
包括文件:指定路径.HPP.
位于项目文件夹中的头文件tograyscale.hpp.
。
3.分析您的库以查找导入的功能和类型。分析完成后,单击下一个。选择tograycale.
功能并单击下一个。
4.从进口的内容,选择I / O类型
为了IMG.
作为输入输出
,然后单击下一个。
5.在“创建Simulin金宝appk库”中,验证OpenCV类型的默认值。默认,为OpenCV功能创建一个C-Caller块选择使用子系统创建C调用程序块。要创建一个Simulin金宝appk库,请单击下一个。
一个金宝appSimulink库rgbtogray_lib.
从您的OpenCV代码创建到项目根文件夹中。该库包含子系统和C调用程序块。您可以使用这些块中的任何块进行模型仿真。在此示例中,子系统subsystem_slwrap_tograyscale.
用来。
使用生成的子系统subsystem_slwrap_tograyscale.
使用Simulin金宝appk模型tograyscale.slx.
:
1.在你的matlab中当前文件夹,右键单击该模型tograyscale.slx.
然后点击打开
从上下文菜单中。将生成的子系统拖动到模型并将子系统连接到MATLAB功能块。
2.双击子系统并指定这些参数值。
3.点击申请,然后单击好的。
在Simuli金宝appnk Toolstrip上,在模拟选项卡,单击“模拟模型”。仿真完成后,视频查看器块显示输入图像的灰度图像Peppers.png.
。