当前位置: 首页 > article >正文

【数字图像处理+MATLAB】解决 imshow 函数图像显示亮度异常问题:自动调整亮度范围使图像能正确显示

问题描述

在MATLAB中,使用imshow函数进行图像显示时,图片亮度显示异常。

imshow(im_avg);

执行上述代码后,得到的图片亮度异常,如下图所示:

亮度异常的图片


原因分析

在MATLAB中,imshow函数的亮度显示规则是基于图像数据的类型来决定的。如果在调用imshow函数时,未明确指定亮度范围,那么函数会根据图像数据的类型,采用默认的亮度范围。

  • 对于uint8(无符号8位整数)类型的图像数据,imshow默认的亮度范围是0到255。
  • 对于uint16(无符号16位整数)类型的图像数据,imshow默认的亮度范围是0到65535。
  • 对于doublesingle类型的图像数据,imshow默认的亮度范围是0.0到1.0。

当图像数据的实际亮度范围与imshow的默认范围不一致时,就可能出现图片显示过亮或过暗的情况。例如,对于一个double类型的图像,其像素值的范围是0到255,如果直接使用imshow(I)进行显示,由于imshow会将所有大于1的像素值都显示为白色,因此图片会显示过亮。在这种情况下,应使用imshow(image, [])来自动调整亮度范围,使图像能够正确显示。


解决方案

在调用imshow函数时,添加第二个参数[],以自动调整亮度范围。修改后的代码如下:

imshow(im_avg, []);

执行修改后的代码,图片能够正常显示,如下图所示:

正常显示的图片


http://www.kler.cn/a/385989.html

相关文章:

  • oneplus3t-Lineage16.1-Android.bp
  • C++中特殊类设计/单例模式
  • 设计模式(四)装饰器模式与命令模式
  • 《基于Oracle的SQL优化》读书笔记
  • 插入排序——希尔排序
  • Android ART知多少?
  • Python中的数据类(dataclass):简化类的定义与数据管理的全面指南
  • 【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】题库(2)
  • 订单日记助力“实峰科技”提升业务效率
  • 米家通过HomeAssistant控制笔记本电脑开关机
  • TVM计算图分割--分割方式
  • QT Widget:使用技巧
  • CSS3中的2D变换(位移、缩放、旋转、扭曲、多重变换、变换原点)
  • 公共命名空间:内置名
  • 技术速递|GitHub Copilot upgrade assistant for Java 技术预览发布!
  • 大数据专业为什么要学习Hadoop课程
  • 【C++】——继承
  • AWS EC2镜像费用详解:什么是免费的,什么是收费的?
  • 信息安全工程师(76)网络安全应急响应技术原理与应用
  • 【Vue】简易博客项目跟做
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十二:在屏幕上显示多路视频播放,可以有不同的分辨率,格式和帧率。
  • 高活跃社区 Doge 与零知识证明的强强联手,QED 重塑可扩展性
  • Programming language theory 编程语言理论-05-curring 柯里化
  • UniTask/Unity的PlayerLoopTiming触发顺序
  • c语言--数组
  • Linux命令学习,diff 命令