【图像增强】HSI+同态滤波彩色图像增强【含Matlab源码 1515期】

在这里插入图片描述

⛄一、 图像增强技术简介

1 图像增强
图像增强是对图像的某些特征,如边缘、轮廓、对比度等进行强调或锐化,以便于显示、观察或进一步分析与处理。通过对图像的特定加工,将被处理的图像转化为对具体应用来说视觉质量和效果更“好”或更“有用”的图像。
图像增强是最基本最常用的图像处理技术,常用于其他图像处理的预处理阶段。
在这里插入图片描述
(1)高通平滑、低通锐化;平滑模糊、锐化突出图像细节
(2)滤波器还有带通、带阻等形式
(3)根据噪声(椒盐噪声、高斯噪声…)的不同,选用不同的滤波
(4)邻域有4-邻域、对角邻域、8-邻域,相对应的有邻接,即空间上相邻、像素灰度相似
(5)图像边缘处理:忽略不处理、补充、循环使用
(6)目前尚未图像处理大多基于灰度图像

2 同态滤波
同态滤波采用的是照射-反射模型, 即通过同时减小图像的灰度范围和增强图像的对比度来对图像增强. 图像可表示为照射i(x,y)和反射r(x,y) 两部分的乘积
在这里插入图片描述
将其变换到对数域, 并进行傅里叶变换得
在这里插入图片描述
式中: I(u,v)和R(u,v)分别是In(i(x,y))和In(r(x,y)) 的傅里叶变换, 借助滤波函数H(u,v)对F(u,v)进行滤波, 可以分离得到入射分量和反射分量
在这里插入图片描述
滤波后, 进行傅里叶逆变换得
在这里插入图片描述
对式(25)取指数后, 得到滤波后的图像
在这里插入图片描述

3 Retinex增强处理
基于全局直方图、局部直方图的图像去雾算法在理论及实现上比较简单,能起到一定的去雾处理效果。为了进行对比, 实验中采取了Retin ex图像增强算法来进行对比, 该算法可以平衡图像灰度动态范围压缩、图像增强和图像颜色恒常三个指标,能够实现对含雾图像的自适应性增强。因此, Retin ex增强处理通过对RGB图像的R、G、B三层通道分别应用Retin ex算法进行处理, 再整合到新的图像的方式来进行。

4 图像的直觉模糊增强算法
模糊范数在模糊集的理论体系中占有重要地位,YAGER通过“最大-最小”算子定义了模糊范数
在这里插入图片描述
HAMACHER通过纯代数运算定义模糊范数
在这里插入图片描述
对于一幅大小为M×N的灰度图像B(彩色图像取其亮度),其灰度值范围为[0,L-1],则图像B的模糊域的隶属函数可定义为
在这里插入图片描述
式中:gmin和gmax分别为图像灰度值的最小值和最大值;gi j为像素(i,j)的灰度值。
直觉模糊集:设X是一个给定论域,则X上的一个直觉模糊集A为
A={<x,μA(x),γA(x)>|x∈X} (6)
式中:μA(x)∈[0,1]为隶属函数,γA(x)∈[0,1]为非隶属函数,且对于A上的所有x∈X,0<μA(x)+γA(x)≤1,πA(x)=1-μA(x)-γA(x)为犹豫度。
在这里插入图片描述
式中:0≤α≤1,α用来调节隶属度μ(gi j)本身包含的模糊性,经实验验证,当0.6<α≤0.8时,图像增强效果较好。
利用式(4)的Hamacher模糊范数,可合成隶属度
在这里插入图片描述
直觉模糊增强图像的步骤为: 1) 通过式(5)计算图像每个像素点的隶属度;2) 通过式(7)和式(8)计算图像每个像素点的隶属度的下限和上限;3) 通过式(9)将图像每个像素点的隶属度的下限和上限合成为像素点的隶属度;4) 通过式(10)计算图像每个像素点的隶属度对应的灰度值。

⛄二、部分源代码

close all;clear;clc
addpath(‘model’);
addpath(‘src’);

% 读取图像
I = imread(‘4.1.01.tiff’);
en = BlockAvEn(I,8);

% 全局同态滤波
rgbim0 = GlobalHomo(I,1.2,0.5,50,1);
en0 = BlockAvEn(rgbim0,8);

% 局部同态滤波
rgbim1 = LocalHomo(I,1.2,0.5,4,1,8);
en1 = BlockAvEn(rgbim1,8);

% 分块同态滤波
rgbim2 = BlockHomo(I,1.2,0.5,4,1,8);
en2 = BlockAvEn(rgbim2,8);

figure(1)
subplot(1,4,1)
imshow(I);
title([‘原始图像:’,num2str(en)])

subplot(1,4,2)
imshow(rgbim0);
title([‘全局同态滤波:’,num2str(en0)])

subplot(1,4,3)
imshow(rgbim1);
title([‘局部同态滤波:’,num2str(en1)])

subplot(1,4,4)
imshow(rgbim2);
title([‘分块同态滤波:’,num2str(en2)])
function en = BlockAvEn(I,block)
%局部平均信息熵
% en = BlockAvEn(I,block)
% I:输入图像
% block:分块大小
en = 0;
[row,col,channel] = size(I);
% 块的大小为MbNb
Mb = block; Nb = block;
rb = floor(row/Mb); cb = floor(col/Nb);
for c = 1:channel
im = I(:,:,c);
for i =1:rb
for j = 1:cb
temp = im((i-1)Mb+1:iMb , (j-1)Nb+1:jNb);
en = en + entropy(temp);
end
end
end
en = en/(rb
cb*channel);
end

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]李连志,邢川.基于同态滤波的平面视觉图像色彩增强算法[J].计算机仿真. 2021,38(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值