Insert Shape and Inserttext in same Image
2 ビュー (過去 30 日間)
古いコメントを表示
Hello
how can i display my circle and a text in the same Image using imshow ? This is my Code. But it doesnt really work. I only get one of both but not Text and Shape in the Same figure/ image:
%Image
I = imread ('bonds_image.jpg');
%Draw circle with a border line width of 5
RGB = insertShape ( I , 'circle', [527 626 20] , 'LineWidth' , 5 , 'Color' , 'red');
imshow (RGB);
%Insert Bond Text
text_str = 'Bond 1 Draht 38';
position = [532 26];
RGB_text = insertText (I, position, text_str, 'FontSize', 18, 'BoxColor', 'red', 'TextColor', 'black');
imshow (RGB_text);
0 件のコメント
採用された回答
Guillaume
2018 年 6 月 12 日
All functions in matlab work the same way, they never modify the input. Instead they return a copy of the input with the required modifications. Hence, when you call insertShape or insertText, your I is never changed. The inserted text or shape is only visible in the returned image. Thus you need to pass that returned image to the next insertXXX to insert both:
I = imread ('bonds_image.jpg');
I_with_circle = insertShape(I , 'circle', [527 626 20] , 'LineWidth' , 5 , 'Color' , 'red');
I_with_circle_and_text = insertText(I_with_circle, [532, 26], 'Bond 1 Draht 38', 'FontSize', 18, 'BoxColor', 'red', 'TextColor', 'black');
imshow(I_with_circle_and_text);
1 件のコメント
Walter Roberson
2018 年 6 月 12 日
... Actually, functions that take handle objects can modify the input. For example,
set(gca, 'Xlim', [1 20])
is a function call that modifies the input object returned by gca instead of returning second new axes.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Tracking and Motion Estimation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!