File Exchange

image thumbnail


version 1.9 (336 KB) by

Patching technique for text/image without losing on the pixel information in the rest of the image.



View License

ImagePatchTool ver. 1.31©
Amitabh Verma

This script is to demonstrate how to place text/image or label an image without losing on the pixel information in the rest of the image. The main purpose of the script is for appending text information on the image before being saved after an image capture or processing step. The patching speed is in 'ms' enough for real time operations.

I have built a GUI for an easy demonstration and labeling stand alone pics. Final images are saved in Uncompressed tif files. Images can be RGB or grayscale. This script will not work with gifs and nor have I tested in depth how matlab handles gifs.

1. Default patch text information is loaded on program startup (you can save your own startup defaults)
2. Enter your text (for special characters you can use copy-paste function ctrl+c/ctrl+v)
3. Make Label
4. Load Image
5. Patch Image
6. Save Image
7. Find Difference button will count number of pixels used by the patch (basically the count of pixel information difference between the original and the patched).

(Only required when style of patch needs to be changed NOT for a new label)
If you wish to customize your patch style
1. Enter RGB values between (0 to 1).
2. Chose font
3. Initialize
4. Rest of the steps as above

1. Customizable font type, size, color
2. Customizable background color
3. Transparent patching of text with merging
4. Customizable location of patch
5. No Loss of pixel information, currently some suggested methods use getframe/gcf
6. Fast ~0.001 sec. for real time applications
7. RGB as well as grayscale support
8. External image support to add image legend, company logo, etc. with transparency support.

1. Single line feed (no. of characters per line is [image width/font width])

Future Versions
1. Multiple line support

Please report bugs, feature request, comments and suggestions to Amitabh Verma <>
Thank you for evaluating ImagePatchTool©

Note: Being a new MATLAB user I am eager to learn ways which can speed up the implementation of this code. Your feedback is highly appreciated.

Comments and Ratings (3)

Amitabh Verma

The above error Rob pointed is most probably due to the default character encoding in Matlab set to something other than 'Windows-1252'.

With the below correction it should work fine.
native2unicode('string', 'Windows-1252')
unicode2native('string', 'Windows-1252')

An update has been submitted.

Amitabh Verma

Hi Rob,
Code runs fine on 2010a. Could you please try the following in Matlab and which version are you running btw. Thanks !

>> unicode2native('abc')

Rob Campbell

Rob Campbell (view profile)

In the GUI, "make text label" results in an error:

Error in ==> ImagePatchTool>pushbutton2_Callback at 203
Error in ==> gui_mainfcn at 96
Error in ==> ImagePatchTool at 43
gui_mainfcn(gui_State, varargin{:});



Changes in ver 1.31
1. Fix for Matlab's default character encoding
2. Fixed special characters bug
3. Error message for no text


Changes in ver 1.3
1. Removes empty lines
2. Define custom spacing
3. Font display
4. Loaded Image Display
5. Minor fixes and changes


Changes in ver 1.2
1. € © ® etc. characters now available

Changes in ver 1.1
1. Supports '{ } \ _ ^' characters
2. Saves text in save defaults
3. Typo
4. Background changes (Switch instead of if)


Changes in ver 1.1
1. Supports '{ } \ _ ^' characters
2. Saves text in save defaults
3. Typo
4. Background changes (Switch instead of if)

MATLAB Release
MATLAB 7.10 (R2010a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video