How can I generate whiteish images with this image? This code is for example.

1 Ansicht (letzte 30 Tage)
Kiha Kim
Kiha Kim am 13 Dez. 2021
Bearbeitet: DGM am 13 Nov. 2022
A = im2double(imread('fruit.png'));
B = 1-((1-A).*(1-permute([1 0 0],[1 3 2])));
figure;
imshow(B)
  2 Kommentare
DGM
DGM am 13 Nov. 2022
Bearbeitet: DGM am 13 Nov. 2022
The above operation is a 'screen' blend with red. It does not create the output image shown.
This thread is a consequence of the examples here:
At the end, I gave a handful of examples for the "whiteish" case.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Voss
Voss am 13 Dez. 2021
I don't know if this is what you have in mind, but maybe something like this:
whiteness = 0.5;
A = im2double(imread('fruit.png'));
B = mean(A,3).*ones(1,1,3)*(1-whiteness)+whiteness;
figure;
imshow(B)
Here, whiteness is a parameter for you to tune (between 0 and 1, inclusive) in order to achieve the desired "whiteish"-ness.
whiteness = 0; will give you the grey-scale version of the original image where each RBG channel is the average of all three RGB channels in the original image. whiteness = 1; will give you an image of all white.

Image Analyst
Image Analyst am 13 Dez. 2021
You can make an image "whiter" by decreasing the saturation and increasing the value.
hsvImage = rgb2hsv(rgbImage);
[hImage, sImage, vImage] = imsplit(hsvImage);
sImage = someFactor1 * sImage; % someFactor1 < 1 to reduce vividness of color
vImage = someFactor2 * vImage; % someFactor2 > 1 to brighten the image
hsvImage = cat(3, himage, sImage, vImage);
rgbImage = hsv2rgb(hsvImage);

Community Treasure Hunt

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

Start Hunting!

Translated by