matlab调整图像亮度与对比度
时间: 2023-07-29 14:09:25 浏览: 1265
在MATLAB中,可以使用imadjust函数来调整图像的亮度和对比度。该函数可以将图像像素值的范围映射到指定的范围内,从而调整图像的亮度和对比度。
下面是一个示例代码,演示如何使用imadjust函数来调整图像的亮度和对比度:
```matlab
% 读入图像
I = imread('example.jpg');
% 调整图像亮度和对比度
J = imadjust(I, [0.2, 0.8], [0.1, 0.9]);
% 显示原图和调整后的图像
subplot(1,2,1), imshow(I)
title('原图')
subplot(1,2,2), imshow(J)
title('调整后的图像')
```
在上面的代码中,第二行读入了一张名为example.jpg的图像。第四行使用imadjust函数来调整图像的亮度和对比度,其中[0.2, 0.8]表示将原图像像素值范围映射到[0.2, 0.8]范围内,[0.1, 0.9]表示将映射后的像素值范围再次映射到[0.1, 0.9]范围内。最后两行将原图和调整后的图像显示在同一窗口中。
相关问题
MATLAB计算图像亮度、对比度、锐度
计算图像的亮度、对比度和锐度可以使用MATLAB中的一些函数来实现。
1. 亮度
图像亮度代表图像的明暗程度,可以使用MATLAB中的imadjust函数来调整图像亮度。imadjust函数可以通过调整图像的灰度级范围来改变图像的亮度。
例如,以下代码将图像的亮度增加50%:
```
I = imread('image.jpg');
J = imadjust(I, [ ], [0.5 1]);
imshow(J);
```
2. 对比度
图像对比度代表图像中颜色之间的差异程度,可以使用MATLAB中的imadjust函数来调整图像对比度。imadjust函数可以通过调整图像的灰度级范围和调整斜率和截距来改变图像的对比度。
例如,以下代码将图像的对比度增加50%:
```
I = imread('image.jpg');
J = imadjust(I, [ ], [ ], 1.5);
imshow(J);
```
3. 锐度
图像锐度代表图像中边缘和细节的清晰程度,可以使用MATLAB中的imsharpen函数来增强图像的锐度。imsharpen函数可以通过增强图像的高频部分来增加图像的锐度。
例如,以下代码将图像的锐度增加50%:
```
I = imread('image.jpg');
J = imsharpen(I, 'Amount', 0.5);
imshow(J);
```
注意:以上函数的参数可以根据具体需求进行调整,以达到最佳效果。
matlab只调整图像亮度,不调整对比度
在MATLAB中,如果你想只调整图像的亮度而不改变其对比度,可以使用`imadjust`函数。这个函数可以调整图像的整体亮度范围,而保留原图像的灰度分布特性,不会影响颜色的相对强度差异(即对比度)。基本语法如下:
```matlab
new_image = imadjust(original_image, [lower_percent upper_percent], gamma);
```
其中:
- `original_image` 是你要调整的原始图像。
- `[lower_percent upper_percent]` 是新的亮度范围,通常是0到100%之间的一个比例,比如[0 200]可以大大增加亮度。
- `gamma` 可选参数,非线性变换的伽马值,默认为1,如果设置为非1值,会应用一个幂律增强效果。
注意,如果你只想单纯提升亮度而不做其他调整,可以将`gamma`设为1,并省略`lower_percent`和`upper_percent`,仅传递原始图像:
```matlab
brightened_image = imadjust(original_image);
```
阅读全文