I have this result :
There should be three Lab numbers on the third line but only L and a are showing, with two decimals of precision each (50.91 -46.21 ,). I have not completely figured out how to control the num2str conversion, the best I had was this :
Line1 = ['(X,Y) = ', num2str(posX), ', ', num2str(posY)];
Line2 = ['RGB = ', num2str(RGB(1,1,1)), ', ', num2str(RGB(1,1,2)), ' , ', num2str(RGB(1,1,3))];
Line3 = ['Lab = ', num2str(Lab(1,1,1),2), ', ', num2str(Lab(1,1,2),2), ' , ', num2str(Lab(1,1,3),2)];
Line4 = ['Lch = ', num2str(Lab(1,1,1),2), ', ', num2str(chroma,2), ' , ', num2str(hueAngle,3), '°'];
I have not figured out yet the proper parameters to get a conversion from double to string with no decimal part?

 Réponse acceptée

Stephen23
Stephen23 le 14 Mar 2022
Modifié(e) : Stephen23 le 14 Mar 2022
It would be better to use SPRINTF rather than NUM2STR. For example:
Line1 = sprintf('(X,Y) = %u, %u', posX, posY);
Line2 = sprintf('RGB = %.0f, %.0f, %.0f', RGB(1,1,1:3));
Line3 = sprintf('RGB = %.2f, %.2f, %.2f', Lab(1,1,1:3));

Plus de réponses (1)

Walter Roberson
Walter Roberson le 14 Mar 2022

0 votes

round()

2 commentaires

Roger Breton
Roger Breton le 14 Mar 2022
Thank you so much Mr. Roberson :-)
Roger Breton
Roger Breton le 15 Mar 2022
I ended up using your solution ;-)

Connectez-vous pour commenter.

Catégories

Produits

Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by