运行matlab代码在树莓派

80次观看(过去30天)
Vamshi Krishna
Vamshi Krishna 2015年11月18日
回答: Mohith您正在 2018年10月10日
嘿,伙计们,
由于我是非常新的matlab,我不知道它的很多信息。我写了一个代码检测对象使用背景减法方法,现在我有一个问题运行的代码树莓派。
下面是代码,
forearchdetector = Vision.ForeCloundDetector(“NumGaussians”3,...
“NumTrainingFrames”, 50);
Videoreader = Vision.videofilereader(vamshi.avi);
i = 1:15 0
框架=步骤(录像机);%读取下一视频帧
前景=步骤(前景detector,帧);
结束
图;imshow(框架);标题('视频框架');
图;imshow(前景);标题(“前景”);
se = strel(“广场”3);
filteredforeground = imopen(前景,se);
图;imshow(FilteredForeground);标题('干净的前景');
blobAnalysis =愿景。BlobAnalysis ('bandingboxoutputport', 真的,...
'AreaOutputport'假的,“CentroidOutputPort”假的,...
'MiniplyBlobarea',150);
bbox = step(blobananalysis, filteredForeground);
结果= insertshape(帧,'长方形',bbox,'颜色''绿色');
numcars = size(bbox,1);
result = insertText(result, [10 10], numCars,“BoxOpacity”, 1...
“字形大小”14);
图;imshow(结果);标题(检测到汽车的);
>> VideoPlayer = Vision.videoplayer(“名字”检测到汽车的);
videoPlayer.Position (3:4) = [650400];窗口大小%:[宽度,高度]
se = strel(“广场”3);%形态滤波器去除噪声
尽管〜ISDONE(录像机)
框架=步骤(录像机);%读取下一视频帧
%检测当前视频帧中的前景
前景=步骤(前景detector,帧);
%使用形态开口去除前景中的噪音
filteredforeground = imopen(前景,se);
%检测具有指定最小面积的连接部件
%计算它们的边界框
bbox = step(blobananalysis, filteredForeground);
%在检测到的汽车周围绘制边框
结果= insertshape(帧,'长方形',bbox,'颜色''绿色');
显示在视频帧中找到的汽车数量
numcars = size(bbox,1);
result = insertText(result, [10 10], numCars,“BoxOpacity”, 1...
“字形大小”14);
步骤(放像机、结果);%显示结果
结束
释放(videoReader);%关闭视频文件
有谁能够帮助我。

答案(4)

Mohith您正在
Mohith您正在 2018年10月10日
通过MATLAB的R2018b版本,您可以将MATLAB代码作为一个独立的可执行文件部署到Raspberry Pi上。
参考的 在Raspberry PI上部署MATLAB功能 为更多的信息。

沃尔特·罗伯森
沃尔特·罗伯森 2015年11月18日
在我看来,您需要将您的代码转换为使用MATLAB函数块的Simulink模型,然后您可以使用Simulink为Rasp金宝appberry生成代码。

阮Toan
阮Toan 2018年1月30日
我建立一个MATLAB函数,以使用检测到牵引图像的匹配点。然后我使用MATLAB功能块将其移植到Si金宝appmulink调制器。但是,METRY“SIMULINK中不支持检索拍摄错误”。金宝app金宝app来人帮帮我!
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年1月30日
MATLAB函数块预计将被编译和部署到硬件。这是一个潜在的问题,以检测表面和其他一些计算机视觉程序。代码生成到C/ c++ 金宝app支持detectsurffatures,但它是通过创建对opencv库的调用来实现的——而opencv对嵌入式硬件系统不一定可用。
用于达到此目的的设计机制是在MATLAB函数块中拨打Coder.CEVAL()调用,从而拨打OpenCV例程,因为您可以在覆盆子上安装OpenCV https://www.pyimagessearch.com/2015/10/26/2015/10/26/3015/10/26/2015-Install-opencv-3-on-raspbian-jessie/
另一种机制是使用编码器.Extrinsic来调用例程。当那些以正常的加速模式或第一种模拟加速器运行时,编码器.Extrinsic会查找带有给定名称的MATLAB例程,但要部署到目标,则编码器会期望您提供的具有该名称的库例程。

登录并发表评论。


Madhu Govindarajan.
Madhu Govindarajan. 2018年1月30日
这是我对你问题的答案。
步骤1)您必须查看您正在使用的所有函数的文档,看看它们是否能够生成代码。例如,在该页(//www.tatmou.com/help/vision/ref/vision.foregrounddetector-system-object.html)的底部有一节标题为扩展功能。这将告诉你是否可以使用MATLAB Coder为这个函数生成代码。步骤2)你必须创建一个单独的函数来完成这个脚本所做的事情,但是要使用实际的输入图像。步骤3)使用这个工具和MATLAB编码器来生成可以在硬件上运行的代码//www.tatmou.com/matlabcentral/fileexchange/62243-run-on-hardware
如果它确实工作,请接受答案,因为这将帮助其他人可能需要类似的工作流程。

标签

社区寻宝

在MATLAB中央找到宝藏,发现社区如何可以帮助你!

开始狩猎!