What are compile-time constant?

9 Ansichten (letzte 30 Tage)
JAI PRAKASH
JAI PRAKASH am 8 Mär. 2019
Kommentiert: Walter Roberson am 8 Mär. 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.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 8 Mär. 2019
use [0 1 0] for the color instead of 'green'
  2 Kommentare
JAI PRAKASH
JAI PRAKASH am 8 Mär. 2019
[0 1 0] is for black I see.
Anyways what are the codes for other colors?
Thanks
Walter Roberson
Walter Roberson am 8 Mär. 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]

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB Coder finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by