why my variable value become these sysbols?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
InfoImage = imfinfo(filename);
Width = InfoImage.Width;
Height = InfoImage.Height;
app.SizeImageEditField.Value = [Width,'x',Height];
This is my code. Thanks.
0 Commenti
Risposta accettata
Les Beckham
il 2 Dic 2022
Probably because Width and Height are not character vectors, but numeric doubles instead.
Try this:
InfoImage = imfinfo(filename);
Width = num2str(InfoImage.Width);
Height = num2str(InfoImage.Height);
app.SizeImageEditField.Value = [Width,'x',Height];
2 Commenti
Più risposte (1)
Steven Lord
il 2 Dic 2022
When you concatenate together a char vector and a number, MATLAB does not convert the number into its character representation. It converts it into a character based on its value. From the display and some guess and check on the Unicode tables I'm guessing your image is somewhere around 1670 columns wide? I haven't tried to look for the width character.
x = 0x686
c = char(x)
If you want to combine text data and numeric data and have the number converted to its character representation, one easy way to do that is to use a string array and the + operator (which for string arrays is concatenation.)
s = 1670 + " x " + 800
0 Commenti
Vedere anche
Categorie
Scopri di più su Data Type Conversion in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!