Problems with using mxarrays with the step function in MATLAB Coder

I'm trying to convert my image processing code on MATLAB into C by using MATLAB coder. using 'imread' needs a coder.entrinsic declaration. However, this means that the output to imread will be an mxArray. This is a problem as I cannot use this with the step function. The error report from code generation is shown below:
Does anyone know a way around this? Help will be very much appreciated!

 採用された回答

Sharan Duggirala
Sharan Duggirala 2015 年 4 月 20 日
編集済み: Sharan Duggirala 2015 年 4 月 20 日

0 投票

The answer has been found here for anyone wondering about it.
Thank you for your help!

その他の回答 (1 件)

Ketan
Ketan 2015 年 4 月 19 日

0 投票

You can assign the output of the extrinsically called imread to a variable of known type. For example:
% Assume IMREAD output is real uint8 [480 x 640]
I = zeros([480,640],'uint8');
I = imread(...);
Then it will not be treated as an mxArray which can only be used in a limited set of circumstances. See the following documentation for information on converting mxArrays to known types:

1 件のコメント

Sharan Duggirala
Sharan Duggirala 2015 年 4 月 20 日
I have a variable input to this function and it tells me that coder.varsize cannot be used with coder.entrinsic.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で MATLAB Coder についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by