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

举报
海神之光 发表于 2022/05/29 01:31:17 2022/05/29
【摘要】 一、 图像增强技术简介 1 图像增强 图像增强是对图像的某些特征,如边缘、轮廓、对比度等进行强调或锐化,以便于显示、观察或进一步分析与处理。通过对图像的特定加工,将被处理的图像转化为对具体应用来说视觉质...

一、 图像增强技术简介

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);
% 块的大小为Mb*Nb
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:i*Mb , (j-1)*Nb+1:j*Nb);
            en = en + entropy(temp);
        end
    end
end
en = en/(rb*cb*channel);
end


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59

三、运行结果

在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]李连志,邢川.基于同态滤波的平面视觉图像色彩增强算法[J].计算机仿真. 2021,38(02)

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/121311336

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。