如何使用OpenCV c++函数?

8视图(30天)
扫罗奥尔门德拉斯
扫罗奥尔门德拉斯 2017年4月26日
评论道: 米歇尔Mondini2018年2月23日
你好,
我想使用OpenCV函数cvtColor改变图像从RGB到灰度使用仿真软件的功能。万博1manbetx是这样的:
为了使用OpenCV的输入需要转换成简历::垫,我发现这可以完成了 OpenCV c++ API接口 ,但我不知道如何去做。
我的S-Functions知识是有限的,但据我所知,在mdlOutputs方法需要做转换。类似这样:
静态空白mdlOutputs (SimStruct * S, int_T tid)
{
const uint8_T *情况= (const uint8_T *) ssGetInputPortSignal (S, 0);
uint8_T * y0 = (uint8_T *) ssGetOutputPortRealSignal (S, 0);
空白ocvMxArrayToImage_uint8 (const mxArray *情况,简历::垫&colourImage);
简历::cvtColor (colourImage、grayImage CV_RGB2GRAY);
y0 * ocvMxArrayFromImage_uint8 (const简历:垫&grayImage);
}
我是正确的吗?你知道我在哪里可以找到一些例子吗?
谢谢你!
1评论
冈萨洛萨利纳斯
冈萨洛萨利纳斯 2018年2月8日
这就跟你问声好!我目前考虑用OpenCV c++在s函数在仿真软件模拟并生成C代码。万博1manbetx你成功了吗?是可能的吗?提前谢谢。

登录置评。

答案(1)

Prashant Arora
Prashant Arora 2017年4月28日
嗨扫罗,
OpenCV界面允许您调用与mxArray OpenCV的功能。在仿真软件万博1manbetxC-Mex s函数,real_T基本上是双,而不是mxArray。您需要首先创建一个mxArray使用仿真软件的输入。万博1manbetx
在一个更简单的方法实现你的用例,我建议使用以下流程:
1)创建一个MATLAB墨西哥人文件(不是一个仿真软件功能)在MATL万博1manbetxAB调用OpenCV函数。您可以参考下面的链接。
2)使用MATLAB仿真软件的功能块调用这个墨西哥人文件。万博1manbetx
2的评论
米歇尔Mondini
米歇尔Mondini 2018年2月23日
嗨Prashant Arora,
我面临类似的问题。你的意思是:“使用MATLAB仿真软件功能块调用这个墨西哥人文件”?万博1manbetx你能解释更准确吗?
我想那样做,但我发现mxArrays数据类型之间的不相容,墨西哥人所需功能,和标准数据模型(如双和uint8图像数据矩阵)。万博1manbetx
提前谢谢!

登录置评。

社区寻宝

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

开始狩猎!