How do I make text color black when using the function insertText

26 visualizaciones (últimos 30 días)
Hello I created a white image using the code below. and then i inserted a text. but the text has yellow background. I dont know where this is coming from
N=500;
M=500;
whiteImage = 255 * ones(N, M, 'uint8');
DD= insertText(whiteImage, [100,234],'Hello World','FontSize',18,'TextColor','black');
imshow(DD);
Please help, how do I remove the yellow background under the text

Respuesta aceptada

dpb
dpb el 3 de Feb. de 2020
Read the rest of the documentation...
'BoxColor' Text box color
'yellow' (default) | character vector | cell array of character vectors | [R G B] vector | M-by-3 matrix
Use
DD= insertText(whiteImage, [100,234],'Hello World','FontSize',18,'TextColor','black','BoxColor','white');
It seems a more logical 'Default' choice would be the existing background color of the image, but I guess that's probably more difficult to ascertain...
  8 comentarios
fadams18
fadams18 el 4 de Feb. de 2020
It works. Lastly before i stop disturbing u.
Do you reckon this method as a good way to make an image mask?
The plan is to get this image 'mask1.png' and use it as a mask on an input image(Left) to produce the output in image(right)
Input=im2double(imread('dataset/3.jpg'));
mask = double( mat2gray( im2double(imread('dataset/mask1.png')) ) == 1 );
if size(mask,3)==1 && size(input,3)>1
mask = repmat(mask,[1,1,size(input,3)]);
end
output = mask.*Input ;
basically im just trying to recreate this
ff.jpeg
Image Analyst
Image Analyst el 4 de Feb. de 2020
Depends on whether you want to do a weighted average of the images, or if you want to do masking. You're doing masking where you'll set the underlying image to pure black wherever your other image is equal to 1. Try it and see if this is what you want. I would probably suggest a weighted sum though, like 0.7 of one image plus 0.3 of the other image.

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 3 de Feb. de 2020
It comes from the 'BoxColor' option. See the documentation. To have background be white:
N=500;
M=500;
whiteImage = 255 * ones(N, M, 'uint8');
DD= insertText(whiteImage, [100,234],'Hello World','FontSize',18,'TextColor','black', 'BoxColor', 'white');
imshow(DD);

Community Treasure Hunt

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

Start Hunting!

Translated by