imadjust函数

imadjust是一个计算机函数,该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。

使用方法

J = imadjust(I)

灰度图像 I 中的亮度值映射到 J 中的新值,使得图像中 1% 的数据饱和至最低和最高亮度,这可以增加输出图像 J 的对比度值。此用法相当于 imadjust(I,stretchlim(I))

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

将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in 以下与 high_in 以上的值被剪切掉了,也就是说,low_in 以下的值映射到 low_out,high_in 以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[0 1]。

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

将图像 I 中的亮度值映射到 J 中的新值,其中 gamma指定描述值I和值J关系的曲线形状。如果gamma小于1,此映射偏重更高数值(明亮)输出,如果gamma大于1,此映射偏重更低数值(灰暗)输出,如果省略此参数,默认为(线性映射)。 《Simulink与信号处理》

newmap = imadjust(map,[low_in; high_in],[low_out; high_out],gamma)

调整索引色图像的调色板map。如果low_in, high_in, low_out, high_out 和 gamma 都是标量,那么对 r,g,b 分量同时都做此映射。对于每个颜色分量都有唯一的映射,当 low_in 和 high_in 同时为1*3向量或者 low_out 和 high_out 同时为1*3向量或者 gamma 为1*3向量时。调整后的颜色矩阵 newmap 和 map 有相同的大小。

RGB2 = imadjust(RGB1,...)

对 RGB 图像 RGB1 的红、绿、蓝调色板分别进行调整。随着颜色矩阵的调整,每一个调色板都有唯一的映射值。

### Matlab中imadjust函数的使用方法 `imadjust` 是 MATLAB 中用于调整图像灰度范围或增强对比度的函数。它通过线性变换或非线性变换(如伽马校正)将输入图像的像素值映射到指定的输出范围[^1]。 #### 函数语法 `imadjust` 的基本语法如下: ```matlab J = imadjust(I, [low_in; high_in], [low_out; high_out], gamma) ``` - **I**: 输入图像,可以是灰度图像或彩色图像。 - **[low_in; high_in]**: 指定输入图像的灰度范围,默认为 `[0; 1]`,表示整个灰度范围。 - **[low_out; high_out]**: 指定输出图像的灰度范围,默认为 `[0; 1]`。 - **gamma**: 控制灰度变换曲线的形状。当 `gamma < 1` 时,图像整体变亮;当 `gamma > 1` 时,图像整体变暗。默认值为 `1`,表示线性变换[^5]。 #### 参数说明 - **low_in 和 high_in**: 定义输入图像中需要调整的灰度范围。低于 `low_in` 的像素值被映射到 `low_out`,高于 `high_in` 的像素值被映射到 `high_out`。 - **low_out 和 high_out**: 定义输出图像的灰度范围。这些值决定了输入灰度范围如何被拉伸或压缩。 - **gamma**: 控制灰度变换曲线的非线性程度。如果 `gamma` 不为 `1`,则会引入非线性变换[^3]。 #### 示例代码 以下是一个完整的示例,展示如何使用 `imadjust` 调整图像亮度和对比度: ```matlab % 读取图像 f = imread('figure1.jpg'); % 将RGB图像转换为灰度图像 g = rgb2gray(f); % 使用默认参数进行灰度调整 A = imadjust(g); % 自定义参数进行灰度调整 B = imadjust(g, [0 1], [1 0], 1); % 显示结果 subplot(1, 3, 1); imshow(g); title('原始图像'); subplot(1, 3, 2); imshow(A); title('默认调整'); subplot(1, 3, 3); imshow(B); title('自定义调整'); ``` 在上述代码中: - 原始图像 `g` 被调整为新的灰度范围。 - 默认调整 (`A`) 使用默认参数 `[0 1]` 和 `[0 1]`。 - 自定义调整 (`B`) 将输入范围 `[0 1]` 映射到 `[1 0]`,并设置 `gamma = 1`[^3]。 #### 非线性变换示例 如果需要对图像进行非线性变换,可以通过设置 `gamma` 参数实现: ```matlab % 读取图像 I = imread('bule_sky.jpg'); % 使用不同的gamma值进行调整 J1 = imadjust(I, [0.1 1], [], 0.5); % gamma < 1,图像变亮 J2 = imadjust(I, [0.1 1], [], 1); % gamma = 1,线性变换 J3 = imadjust(I, [0.1 1], [], 2); % gamma > 1,图像变暗 % 显示结果 subplot(1, 3, 1); imshow(J1); title('Gamma = 0.5'); subplot(1, 3, 2); imshow(J2); title('Gamma = 1'); subplot(1, 3, 3); imshow(J3); title('Gamma = 2'); ``` 在上述代码中: - `gamma = 0.5` 时,图像靠近低灰度的部分被拉伸,图像整体变亮。 - `gamma = 1` 时,图像保持线性变换。 - `gamma = 2` 时,图像靠近高灰度的部分被拉伸,图像整体变暗[^5]。 ### 注意事项 - 如果输入图像为彩色图像,`imadjust` 会对每个颜色通道分别进行调整。 - 当 `gamma` 设置为非 `1` 时,灰度变换曲线是非线性的,可能会影响图像的视觉效果[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值