(一)空域图像增强:几何点操作及MATLAB实现

空域指像素位置所在的空间,一般看作图像的原始空间。空域图像增强指直接作用于像素,在图像空间的增强。在空域增强中分为点操作和模板操作。点操作还可以分为几何点操作和灰度点操作。

几何点操作主要借助像素的坐标变换来改变像素位置,以此来改变图像获得增强效果。

图像坐标变换

图像坐标变换是一种位置映射操作,常见的图像坐标变换有:
(一个像素点的坐标可记为(x,y),如使用齐次坐标,则可记为(x,y,1),也可以用矢量表示记为[x,y,1])

  1. 平移变换
    在这里插入图片描述

  2. 放缩变换
    在这里插入图片描述

  3. 旋转变换
    在这里插入图片描述

  4. 拉伸变换
    拉伸变换是一种在一个方向上放大而在另一个方向上缩小的变换,是一种特殊的缩放变换。
    在这里插入图片描述

  5. 剪切变换
    剪切变换是水平坐标或垂直坐标之一发生平移变换。
    在这里插入图片描述

  6. 反变换
    平移、放缩、旋转变换的反向进行。

  7. 变换级联
    多个不同变换连续进行,变换次序之间一般不可以互换。

用MATLAB实现:

%% 图像坐标变换
% 平移、放缩、旋转
clc,clear
I = imread('lenna1.jpg');
figure(1);imshow(I);title('原图像');
[M,N] = size(I);%获取原始图像大小
I = double(I);
%% 平移变换
Tx = 50;%X轴平移量
Ty = 50;%Y轴平移量
T =[1 0 Tx;0 1 Ty;0 0 1];%平移变换矩阵
I1 = zeros(M,N);%构造结果矩阵
for i = 1 : M
    for j = 1 : N
        temp1 = [i;j;1];
        temp1 = T * temp1;
        x1 = temp1(1,1);
        y1 = temp1(2,1);
        % 判断变换后的位置是否越界
        if(x1 <= M) && (y1 <= N) && (x1 >= 1) && (y1 >= 1)
             I1(i,j) = I(x1,y1);
        end
    end
end
figure(2);imshow(uint8(I1));title('平移后图像');
%% 放缩变换
Sx = 2;%放缩系数Sx
Sy = 2;%放缩系数Sy
S = [1/Sx 0 0;0 1/Sy 0;0 0 1];%放缩变换矩阵
I2 = zeros(M * Sx,N * Sy);%构造结果矩阵
for i = 1 : M * Sx
    for j = 1 : N * Sy
        temp2 = [i;j;1];
        temp2 = S * temp2;
        x2 = uint16(temp2(1,1));
        y2 = uint16(temp2(2,1));
        % 判断变换后的位置是否越界
        if(x2 <= M) && (y2 <= N) && (x2 >= 1) && (y2 >= 1)
             I2(i,j) = I(x2,y2);
        end
    end
end
figure(3);imshow(uint8(I2));title('放缩后图像');
%% 旋转变换
r = 45 * 3.1415926 / 180.0; % 旋转角度
R = [cos(r) sin(r) 0; -sin(r) cos(r) 0; 0 0 1]; % 旋转变换矩阵
I3 = zeros(M,N); % 构造结果矩阵。每个像素点默认初始化为0(黑色)
for i = 1 : M
    for j = 1 : N
        temp3 = [i;j;1];
        temp3 = R * temp3;% 矩阵乘法
        x3 = uint16(temp3(1, 1));
        y3 = uint16(temp3(2, 1));
        % 变换后的位置判断是否越界
        if (x3 <= M) && (y3 <= N) && (x3 >= 1) && (y3 >= 1)
            I3(i, j) = I(x3, y3);
        end
    end
end
figure(4);imshow(uint8(I3)); title('旋转后图像');
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值