对给定图像进行高通处理算法matlab代码
时间: 2023-08-03 07:06:55 浏览: 45
高通滤波可以增强图像的高频细节信息,以下是一种基于拉普拉斯算子的高通处理算法的 MATLAB 代码:
```matlab
% 读入图像
img = imread('input.jpg');
% 定义拉普拉斯算子
laplacian = [0 -1 0; -1 4 -1; 0 -1 0];
% 对图像进行卷积操作
img_lap = imfilter(img, laplacian);
% 调整图像的亮度范围
img_lap = img_lap + 128;
% 显示原图和处理后的图像
subplot(1,2,1),imshow(img);
title('Original Image');
subplot(1,2,2),imshow(img_lap);
title('High-Pass Filtered Image');
```
代码中,首先使用 imread 函数读入图像,然后定义拉普拉斯算子,即一个 $3 \times 3$ 的矩阵。接着,使用 imfilter 函数对图像进行卷积操作,得到高通滤波后的图像。最后,为了让图像在显示时更加清晰,将图像的亮度范围调整到 0-255 之间。最后使用 subplot 和 imshow 函数将原图和处理后的图像显示在同一张图中。
相关问题
对给定图像进行低通处理算法matlab代码
低通滤波可以平滑图像,保留图像中的较低频率信息,以下是一种基于高斯滤波器的低通处理算法的 MATLAB 代码:
```matlab
% 读入图像
img = imread('input.jpg');
% 定义高斯滤波器
G = fspecial('gaussian', [5 5], 2);
% 对图像进行卷积操作
img_gaus = imfilter(img, G, 'same');
% 显示原图和处理后的图像
subplot(1,2,1),imshow(img);
title('Original Image');
subplot(1,2,2),imshow(img_gaus);
title('Low-Pass Filtered Image');
```
代码中,首先使用 imread 函数读入图像,然后使用 fspecial 函数定义一个高斯滤波器,该滤波器的大小为 $5 \times 5$,方差为 2。接着,使用 imfilter 函数对图像进行卷积操作,得到低通滤波后的图像。最后使用 subplot 和 imshow 函数将原图和处理后的图像显示在同一张图中。
对给定图像进行显示还原图像算法matlab代码
这里提供一个简单的图像显示和还原的matlab代码示例:
```
% 读取图像
I = imread('image.jpg');
% 显示图像
figure;
imshow(I);
title('原图像');
% 还原图像
J = imresize(I, 0.5); % 缩小图像
K = imresize(J, 2); % 放大图像
figure;
imshow(K);
title('还原后的图像');
```
这段代码中,我们首先使用`imread`函数读取了一张图像,并使用`imshow`函数显示原图像。然后,我们使用`imresize`函数将原图像缩小了一半,并将缩小后的图像再放大回原来的尺寸,从而还原了原图像。最后,我们使用`imshow`函数显示还原后的图像。
当然,这只是一个简单的示例,实际应用中还原图像的方法要根据具体情况选择,如图像压缩、插值等方法。