调用Matlab自带函数,实现图像的水平镜像、垂直镜像、对角镜像变换,并将变换前后的图像显示在一个figure中方便对比显示
时间: 2024-03-01 12:50:16 浏览: 35
下面是利用 Matlab 自带的函数实现图像的水平镜像、垂直镜像、对角镜像变换,并将变换前后的图像显示在一个figure中方便对比显示的 Matlab 代码:
```matlab
% 读入图像
img = imread('lena.png');
% 显示原图像
figure, imshow(img), title('Original Image');
% 图像水平镜像
h_flipped_img = flip(img, 2);
% 图像垂直镜像
v_flipped_img = flip(img, 1);
% 图像对角镜像
d_flipped_img = flip(img, [1, 2]);
% 在一个figure中显示变换前后的图像
figure,
subplot(2,2,1), imshow(img), title('Original Image');
subplot(2,2,2), imshow(h_flipped_img), title('Horizontally Flipped Image');
subplot(2,2,3), imshow(v_flipped_img), title('Vertically Flipped Image');
subplot(2,2,4), imshow(d_flipped_img), title('Diagonally Flipped Image');
```
在这个程序中,我们首先使用 `imshow` 函数显示原图像。然后,我们分别使用 `flip` 函数实现图像的水平镜像、垂直镜像、对角镜像变换,并将变换后的图像保存在 `h_flipped_img`、`v_flipped_img` 和 `d_flipped_img` 中。
最后,我们使用 `subplot` 函数在一个figure中显示变换前后的图像。我们将原图像显示在左上角的子图中,将水平镜像后的图像显示在右上角的子图中,将垂直镜像后的图像显示在左下角的子图中,将对角镜像后的图像显示在右下角的子图中。
你可以将这个程序保存为一个 Matlab 文件,比如 `image_flip.m`,然后在 Matlab 命令行中运行它。