zoukankan      html  css  js  c++  java
  • 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

    原图:
    这里写图片描述

    效果图:

    这里写图片描述

    这里写图片描述

    这里写图片描述

    这里写图片描述

  • 相关阅读:
    PHP fread() 函数
    PHP fputs() 函数
    PHP fputcsv() 函数
    PHP fpassthru() 函数
    分区表基本类型
    C# const 和 readonly 有什么区别
    win2d 画出好看的图形
    win2d 画出好看的图形
    win2d 渐变颜色
    win2d 渐变颜色
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9412574.html
Copyright © 2011-2022 走看看