How invert only one colour in RGB image?
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hello!
I want to change background in my rgb image from black to white. How I can do it without inversing others colours?
7 comentarios
Respuesta aceptada
  DGM
      
      
 el 4 de Abr. de 2022
        The easy way to do this is L inversion.  You can do this the hard way, or you can just use MIMT tools:
inpict = imread('scope.png');
outpict = imtweak(inpict,'hsl',[0 1 -1]); % invert L
imshow(outpict)

Of course yellow on white is hard to read, so desaturating might help.
inpict = imread('scope.png');
outpict = imtweak(inpict,'hsl',[0 0.7 -1]); % invert L, reduce S
imshow(outpict)

Otherwise, you could always try to mask off certain parts of the image and adjust them independently.
Imtweak() is part of MIMT, and is available at the link above.  
5 comentarios
  DGM
      
      
 el 5 de Abr. de 2022
				I'm assuming you're after the floating toolbar things.  This is one example.  I can't really provide an example of the mask generation, since I did that by manual selection.  I attached the mask image.
inpict = imread('scope.png');
% mask created by manual selection using immask() in HSV
mk = imread('scopemask.png');
mk = imfill(mk,'holes'); % fill in holes
% adjust the whole image
outpict = imtweak(inpict,'hsl',[0 0.7 -1]); % invert L, reduce S
% but use the mask to revert the selected areas
outpict = replacepixels(inpict,outpict,mk);
imshow(outpict)

Más respuestas (0)
Ver también
Categorías
				Más información sobre Convert Image Type en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





