matlab实现图像镜像

matlab实现图像镜像

镜像的目的是将图像进行翻转,镜像的模式有水平镜像,垂直镜像,水平垂直镜像。
matlab实现图像镜像_第1张图片
matlab实现镜像:

close all;           
clear all;
clc;
I=imread('test.png'); 
[ROW COL DIM] = size(I);

Ih = uint8(zeros(ROW, COL,DIM));%Horizontal mirroring
Iv = uint8(zeros(ROW, COL,DIM));%Vertical mirroring
Ihv = uint8(zeros(ROW, COL,DIM));

%水平镜像
for i =1:ROW
    for j=1:COL
        for k=1:DIM
        x = i;
        y = COL-j+1;
        z = k;
        Ih(x,y,z) =I(i,j,k);
        end
    end
end

%垂直镜像
for i =1:ROW
    for j=1:COL
        for k=1:DIM
        x = ROW-i+1;
        y = j;
        z = k;
        Iv(x,y,z) =I(i,j,k);
        end
    end
end

%水平垂直镜像
for i =1:ROW
    for j=1:COL
        for k=1:DIM
        x = ROW-i+1;
        y = COL-j+1;
        z = k;
        Ihv(x,y,z) =I(i,j,k);
        end
    end
end


figure,
subplot(221),imshow(I);title('原图');
subplot(222),imshow(Ih);title('水平镜像');
subplot(223),imshow(Iv);title('垂直镜像');
subplot(224),imshow(Ihv);title('水平垂直镜像');

matlab实现图像镜像_第2张图片

欢迎关注微信公众号:FPGA开源工作室
获取更多学习资料。
matlab实现图像镜像_第3张图片

你可能感兴趣的:(matlab之图像处理,matlab数字图像处理)