前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >增强弱光图像

增强弱光图像

作者头像
万木逢春
发布2019-05-30 14:55:58
1.4K0
发布2019-05-30 14:55:58
举报

% 低光图像增强

% 室外场景中拍摄的图像可能由于照明条件差而严重退化

% 这些图像影响计算机视觉算法的整体性能

% 为了使计算机视觉算法在低光照条件下具有鲁棒性

% 可以使用低光图像增强来提高图像的可见性

% 低光图像或HDR图像的逐像素反转直方图与模糊图像的直方图非常相似

% 因此可以使用薄雾消除技术来增强低光图像

% 使用薄雾消除技术增强低光图像包括三个步骤:

% 步骤1:取反低光图像

% 步骤2:对取反的低光图像应用去雾算法

% 步骤3:取反增强图像

% 用薄雾消除算法增强低光图像

% 导入在低光下捕获的RGB图像。

A = imread('lowlight_11.jpg');

figure, imshow(A);

% 取反图像并注意原始图像中的低光区域是如何模糊的

AInv = imcomplement(A);

figure, imshow(AInv);

% 使用imreduceHaze功能减少雾度

BInv = imreducehaze(AInv);

figure, imshow(BInv);

% 取反结果以获得增强图像

B = imcomplement(BInv);

% 对比

figure, montage({A B}, 'Size', [2 1]);

% 使用IMreduceHaze进一步改进结果

% 要获得更好的结果

% 再次调用反转图像上的IMreduceHaze

% 这次指定一些可选参数。

BInv = imreducehaze(AInv, 'Method','approx','ContrastEnhancement','boost');

BImp = imcomplement(BInv);

figure, montage({A, BImp}, 'Size', [2 1]);

% 改善弱光图像的另一个例子

% 导入在弱光下捕获的RGB图像。

A = imread('lowlight_21.jpg');

% 取反

AInv = imcomplement(A);

% 使用imreduceHaze功能减少雾度

BInv = imreducehaze(AInv, 'ContrastEnhancement', 'none');

% 取反

B = imcomplement(BInv);

% 对比

figure, montage({A, B}, 'Size', [2 1]);

% 通过使用不同的颜色空间减少颜色失真

% 将图像从RGB颜色空间转换为LAB颜色空间。

Lab = rgb2lab(A);

% 取反

LInv = imcomplement(Lab(:,:,1) ./ 100);

% 使用imreduceHaze函数对取反图像进行去雾处理

LEnh = imcomplement(imreducehaze(LInv,'ContrastEnhancement','none'));

% 增加饱和度

LabEnh(:,:,1) = LEnh .* 100;

LabEnh(:,:,2:3) = Lab(:,:,2:3) * 2;

% 将图像转换回RGB图像

AEnh = lab2rgb(LabEnh);

% 并排显示原始图像和增强图像

figure, montage({A, AEnh}, 'Size', [2 1]);

% 使用去噪改善结果

% 低光图像可能具有高噪声级

% 增强低光图像可以提高此噪声级别

% 去噪是一个有用的后处理步骤

% 使用imguidedfilter功能从增强图像中去除噪声

B = imguidedfilter(BImp);

figure, montage({BImp, B}, 'Size', [2 1]);

相关图像文件为matlab自带实例文件

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帮你学MatLab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档