一,imadjust函数(改变图像的对比度)

首先有必要了解一下imadjust函数,他的基本语法是:

J = imadjust(I,[low_in high_in],[low_out high_out],gamma)

此函数将图像I中的值映像到J中的新值,就是说把low_in和high_in之间的值映像到lowout 和high_out之间的值,而low_in以下的值和low_high以上的值被剪切掉了。

注意:上述in和out的输入和输出都在0-1之间,不管图片中数据类型是8还是16,如果是8,imadjust最后会乘255,16最后会乘65535.举个例子

imadjust(f,[0.5 0.75] [0 1]);

上述语句表示:该方法能将0.5-0.75之间的灰度级扩展到01 范围,这样处理的过程可以突出我们感兴趣的亮度带

gamma是指定描述I和J中的值之间关系的曲线形状,括号里的部分,除了I不能省略之外,其他的部分都可以省略,这时候:

J = imadjust(I,[low_in high_in],[low_out high_out]) %将 I 中的强度值映射到 J 中的新值,

以使 low_in 和 high_in 之间的值映射到 low_out 到 high_out 之间的值。

再简洁一点,

J= imadjust(I,[low_in high_in]) %将 I 中的强度值映射到 J 中的新值,

以使 low_in 和 high_in 之间的值映射到 0 到 1 之间的值。

在默认情况下:

J = imadjust(I) %将灰度图像 I 中的强度值映射到 J 中的新值。

默认情况下,imadjust 对所有像素值中最低的 1% 和最高的 1% 进行饱和处理。

此运算可提高输出图像 J 的对比度。

下面我们就开始实践了,我们对具体图像执行操作:

1.读入一张文件名为mm.jpg的图片并运行,

I=imread('mm.jpg');

imshow(I)图1

2.把彩色图像转换成灰度图像并运行。

J=rgb2gray(I);

imshow(J)图二

3.调整一下图像的对比度,注意这些代码是连贯的。

K = imadjust(J,[0.3 0.7],[]);

figure

imshow(K)图三

我们也可以直接做彩色图像的对比度变换,具体如下:

RGB = imread('football.jpg');

imshow(RGB)

图片见图一,我们继续对彩色图像执行如下操作:

RGB2 = imadjust(RGB,[.2 .3 0; .6 .7 1],[]);

figure

imshow(RGB2)

可以看出,图像此时具有鲜明的对比度。

二,imcomplement函数(对图像进行色彩反转)

继续对图像进行处理,

E= imcomplement(J);

imshowpair(J,E,'montage')

这里我们可以看到图像的色彩比较诡异,虽然在这里把图片处理的,但是这种技术在医学成像方面有很大的应用,只有在对比度很高的情况下,我们才能清晰的看见身体的骨骼等各种组织,有助于我们发现身体的病灶,不过这种图片往往有点恐怖,所以就不在这里展示了。

三,对数和对比度拉伸变换。

对数和对比度拉伸变换是进行动态范围处理的基本工具。对数变换通过如下表达式实现:

g=c*log(1+double(f))

表达式中的c是一个常数,对数变换的一项主要主要应用是压缩动态范围。例如,傅里叶频谱(后面会讲到)的范围为[0, 10] 或更高。当傅里叶频谱显示于已线性缩放至8比特的监视器上时,高值部分占优,从而导致频谱中低亮度值的可视细节丢失。通过计算对数,10的六次方左右的动态范围会降至14,从而就更便于我们的处理。

举例如下:

G=im2uint8(mat2gray(log(1+double(I))));

imshow(G)

可以看到图像G与原图像相比,在视觉方面的改善效果是非常明显的。

三,提高图片亮度

我们利用一个程序增强上面图片的亮度:

I = imread(‘1.jpg’); %读取图片

[m,n,k] = size(I); %读取图片大小

hsv = rgb2hsv(rgb); %颜色空间转换

H = hsv(:,:,1); % 色调

S = hsv(:,:,2); % 饱和度

V = hsv(:,:,3); % 亮度

for i = 1:m %遍历每一个像素点,可以根据需要选择自己需要处理的区域

for j = 1: n

hsv(i,j,3) =1.5* hsv(i,j,3); %1.5位需要增强的倍数,可以根据图片情况动态调整

end

end

I1 = hsv2rgb(hsv); %转为RGB,进行显示

imshow(I1)

这就是增强后的效果图,也可以直接乘以一个系数,这样也可以起到亮度增强的效果:

I = imread(‘1.jpg’);

imshow( 2*I); %

感兴趣的可以关注我,会持续更新matlab相关内容,欢迎入群学习。

matlab亮度平衡_MATLAB中图像的亮度变换相关推荐

  1. matlab标题斜体_Matlab中下标,斜体,及希腊字母的使用方法

    下面是Matlab官方列出来的Tex代码列表,包含了绝大部分的希腊字母和数学符号. Character Sequence Symbol Character Sequence Symbol Charac ...

  2. matlab中patch命令_matlab中图像块(patch)处理命令小结

    在使用MATLAB语言实现图像处理算法时,我们常常会遇到需要对图像块(patch)进行运算的情况.受到其他语言编程习惯的影响,循环通常是不假思索的第一选择.但由于matlab是利于矩阵运算的编程语言, ...

  3. 比double精度更高的数据类型_MATLAB中图像的数据类型

    一.几种图象的数据类型. 表中罗列了常见的数据类型及其含义: 输入图像,指定为数值标量.向量.矩阵或多维数组. 1.如果 I 是灰度或真彩色 (RGB) 图像,它可以是 uint8.uint16.do ...

  4. matlab ones函数_Matlab中相见恨晚的命令(持续更新)

      知乎上有个"有哪些让人相见恨晚的Matlab命令"的话题,很多答主提供的命令确实很实用,为了更方便大家的学习,我就知乎上的答案和我自己想到的都综合整理成了一篇文章,把我觉得很实 ...

  5. matlab 离散傅里叶变换_Matlab中的傅里叶变换

    两种一般的方法: 根据傅里叶变换的定义: ​ ​典型程序: t=0:1000; xt=sin(t).*exp(-0.02*t); %随时间变化的信号 (时间空间) subplot(2,1,1); pl ...

  6. matlab roundn函数_matlab中round函数具体用法

    展开全部 round函数 函数功能:四舍五入取整62616964757a686964616fe59b9ee7ad9431333365643661. 使用方法:B = round(A) 对数组A中每个元 ...

  7. matlab nan 无色_MATLAB中出现NAN怎么回事

    展开全部 NaN是Not-a-Number的简写,中文译为"非数",表示计算结果为不定. 关于32313133353236313431303231363533e58685e5aeb ...

  8. matlab seed函数_MATLAB中 STATE和SEED | 科研软件小站

    两种不同的随机数算法 seed是matlab4的,matlab5及以后用的是state seed 现在也是有的, 实际上现在用的随机数是伪随机数,由一定的规则产生 比如z_{k+1}=f(z_{k}) ...

  9. matlab roundn函数_MATLAB中,inv,plotmax,round这些函数的功能及问法。

    匿名用户 1级 2013-07-08 回答 .矩阵运算操作求矩阵的转置 (A)'求矩阵的逆 inv(A)求矩阵的模 det(A)2.数运算操作e的次方 exp(A)指数函数 exp(x) 以e为底数 ...

最新文章

  1. 问题总结两天来两场实习面试(中科创达、华为)
  2. Xamarin Android项目运行失败
  3. 报名 | 2019全球AI文创大赛开启项目征集!
  4. 51nod 最大M子段和系列
  5. centos tar安装mysql_centos系统通过tar.gz包安装mysql5.7.19
  6. Magento 获取原价格和打折价格 get Special price or Regular Price in magento
  7. 如何找到字符串中的最长回文子串?
  8. 音视频处理入门基础知识
  9. 基于互联网的环境影响评价数据服务平台
  10. 手机号测性别 微信男女检测原理解析 技术分享
  11. 电脑开机界面如何设置个性签名?
  12. 爬虫学习笔记1:爬虫基本概念
  13. Excel “不能在隐藏工作簿中编辑宏,请选定“取消窗口隐藏”命令以显示工作簿”
  14. 人保爱无忧易核版重疾险怎么样?好不好?
  15. 嵌入式烧写Linux内核,嵌入式linux 内核和根文件系统烧写方式简介
  16. 解决安装在虚拟机VMware的Ubuntu-18-04系统与主机之间的复制粘贴问题
  17. speedtree中文对照ppt_SpeedTree树木建模入门知识整理
  18. 企业服务已经火了5年了,你们想过没,到底啥叫企业服务
  19. C语言无符号双字节乘法,华为OJ机试标题:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...
  20. 【毕业设计】基于单片机的家庭智能监控系统 - 物联网 stm32 嵌入式

热门文章

  1. Python 在 Windows 下利用 face_recognition 和 OpenCV 实现人脸识别
  2. win10用android手柄游戏手柄,大白菜Win10系统告诉你如何在电脑中使用游戏手柄
  3. PS 图像调整算法——色调分离
  4. ZT 互联网——降级论
  5. python面试宝典之数据库
  6. 英特尔傲腾憋大招,将与Sapphire Rapids至强相伴而来
  7. 淋雨量matlab,人在雨中行走的淋雨量讨论
  8. 计算机毕业设计之java+ssm基于web的智能卤菜销售平台
  9. 抖音新锐发布:瞄准这届看脸的年轻人,找到唤醒“少年感”的密码
  10. 迷宫问题(八方向)c++