PS 滤镜— —图像偏移

标签: photoshop算法
1539人阅读 评论(0) 收藏 举报
分类:
    clc;
    clear all;
    close all;

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

    I=imread('4.jpg');
    I=double(I);
    Image=I/255;

    xOffset=100;
    yOffset=200;
    warp=1;

    [height, width, depth]=size(Image);

    if (warp)
        while(xOffset<0)
            xOffset=xOffset+width;
        end
        while(yOffset<0)
            yOffset=yOffset+height;
        end

        xOffset=mod(xOffset, width);
        yOffset=mod(yOffset, height);
    end

    Image_new=Image;

    for i=1:height

        for j=1:width

            if (warp)
                x=mod(j+width-xOffset, width);
                y=mod(i+height-yOffset, height);
            else
                x=j-xOffset;
                y=i-yOffset;
            end

            if (x<=1)     x=1;  end
            if (x>=width)   x=width-1; end;
            if (y>=height)  y=height-1; end;
            if (y<1)  y=1;     end;


    % %         if (x<=1)     continue;  end
    % %         if (x>=width)   continue; end;
    % %         if (y>=height)  continue; end;
    % %         if (y<1)  continue;     end;

            x1=floor(x);
            y1=floor(y);
            p=x-x1;
            q=y-y1;

            Image_new(i,j,:)=(1-p)*(1-q)*Image(y1,x1,:)+p*(1-q)*Image(y1,x1+1,:)...
                +q*(1-p)*Image(y1+1,x1,:)+p*q*Image(y1+1,x1+1,:); 

        end
    end

    imshow(Image_new);
    imwrite(Image_new, 'out.jpg');

参考来源:http://www.jhlabs.com/index.html

原图:
这里写图片描述

效果图:

这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:590726次
    • 积分:8229
    • 等级:
    • 排名:第2532名
    • 原创:166篇
    • 转载:0篇
    • 译文:60篇
    • 评论:104条
    个人介绍
    专注于图像处理,计算机视觉,机器学习。渴望写出优美的代码与文字。走遍万水千山,在维数的世界里寻找各种可能。
    博客专栏