Adding haze to image

Respuestas (3)

Image Analyst
Image Analyst el 25 de Oct. de 2016
Editada: Thorsten el 25 de Oct. de 2016

1 voto

Use rand() to add an offset and a slight amount of noise. ofr a grayscale image, try this:
maxGL = max(grayImage(:));
hazyImage = uint8(double(grayImage) + 240 - maxGL + 10 * rand(size(grayImage)));
figure;
subplot(1, 2, 1);
imshow(grayImage);
subplot(1, 2, 2);
imshow(hazyImage);

6 comentarios

hussein ali
hussein ali el 25 de Oct. de 2016
I do not know how I thank you , thank you very much , but this does not work I have research and I need your help please
Image Analyst
Image Analyst el 25 de Oct. de 2016
Well I think it does work but maybe you don't think it's realistic enough. In that case I invite you to look at the Vision Lab at the University of Dayton that does research into fog and haze removal. Perhaps if you know how it's removed you can learn what constitutes realistic haze and you can generate it. See this link University of Dayton Vision Lab.
hussein ali
hussein ali el 31 de Oct. de 2016
Again many many thanks my teacher for your answer
hussein ali
hussein ali el 24 de Nov. de 2016
my teacher Thorsten May I know why use 240 thank you
Image Analyst
Image Analyst el 24 de Nov. de 2016
I'm not Thorsten but since the 240 was in my code I'll answer anyway. Basically I wanted to brighten the image and add a bit of noise to make it look hazy.
I subtracted maxGL to get the image all negative.
Then I added up to 10 gray levels of noise. So now the gray levels go from large negative up to as much as 10.
Then I added 240 to brighten the image. Whatever the old max was, it will now be at 240. For example it might have been at 130 - doesn't matter - now it will be at 240 so it looks brighter. Then there's still the 10 gray levels of noise on top of that so the image goes to as bright as 250 gray levels. You can change the 240 to be whatever you want, to map the old max brightness to a new level.
hussein ali
hussein ali el 23 de En. de 2017
Thank you so much my teacher

Iniciar sesión para comentar.

Amjad Mushtaq
Amjad Mushtaq el 2 de Jun. de 2022
Editada: Walter Roberson el 19 de Sept. de 2022

0 votos

image=imread('image2.jpg');
subplot(2,2,1); imshow(image);title('imege');
a=imcomplement(image);
subplot(2,2,2);imshow(a);title('incomplement');
b=imreducehaze(a); % this is hazy filter code
subplot(2,2,3);imshow(b);title('hazy filter');

1 comentario

Walter Roberson
Walter Roberson el 2 de Jun. de 2022
Ah, but the question was how to add haze, not how to remove it.

Iniciar sesión para comentar.

GNANA PRAKASH
GNANA PRAKASH el 19 de Sept. de 2022

0 votos

maxGL = max(grayImage(:));
hazyImage = uint8(double(grayImage) + 240 - maxGL + 10 * rand(size(grayImage)));
figure;
subplot(1, 2, 1);
imshow(grayImage);
subplot(1, 2, 2);
imshow(hazyImage);

Preguntada:

el 25 de Oct. de 2016

Editada:

el 19 de Sept. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by