www.gusucode.com > graphics 案例源码程序 matlab代码 > graphics/AddTextToImageDataExample.m
%% Add Text to Image Data % This example shows how to use array indexing to rasterize text % into an existing image. %% % Draw the text in an axes using the |text| function. Then, capture the % text from the screen using |getframe| and close the figure. fig = figure; t = text(.05,.1,'Mandrill Face','FontSize',20,'FontWeight','bold'); F = getframe(gca,[10 10 200 200]); close(fig) %% % Select any plane of the resulting RGB image returned by |getframe|. Find % the pixels that are black (black is 0) and convert their subscripts to % indexes using |sub2ind|. Use these subscripts to "paint" the text into % the image contained in the |mandrill| MAT-file. Use the size of that % image, plus the row and column locations of the text to determine the % locations in the new image. Index into new image, replacing pixels. c = F.cdata(:,:,1); [i,j] = find(c==0); load mandrill ind = sub2ind(size(X),i,j); X(ind) = uint8(255); %% % Display the new image using the bone colormap. imagesc(X) colormap bone