不知道大家有没有使用这个函数时,出现结果异常、过曝的情况我在使用时,发现在官方文档中并未声明的细节。
结合开源的程序源码和实验结果发现该函数对矩阵进行处理时,会对参数指明的处理数据以外的内容进行调整,错误使用会导致图像异常过曝。

使用imadjust()

如果只是使用这个函数,不加除了被处理的图像外的其他参数,J = imadjust(I) 将灰度图像 I 中的强度值映射到 J 中的新值。这种情况下,imadjust 对所有像素值中最低的 1% 和最高的 1% 进行饱和处理。从而提高输出图像 J 的对比度。

我们来加上第一个参数,J = imadjust(I,[]),并对低位增强高位抑制

J = imadjust(I) 对高位增强,低位抑制

再添加参数
J = imadjust(I,[low_in high_in],[low_out high_out]) 将 I 中的强度值映射到 J 中的新值,以使 low_in 和 high_in 之间的值映射到 low_out 到 high_out 之间的值。我们把高位投影到低位试试

那么按照这个逻辑,分别进的高位投射到低位(逆序)、低位投射到高位(逆序)的效果叠加起来等同于一次高位投射到低位(逆序)
是这样吗?

第一种的结果显然比第二种的结果要明亮许多,这意味着第一种在叠加时,有些像素中有些数字变大了。为什么会出现这种结果呢?
实际上,adjust在将指定区间映射到对应区间后,还有其他操作。

我们打开工作区,看看矩阵中数字的实际变化情况

1、整体imadjust的数据符合预计,和原图的值相加等于255。
2、高位在进行置换时,不在高位的灰度值也发生了变化。
3、低位变换时,不在低位的同样变换。

可见,在使用imadjust()函数操作原图像的部分区间进行灰度调整时,并不仅仅只对这个区间的灰度进行处理,而完全不管其他区间的灰度,而是将其他部分的灰度值向映射目标区域外的部分也进行了处理,从结果上看,
当我的处理是将0-127的灰度值向128-255投影时,在处理完原图像的0-127部分之后,再将所有的超出127 的部分置为128,然后结束操作。
推广言之,就是处理为 [a,b]向[a1,b1]投影时,先按照投影给出的函数投影(没给出函数时,默认为一条直线),完成后,将原图中所有小于a的灰度值置为a-1,所有大于b的灰度值置为b+1;
分别处理和一次性处理完成会产生差异的原因就在于此

那么如何保证叠加效果预期一致呢?
可以看到,尽管进行了9段的叠加,结果图像中并未出现过曝的问题。解决办法很简单,在进行叠加之前,将所有处理范围外的数字,全都置0,剔除这些影响因素

Matlab中库函数imadjust()的使用细节相关推荐

  1. matlab中imadjust,matlab中imadjust函数的作用及应用举例

    imadjust简介 imadjust是一个计算机函数,该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵.在matlab的命令窗口中键入: doc imadjust或者help imadjust即可获 ...

  2. matlab计算方程fsolve,MATLAB解方程组中 solve 和 fsolve 的细节比较

    标签: MATLAB作为科研工作者的忠实伙伴,解各种复杂方程的性能与其他工具相比,自然不逞多让.本期盘点MATLAB中solve和fsolve两个函数在解方程中的优劣. 1. solve函数 语法: ...

  3. Matlab中图像函数大全

    Matlab中图像函数大全 图像增强 1. 直方图均衡化的 Matlab 实现 1.1 imhist 函数 功能:计算和显示图像的色彩直方图 格式:imhist(I,n)         imhist ...

  4. matlab fscanf %f,matlab中的fscanf函数

    fscanf| Matlab之print,fprint,fscanf,disp函数_电脑基础知识_IT/计算机_专业资料.print: print 函数可以把函数图形保存成图片: [plain] vi ...

  5. MATLAB中的分类器

    目前了解到的 MATLAB 中分类器有: K 近邻分类器,随机森林分类器,朴素贝叶斯,集成学习方法,鉴别分析分类器,支持向量机.现将其主要函数使用方法总结如下,更多细节需参考 MATLAB  帮助文件 ...

  6. matlab中的图像,MATLAB中图像的基本操作

    MATLAB中图像的基本操作 1.读取.显示图片 MATLAB中提供了immread()与imshow()函数读取和显示图片.其中读取函数imread()原型: imread: A= imread(f ...

  7. Matlab中配置LibSVM 总结

    1.参考网站: libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 视频:http://v.youku.com/v_showMini/id_XMjc ...

  8. matlab中删除照片_如何使用matlab从图像中删除划痕

    如果您知道划痕的位置,则此问题称为 inpainting,并且存在非常复杂的算法.因此,一种方法是尽可能好地检测划痕,然后在其上使用标准的修复算法.我在Mathematica中玩了一下你的形象: 首先 ...

  9. LIBSVM在MATLAB中的使用及SVM最优参数选取示例代码

    1. 参考网站: LIBSVM 库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/ https://www.csie.ntu.edu.tw/~cjlin/lib ...

最新文章

  1. asterisk源码目录结构
  2. NGINX(一)内存结构
  3. 迟来的2017年计划
  4. CCIE-LAB-第五篇-DHCP+DHCP-Realy+DHCP snooping
  5. ubuntu下u盘变成只读文件
  6. android 编译系统make文件
  7. Hibernate的表之间的关系
  8. ArcMap提取不规则线的坐标
  9. ai进入轮廓模式怎么退出_AI 绘图工具里,我不知道按了什么键一保存都是轮廓了!怎么办!怎样恢复呢?...
  10. 华工计算机工图答案,华南理工 网络画法几何及工程制图-课程习题集答案
  11. 十行代码替换证件照背景颜色
  12. gcf,gca自己理解
  13. MATLAB——网格图画法
  14. dns服务器配置错误无法修复,电脑DNS错误修复的方法教程
  15. 天地图key申请_国家地理信息公共服务平台 天地图
  16. 读书之乐 摘自《致青年朋友》
  17. Java接口实现打印机
  18. python quit函数作用_初识Python之基础知识
  19. pthon之异常、文件练习题
  20. qt mingw32编译项目报错:Nothing to be done for 'first'.

热门文章

  1. <Zhuuu_ZZ>设计模式—面向接口编程
  2. 量化分析入门2:上证指数走势图及移动平均线
  3. swift纯代码UITabBarController的使用
  4. DS1302时钟程序解读
  5. (三)零基础入门C语言 --- C语言之入门课程
  6. 3 在浏览器中查看请求报文和响应报文
  7. 在Excel工作簿中显示网络图片
  8. 采样定理 ADC采样
  9. 大数据产品研究 - Presto简介
  10. jsp网页嵌入PHP网页,JSP_(jsp/html)网页上嵌入播放器(常用播放器代码整理),这个其实很简单,只要在HTML上 - phpStudy...