(1) 直接对像素乘以一个实数的倍数n来对图像(tower.png)的亮度进行一个整体的提升,其中n=2,n=4,n=5,注意灰度值超出255的区域还是以255来显示。 (2) 对灰度图tower.png进行一个反转显示。 (3) 对一个灰度图像进行线性变换pout.png,首先利用imhist观察图像的直方图,然后利用imadjust函数对图像0%到30%灰度值区间内的像素值映射到0~100%之间。超过[0,30%]这个区间的灰度值被映射为0和100%灰度值这两个值。用MATLAB
时间: 2023-11-28 19:48:43 浏览: 143
来实现以上三个操作可以按照以下步骤进行:
(1) 对图像亮度进行提升:
```matlab
% 读取图像
img = imread('tower.png');
% 提升亮度的倍数
n = 5;
% 对图像的像素值进行n倍的放大,超出255的区域以255来显示
img_enhanced = min(n * img, 255);
% 显示原图和处理后的图像
figure;
subplot(1,2,1), imshow(img);
title('Original Image');
subplot(1,2,2), imshow(img_enhanced);
title(['Enhanced Image (n=', num2str(n), ')']);
```
(2) 对图像进行反转显示:
```matlab
% 读取图像
img = imread('tower.png');
% 将像素值取反
img_inverted = 255 - img;
% 显示原图和处理后的图像
figure;
subplot(1,2,1), imshow(img);
title('Original Image');
subplot(1,2,2), imshow(img_inverted);
title('Inverted Image');
```
(3) 对图像进行线性变换:
```matlab
% 读取图像
img = imread('pout.png');
% 统计图像的直方图
[counts, bins] = imhist(img);
% 将灰度值范围在0~30%之间的像素值映射到0~100%之间,
% 超过这个范围的像素值被映射为0和100%灰度值这两个值
img_adjusted = imadjust(img, [0, 0.3], [0, 1]);
% 显示原图和处理后的图像及其直方图
figure;
subplot(2,2,1), imshow(img);
title('Original Image');
subplot(2,2,2), imhist(img);
title('Original Histogram');
subplot(2,2,3), imshow(img_adjusted);
title('Adjusted Image');
subplot(2,2,4), imhist(img_adjusted);
title('Adjusted Histogram');
```
阅读全文