I can not write text on an image by insertText

6 views (last 30 days)
I have been trying to write text on generated figure using the insertText function. Even when using the following example code given in the Mathworks website:
I=imread('peppers.png');
position=[1 50; 100 50];
value=['55' '66'];
RGB=insertText(I,position,value);
and I keep getting the error:
Error using +
Invalid type of input arguments (should be uint64)
Error in insertText>populateGlyphBuffer_sim (line 832)
thisValue = uint16(fontHashTable.Count+1);
Error in insertText (line 146)
populateGlyphBuffer_sim(font,fontFileName,faceIndex,fontSize);
Error in Untitled5 (line 4)
RGB=insertText(I,position,value);
I've changed the format of figure from uint8 to uint 16 but it doesn't help. Is there any mistake I missed? or is it the version issue? I'm using 2021b Matlab.
  4 Comments
Zhangziyi Zhou
Zhangziyi Zhou on 28 Jan 2022
@Walter Roberson I'm experiencing the same issue.
Map with properties:
Count: 0
KeyType: char
ValueType: uint16
fontHashTable.Count
ans =
uint64
0
typecast(fontHashTable.Count, 'uint8')
ans =
1×8 uint8 row vector
0 0 0 0 0 0 0 0
Antonia Hamilton
Antonia Hamilton on 23 Oct 2023
Hi,
I'm having exactly the same issue described in this question. i have a new installation of Matlab R2023b on a new windows machine, and I get exactly the error messages described here
I=imread('peppers.png');
position=[1 50; 100 50];
value=['55' '66'];
RGB=insertText(I,position,value);
Error using +
Invalid type of input arguments (should be uint64)
Error in insertText>populateGlyphBuffer_sim (line 800)
thisValue = uint16(fontHashTable.Count+1);
Error in insertText (line 149)
populateGlyphBuffer_sim(font,fontFileName,faceIndex,fontSize);
>>
Invalid use of operator.
I've also tried some of the checks recommended
>> which insertText -all
C:\Program Files\MATLAB\R2023b\toolbox\vision\vision\insertText.m
and I've followed the suggestion from @Walter Roberson to edit the code, so I get the result below which looks pretty bizarre but it really happened.
what else can I do?

Sign in to comment.

Answers (1)

Geoff Hayes
Geoff Hayes on 13 Jan 2022
@Xiaoai Chen - should the value input parameter be a cell array of strings rather than an array? Please see text (of insertText0 for details.

Tags

Community Treasure Hunt

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

Start Hunting!