一、图像增强技术简介

图像增强
图像增强是对图像的某些特征,如边缘、轮廓、对比度等进行强调或锐化,以便于显示、观察或进一步分析与处理。通过对图像的特定加工,将被处理的图像转化为对具体应用来说视觉质量和效果更“好”或更“有用”的图像。
图像增强是最基本最常用的图像处理技术,常用于其他图像处理的预处理阶段。

(1)高通平滑、低通锐化;平滑模糊、锐化突出图像细节
(2)滤波器还有带通、带阻等形式
(3)根据噪声(椒盐噪声、高斯噪声…)的不同,选用不同的滤波
(4)邻域有4-邻域、对角邻域、8-邻域,相对应的有邻接,即空间上相邻、像素灰度相似
(5)图像边缘处理:忽略不处理、补充、循环使用
(6)目前尚未图像处理大多基于灰度图像

传统的Retinex算法采用高斯函数作为其环绕函数,将MSR算法中的高斯函数用双边滤波函数代替,双边滤波与高斯滤波相比,可以同时增强空域和时域的平滑性,避免了高斯滤波的误判问题,可以更好地保持图像的边缘信息,使得处理后的图像边缘更加光滑连续,还能在一定程度上解决图像的光晕问题。其中sigma_s取值为[15 70 110],其中sigma_r取值为[0.05 0.10 0.15]。
为了使图像的色彩更加自然,对经过双边滤波处理后的入射分量进行伽马变换,其中C =0.77;Gamma =[0.05 0.1 0.3]。

二、部分源代码

clear all;%clear the values
clc;%clear the command window
tic
strhead = '5';%the name of file
strtail = '.bmp' ;% the format of the file
str = strcat(strhead,strtail);
img = im2double(imread(str));%read the image and convert to double.
N = 15;%the size of filter
sigma = [100 , 0.3];%the parameters of bilateral filter
retimg = bialteral(img , N , sigma );%get the illumination imagesubplot(1,3,1);imshow(img);title('the original image');
subplot(1,3,2);imshow(retimg);title('the illumination image');%% s-l
img_copy = rgb2hsv(img);
img_copy3 = log(img_copy(:,:,3));
retimg_copy = rgb2hsv(retimg);
retimg_copy3 = log(retimg_copy(:,:,3));%only to v layer
r_img = img_copy3 - retimg_copy3;
r_img = exp(r_img);
N = 4;
sigma = [100,0.3];
retinex_img(:,:,3) = bialteral2(r_img,N,sigma);%get reflect imagedim = size(img);
for i = 1:dim(1)for j = 1:dim(2)        img_copy(i,j,3) = img_copy(i,j,3)^(1/3);         end
end
retinex_img(:,:,3) = retinex_img(:,:,3).*(img_copy(:,:,3));retinex_img(:,:,1) = img_copy(:,:,1);
retinex_img(:,:,2) = img_copy(:,:,2);
retinex_img = hsv2rgb(retinex_img);
function retimg = bialteral(img ,N ,sigma)
%% colorspace transformationimg = rgb2hsv(img);%convert rgb to hsv colorspace in order to process%% pre-computer domain filtering
sigma_d = sigma(1);
sigma_r = sigma(2);
[X,Y] = meshgrid(-N:N,-N:N);%generate two matrix
D = exp(-(X.^2+Y.^2)/(2*sigma_d^2));%domain weights with Euclidean distance%% create waitbar
h = waitbar(0,'illumination retinex algorithm……');
set(h,'Name','Illumination Retinex');%% rang filtering in v layer
dim = size(img);%dim=[height,length,3]
B = zeros(dim);%create an image B with the same size and dimension with the zero value.
for i = 1:dim(1)for j = 1:dim(2)iMin = max(i-N,1);iMax = min(i+N,dim(1));jMin = max(j-N,1);jMax = min(j+N,dim(2));L = img(iMin:iMax,jMin:jMax,3);%extract the local regiond = L-img(i,j,3);%the dissimilarity between the surroud and centerR = exp(-(d.^2)/(2*sigma_r^2));%range filter weightsF = R.*D((iMin:iMax)-i+N+1,(jMin:jMax)-j+N+1);%its row is from iMin-i+N+1 to iMax-i+N+1,and so as linefor m = 1:iMax-iMin+1for n = 1:jMax-jMin+1if d(m,n) < 0F(m,n) = 0;endendendnorm_F = sum(F(:));B(i,j,3) = sum(sum(F.*L))/norm_F;retimg(i,j,1) = img(i,j,1);retimg(i,j,2) = img(i,j,2);retimg(i,j,3) = B(i,j,3);endwaitbar(i/dim(1));
end
close(h);%close the bar

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

【图像增强】基于matlab HSV空间双边滤波图像去雾【含Matlab源码 067期】相关推荐

  1. Python基于OpenCV的图像去雾算法[完整源码&部署教程]

    1.图片识别 2.视频展示 [项目分享]Python基于OpenCV的图像去雾算法[完整源码&部署教程]_哔哩哔哩_bilibili 3.算法原理 图像增强算法常见于对图像的亮度.对比度.饱和 ...

  2. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  3. 【Matlab车牌识别】停车计费系统【含GUI源码 735期】

    一.代码运行视频(哔哩哔哩) [Matlab车牌识别]停车计费系统[含GUI源码 735期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MATLA ...

  4. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  5. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  6. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  7. 【Matlab水果识别】自助水果超市【含GUI源码 594期】

    一.代码运行视频(哔哩哔哩) [Matlab水果识别]自助水果超市[含GUI源码 594期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]倪云峰,叶健,樊娇娇 ...

  8. 【图像增强】基于人工多重曝光融合AMEF实现图像去雾附matlab代码

    1 简介 Bad weather conditions can reduce visibility on images acquired outdoors, decreasing their visu ...

  9. 【图像融合】基于matlab导向滤波图像融合【含Matlab源码 1959期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像融合]基于matlab导向滤波图像融合[含Matlab源码 1959期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  10. 双边滤波去雾matlab,基于双边滤波的去雾算法.doc

    基于双边滤波的去雾算法 中图法分类号:TP391.41 文献标识码:A 文章编号:1006-8961(2013) - - 论文引用格式: 基于双边滤波的图像去雾 王一帆1 ,尹传历2,黄义明1 , 王 ...

最新文章

  1. 全新算法助机器学习抵抗干扰
  2. PHP开发移动端接口(增强版)
  3. free是自由,不是免费,从王开源说起
  4. 揭秘硅谷进化历程:机遇无穷 成功需付出更高代价
  5. WeChat之小工具:基于C++程序代码设计的查看微信撤销、撤回消息(包括文本、图片、视频等)GUI小工具
  6. php里的抽象类和接口
  7. 深入理解Auto Layout 第一弹
  8. 电脑怎么连蓝牙耳机_三星蓝牙耳机怎么样 三星蓝牙耳机使用说明
  9. Python 爬虫 —— BeautifulSoup
  10. 190319每日一句
  11. 深入解析Windows操作系统(一)概念和工具
  12. 计算机人工智能领域英文文献,人工智能 英文文献译文
  13. 【C++学习五】STL库的应用
  14. 翟菜花:搭上营销快通车的乳业,又是如何玩转互联网营销时代的?
  15. 用免费新浪云sea搭建个人云服务器
  16. python爬取58同城的兼职信息
  17. POJ 3264.Balanced Lineup-RMQ(ST)详解
  18. cgb2007-京淘day02
  19. 全国OSTA计算机高新技术SQLSever数据库四级证书--考证复习知识点集合(附下载地址)
  20. 计算机视觉之目标检测与轨迹追踪

热门文章

  1. poj1273:Drainage Ditches
  2. 2017.5.26暴力赛解题报告
  3. [html] 回到页首
  4. Atitit it sftwr dev 原则准则 principle 目录 第一章 简单原则 kiss 1 第一节 . You Ain’t Gonna Need It(YAGNI)避免过度设计 1
  5. Atitit 提升开发效率 设计简化 目录 1. 防止过度设计 1 2. 优先使用db和os的自带功能,防止垃圾代码膨胀 2 2.1. 定时调度,优先使用db定时和os的cron定时 2 2.2
  6. Atitit 大数据索引技术attilax总结 目录 1. 面临的问题 2 1.1. 找到太多数据 2 1.2. 不支持多字段搜索 2 1.3. 不支持模糊搜索 2 1.4. 聚合搜索 2 1.5
  7. Atitti 存储引擎支持的国内点与特性attilax总结
  8. Atitit 热更新资源管理器 自动更新管理器 功能设计
  9. Atitit.dart语言的特性  编译时js语言大总结
  10. paip.解决 数据库mysql增加列 字段很慢添加字段很慢