• PS 滤镜— —挤压效果


        clc;
        clear all;
        close all;
    
        addpath('E:PhotoShop AlgortihmImage ProcessingPS Algorithm');
    
        I=imread('4.jpg');
        I=double(I);
        Image=I/255;
    
        angle = pi/4;
        centreX = 0.5;
        centreY = 0.5;
        radius=200;
        amount=0.75;
    
        [height, width, depth]=size(Image);
    
        Image_new=Image;
    
        icentreX = width * centreX;
        icentreY = height * centreY;
    
        if ( radius == 0 )
            radius=min(icentreX, icentreY);
        end
    
        radius2=radius*radius;
    
    
        for ii=1:height
    
            for jj=1:width
    
                dx = jj-icentreX;
                dy = ii-icentreY;
    
                distance = dx*dx + dy*dy;
    
                if (distance>radius2 || distance==0)
                    x=jj;
                    y=ii;
                else
                     d = sqrt( distance / radius2 );
                     t = sin( pi*0.5 * d ).^(-amount);
    
                    dx =dx* t;
                    dy =dy* t;
    
                    e = 1 - d;
                    a = angle * e * e;
    
                    s = sin( a );
                    c = cos( a );
    
                    x = icentreX + c*dx - s*dy;
                    y = icentreY + s*dx + c*dy;
                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(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

    原图:

    这里写图片描述

    效果图:

    这里写图片描述

  • 相关阅读:
    几种常见的树:排序二叉树、平衡二叉树、红黑树、B+树
    网关高可用
    微服务网关GateWay
    微服务网关Zuul
    客户端容错保护Alibaba Sentinel
    客户端容错保护Hystrix
    服务调用Feign
    服务注册与发现Consul
    服务负载均衡调用Ribbon
    服务注册Eureka高级
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9412591.html
Copyright © 2020-2023  润新知