这个例子展示了如何为Simulink®模型生成CUDA®代码,该模型可以检测和输出图像上的车道标记边界。金宝app本例以RGB图像作为输入,使用imresize
,rgb2gray
,ordfilt2
(图像处理工具箱),脚腕
(图像处理工具箱),houghpeaks
(图像处理工具箱),houghlines
(图像处理工具箱)图像处理工具箱™的功能,用于检测车道标记。这个例子紧跟着使用oughlines功能在GPU上进行车道检测.
这个例子演示了以下概念:
利用图像处理功能在Simulink中对车道检测应用程序进行建模。金宝app
配置GPU代码生成的模型。
为Simulink模型生成一个CUDA可执行文件。金宝app
要求
本例生成CUDA MEX,并具有以下第三方需求。
CUDA支持NVIDIA®GPU和兼容驱动程序。
可选
对于非mex构建,如静态、动态库或可执行文件,本例有以下附加要求。
英伟达工具包。
编译器和库的环境变量。有关更多信息,请参见第三方硬件和设置前提产品下载188bet金宝搏.
要验证运行此示例所需的编译器和库是否正确设置,请使用coder.checkGpuInstall
函数。
envCfg = coder.gpuEnvConfig (“主机”);envCfg。BasicCodegen = 1;envCfg。安静= 1;coder.checkGpuInstall (envCfg);
houghlines
金宝app仿真软件模型给出了用金宝app于车道检测的Simulink模型。
open_system (“lane_detection”);
的车道检测
子系统包含一个MATLAB函数
以强度图像作为输入,并提供检测到的车道作为输出的块。本功能是基于车道检测算法实现使用的houghlines
中描述的使用oughlines功能在GPU上进行车道检测的例子。当模型运行时,可视化
块显示车道检测输出图像。
打开“配置参数”对话框。
在模拟目标窗格中,选择GPU加速.
在正常模式下运行模拟。
set_param (“lane_detection”,“SimulationMode”,“正常”);sim卡(“lane_detection”);
在代码生成窗格中,选择语言作为c++并使生成GPU的代码.
开放模拟目标窗格。在先进的参数,使动态内存分配阈值的MATLAB函数.有关更多信息,请参见动态内存分配MATLAB函数(金宝app模型)
开放代码生成> GPU代码窗格。在子类别库,使cuBLAS,cuSOLVER和cuFFT.
在主机GPU上生成并构建Simulink模型金宝appslbuild
命令。代码生成器将文件放在建立文件夹,子文件夹名为lane_detection_ert_rtw
在当前工作文件夹下。
状态= evalc (“slbuild (lane_detection)”);
关闭Simulink金宝app模型。
close_system (“lane_detection”);
open_system
(金宝app模型)|load_system
(金宝app模型)|save_system
(金宝app模型)|close_system
(金宝app模型)|bdclose
(金宝app模型)|get_param
(金宝app模型)|set_param
(金宝app模型)|sim卡
(金宝app模型)|slbuild
(金宝app模型)