How do I insert a picture into a script?

483 Ansichten (letzte 30 Tage)
DKonk
DKonk am 19 Nov. 2022
Kommentiert: DKonk am 19 Nov. 2022
I need to have an image in my code for users to reference. I don't want to imread or imload, I just want an immage pasted almost like a comment. Off to the side and not affecting the code at all. Can I do that?

Akzeptierte Antwort

Steven Lord
Steven Lord am 19 Nov. 2022
If your script is a live script that you have open in the Live Editor, select the Insert tab of the Toolstrip then click the Image button.
  4 Kommentare
Steven Lord
Steven Lord am 19 Nov. 2022
This also works in live functions.
If you're asking if you can somehow embed a picture into a plain code file with the .m extension and have it automatically displayed in the Editor the answer is no. MATLAB program files with the .m are text files.
Depending on how much effort you want to put into this project, if this is part of a toolbox that you're writing you could create custom documentation.
Or you could create a simple app that allows users to enter the data then have the app call your computational function to compute the answer.
DKonk
DKonk am 19 Nov. 2022
This is unfortunately the answer I was looking for. The asnwer is no. Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jan
Jan am 19 Nov. 2022
Bearbeitet: Jan am 19 Nov. 2022
It depends on how you would like to see the image. It cannot be displayed in the editor, because scripts are M-files and therefore pure text files. Of course ASCII-art would be possible.
If you want to display it by imshow you can embed base64 encoded data:
% Create the data stream as ASCII:
img = randi([0, 255], 20, 30, 'uint8'); % Example image
B64 = org.apache.commons.codec.binary.Base64;
str = char(B64.encode(img(:))).';
% Store in the file:
img64 = ['0Ocg6aEYR4z19yj49XzMJGvqyvWnCdnvrcG+ZKcrtAhGCxjSsVHzCH', ...
'Bhw8svfXKltcFGrqcpHn/1V5U5wEGBsuT1jCMmQddB0D7tWTJAnXla1JWM6', ...
'knBwGGREw2Hx+8hkXgDVinLT4cqmkOnsL9zFTrpJ9OJ/xRxG/YBxtHeFWZC', ...
'zG7pLkMlIt6UjCXan1mDZhM9Hy89agzn8X19VuZeHMdjPWcYIfH0kw88WtI', ...
'DCyumu6VzjEu+MK8uXqDHFO3GfG9yToKC0cukYM+IWfDgjJ+WNU14O9gxOS', ...
's6b0/sbi/n+nAcQmiYQ5q2OB5LUWyCFUPNB+26fZQ8dfaLhTt9n61lXvwJ4', ...
'unLGUNVriK4G6d+x7fn5FWyMge+gHrnnJ7czpMuPeIHfSr6toB4D64KEoUY', ...
'0dG4JqiE+abMdG7TFSIsZNTND2aGaqigSm4D+yobXzJ9VvPrDbxEbIzxavt', ...
'Ns6qKsqotIP8rCI/hqzBedfso26VgMG17HpY5YpVASp1D0/u6WJUb6OHRQp', ...
'gFbFApLWwYmXiys6MIEVGHp2jRt/eIUxucx2wXRCdHcIZ14ITxo/U9rUqrs', ...
'RFBOarYWMesAZpj6gB2bHXFUsh4CS24eSdXmzG9PupEwzBJF5Oui2ykpa2i', ...
'8TW1PB6bc3WpxVmpatfVQZ2Vit5DUR7wpXqji6WLuIX+NxscEGdyXcOgxe7', ...
'5MSOyGIaH3Hxkq72FWSaWQwvBPnGwW7xlrrRxBVRsRTLSbuNkxGXOwWA3yv', ...
'NTq3DVxCrc/YPiliczaL/TylGIFxwirX4wfiUO'];
B64 = org.apache.commons.codec.binary.Base64;
img = uint8(B64.decode(uint8(img64));
imshow(reshape(img, 20, 30));

Kategorien

Mehr zu Convert Image Type finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by