What are compile-time constant?

5 vues (au cours des 30 derniers jours)
JAI PRAKASH
JAI PRAKASH le 8 Mar 2019
Hi I want to generate a MEX file for following function
function RGB = test(I)
RGB = insertShape(I,'circle',[150 280 35],'LineWidth',5,'Color', 'green');
I am using following cmds to generate .mex file
I = imread('peppers.png');
codegen('test.m','-args',{I})
Error: '??? COLOR must be numeric for code generation'
In insertshape doc it is mentioned that. 'Color' and 'SmoothEdges' must be compile-time constants.
I dont understand this instruction.

Réponse acceptée

Walter Roberson
Walter Roberson le 8 Mar 2019
use [0 1 0] for the color instead of 'green'
  2 commentaires
JAI PRAKASH
JAI PRAKASH le 8 Mar 2019
[0 1 0] is for black I see.
Anyways what are the codes for other colors?
Thanks
Walter Roberson
Walter Roberson le 8 Mar 2019
Ah. There are two competing conventions for indicating RGB color values. One uses values in the range 0 to 1; the other one uses values in the range 0 to 255. So green would be [0 255 0]
There is a partial table at https://xkcd.com/color/rgb/ . The representation there is given in hex. For example 'pig pink', #e78ea5 would correspond to [hex2dec('e7'), hex2dec('8e'), hex2dec('a5')] or [231 142 165]

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB Coder dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by