【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用)

本文主要是介绍【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用)

在空间域中,图像处理就是直接对图像的像素进行操作
在这里插入图片描述
imadjust 是 MATLAB 中用于调整图像强度值或颜色图的函数。它可以改变图像的对比度,使得图像更清晰或更易于分析。以下是 imadjust 函数的一些常见用法和参数:

  • 基本用法:

J = imadjust(I):将灰度图像 I 中的强度值映射到新的图像 J 中。默认情况下,imadjust 对所有像素值中最低的 1% 和最高的 1% 进行饱和处理,将这些像素值线性映射到 0 到 1 之间的值,从而提高输出图像的对比度。

>> I = imread('pout.tif');
>> J = imadjust(I); 
>> figure(1);imshow(I);figure(2);imshow(J);

在这里插入图片描述

  • 指定对比度范围:

J = imadjust(I, [low_in high_in]):将 I 中的强度值映射到 J 中的新值,使得 low_in 和 high_in 之间的值线性映射到 0 到 1 之间的值。
J = imadjust(I, [low_in high_in], [low_out high_out]):将 I 中的强度值映射到 J 中的新值,使得 low_in 和 high_in 之间的值线性映射到 low_out 到 high_out 之间的值。

>> K = imadjust(I, [0.3 0.7], []);
>> figure(3);imshow(K);

在这里插入图片描述

  • 非线性映射:

J = imadjust(I, [low_in high_in], [low_out high_out], gamma):除了线性映射外,可以通过指定 gamma 参数来实现非线性映射。gamma 描述了输入和输出值之间关系的曲线形状。

>> F = imadjust(I, [0.3, 0.7], [0, 1], 1);
>> figure(4);imshow(F);
>> F1 = imadjust(I, [0.3, 0.7], [0, 1], 2);
>> figure(5);imshow(F1);
>> F2 = imadjust(I, [0.3, 0.7], [0, 1], 0.5);
>> figure(6);imshow(F2);

在这里插入图片描述
在这里插入图片描述

  • 彩色图像和颜色图:

J = imadjust(RGB, [low_in high_in], ___):将真彩色图像 RGB 中的值映射到 J 中的新值。您可以为每个颜色通道应用相同的映射或互不相同的映射。

>> RGB = imread('football.jpg');
>> RGB2 = imadjust(RGB, [.2 .3 0; .6 .7 1], []);
>> figure(1);imshow(RGB);figure(2);imshow(RGB2);

在这里插入图片描述

  • 其他用法:

newcmap = imadjust(cmap, [low_in high_in], ___):将颜色图 cmap 中的值映射到新的颜色图 newcmap 中。

  • 基于标准差的图像对比度拉伸:
>> I = imread('pout.tif');
n = 2;
Idouble = im2double(I);
avg = mean2(Idouble);
sigma = std2(Idouble);
J = imadjust(I, [avg-n*sigma avg+n*sigma], []);
>> figure(1);imshow(I);figure(2);imshow(J);

在这里插入图片描述

这篇关于【数字图像处理matlab系列】空间域处理之亮度变换(imadjust函数使用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/877292

相关文章

Java中的getBytes()方法使用详解

《Java中的getBytes()方法使用详解》:本文主要介绍Java中getBytes()方法使用的相关资料,getBytes()方法有多个重载形式,可以根据需要指定字符集来进行转换,文中通过代... 目录前言一、常见重载形式二、示例代码三、getBytes(Charset charset)和getByt

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

Spring框架中@Lazy延迟加载原理和使用详解

《Spring框架中@Lazy延迟加载原理和使用详解》:本文主要介绍Spring框架中@Lazy延迟加载原理和使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、@Lazy延迟加载原理1.延迟加载原理1.1 @Lazy三种配置方法1.2 @Component

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

使用Java编写一个字符脱敏工具类

《使用Java编写一个字符脱敏工具类》这篇文章主要为大家详细介绍了如何使用Java编写一个字符脱敏工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、字符脱敏工具类2、测试工具类3、测试结果1、字符脱敏工具类import lombok.extern.slf4j.Slf4j

pandas DataFrame keys的使用小结

《pandasDataFramekeys的使用小结》pandas.DataFrame.keys()方法返回DataFrame的列名,类似于字典的键,本文主要介绍了pandasDataFrameke... 目录Pandas2.2 DataFrameIndexing, iterationpandas.DataF

使用Python和PaddleOCR实现图文识别的代码和步骤

《使用Python和PaddleOCR实现图文识别的代码和步骤》在当今数字化时代,图文识别技术的应用越来越广泛,如文档数字化、信息提取等,PaddleOCR是百度开源的一款强大的OCR工具包,它集成了... 目录一、引言二、环境准备2.1 安装 python2.2 安装 PaddlePaddle2.3 安装

Kotlin运算符重载函数及作用场景

《Kotlin运算符重载函数及作用场景》在Kotlin里,运算符重载函数允许为自定义类型重新定义现有的运算符(如+-…)行为,从而让自定义类型能像内置类型那样使用运算符,本文给大家介绍Kotlin运算... 目录基本语法作用场景类对象数据类型接口注意事项在 Kotlin 里,运算符重载函数允许为自定义类型重

嵌入式Linux之使用设备树驱动GPIO的实现方式

《嵌入式Linux之使用设备树驱动GPIO的实现方式》:本文主要介绍嵌入式Linux之使用设备树驱动GPIO的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、设备树配置1.1 添加 pinctrl 节点1.2 添加 LED 设备节点二、编写驱动程序2.1

一文带你搞懂Redis Stream的6种消息处理模式

《一文带你搞懂RedisStream的6种消息处理模式》Redis5.0版本引入的Stream数据类型,为Redis生态带来了强大而灵活的消息队列功能,本文将为大家详细介绍RedisStream的6... 目录1. 简单消费模式(Simple Consumption)基本概念核心命令实现示例使用场景优缺点2