How invert only one colour in RGB image?
    5 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hello!
I want to change background in my rgb image from black to white. How I can do it without inversing others colours?
採用された回答
  DGM
      
      
 2022 年 4 月 4 日
        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 件のコメント
  DGM
      
      
 2022 年 4 月 5 日
				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)

その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Convert Image Type についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





