Adding haze to image
이전 댓글 표시
Hi for all , How I can add haze to image Thank you
답변 (3개)
Image Analyst
2016년 10월 25일
편집: Thorsten
2016년 10월 25일
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
hussein ali
2016년 10월 25일
Image Analyst
2016년 10월 25일
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
2016년 10월 31일
hussein ali
2016년 11월 24일
Image Analyst
2016년 11월 24일
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
2017년 1월 23일
Amjad Mushtaq
2022년 6월 2일
편집: Walter Roberson
2022년 9월 19일
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
Walter Roberson
2022년 6월 2일
Ah, but the question was how to add haze, not how to remove it.
GNANA PRAKASH
2022년 9월 19일
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);
카테고리
도움말 센터 및 File Exchange에서 Contrast Adjustment에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!