• PS滤镜— —波浪效果


        clc;
        clear all;
        close all;
    
        addpath('E:PhotoShop AlgortihmImage ProcessingPS Algorithm');
    
        I=imread('4.jpg');
        I=double(I);
        Image=I/255;
    
        xAmplitude = 25.0;
        yAmplitude = 25.0;
        xWavelength =32.0 
        yWavelength = 32.0;
    
        SINE=1;
        SAWTOOTH=2;
        TRIANGLE=3;
        NOISE=4;
    
        [height, width, depth]=size(Image);
    
        Image_new=Image;
    
        wavetype=1;
    
        [ind, g1, g2, g3]=init_arr();
    
    
        for ii=1:height
            for jj=1:width
    
                 nx = ii / xWavelength;
                 ny = jj / yWavelength;
    
                 switch wavetype
    
                     case 1
                         fx=sin(nx);
                         fy=sin(ny);
    
                     case 2
                         fx=mod(nx, 1);
                         fy=mod(ny, 1);
    
                     case 3
                         fx=triangle(nx);
                         fy=triangle(ny);
    
                     case 4
                         fx=Noise1(nx, ind, g1);
                         fy=Noise1(ny, ind, g1);
    
                 end
    
                 x=jj+xAmplitude * fx;
                 y=ii+yAmplitude * fy;
    
                 % %         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(ii,jj,:)=(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

    原图:
    这里写图片描述

    效果图:

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

  • 相关阅读:
    分组排序并显示序号
    power-design--tables-export-usage
    cache implement
    get system properties
    jbpm
    JVM内存管理机制和垃圾回收机制
    java读取excel
    Java编程中“为了性能”尽量要做到的一些地方
    json串与java对象互转
    apidoc的使用
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9412574.html
Copyright © 2020-2023  润新知