PS 滤镜——Skewing

%%%%  Skewing

clc;
clear all;
close all;

addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');

Image=imread('4.jpg');

Image=double(Image);
theta=pi/9;    % 控制倾斜的角度
[row, col, layer]=size(Image);

% % % % % Horizontal Skewing
% % row_new=row;
% % col_new=floor(row*tan(theta))+1+col;
% % Image_new=zeros(row_new, col_new,3);
% % Trans=(row-1)*tan(theta);
% % for i=1:row
% %     Dis=(row-i)*tan(theta);
% %     for j=1:col_new
% %         y0=i;
% %         % x0=j+Dis-Trans;     %%%%% Left skew
% %         x0=j-Dis;             %%%%% Right skew
% %         if(x0>1 && x0<col)
% %         %     Image_new(i,j)=0;
% %         x1=floor(x0);
% %         p=x0-x1;
% %         Image_new(i,j,:)=(1-p)*Image(y0,x1,:)+p*Image(y0,x1+1,:);
% %         end
% %     end
% % end



% % % % % Vertical Skewing
col_new=col;
row_new=floor(col*tan(theta))+1+row;
 Image_new=zeros(row_new, col_new,3);
 Trans=(col-1)*tan(theta);
for j=1:col_new
    Dis=j*tan(theta);
        for i=1:row_new
            % y0=i+Dis-Trans;       %%%%% Left skew
            y0=i-Dis;           %%%%% Right skew
            x0=j;
            if(y0>1 && y0<row)
                %     Image_new(i,j)=0;
                y1=floor(y0);
                p=y0-y1;
                Image_new(i,j, : )=(1-p)*Image(y1,x0, : )+p*Image(y1+1,x0,:);
            end
    end
end

imshow(Image_new/255);
        


原图


水平 skew  theta=pi/6


垂直 skew theta=pi/9


转载于:https://www.cnblogs.com/muyuge/p/6152345.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值