What are compile-time constant?

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.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Mzo. de 2019

0 votos

use [0 1 0] for the color instead of 'green'

2 comentarios

JAI PRAKASH
JAI PRAKASH el 8 de Mzo. de 2019
[0 1 0] is for black I see.
Anyways what are the codes for other colors?
Thanks
Walter Roberson
Walter Roberson el 8 de Mzo. de 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]

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB Coder en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Etiquetas

Preguntada:

el 8 de Mzo. de 2019

Comentada:

el 8 de Mzo. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by