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;
    
        sz=size(Image);
    
        % set the parameters
        radius = 150; 
        angle = pi/4;   
        angle2=pi/4;
        sides=10;
        centerX = 0.5;   % set the center of the circle, proportion of the image size
        centerY = 0.5;
    
        iWidth=sz(2);
        iHeight=sz(1);
    
        icenterX=iWidth*centerX;
        icenterY=iHeight*centerY;
    
        Image_new=Image;
    
        for i=1:sz(1)
            for j=1:sz(2)
    
                dx=j-icenterX;
                dy=i-icenterY;
    
                r=sqrt(dy*dy+dx*dx);
                theta=atan2(dy, dx)-angle-angle2;
    
                temp_theta=theta/pi*sides*0.5 ;
                theta=triangle(temp_theta);
    
                if (radius)
                    c=cos(theta);
                    radius_c=radius/c;
                    r=radius_c * triangle(r/radius_c);
                end
    
                theta=theta+angle;
    
                x=r * cos(theta)+icenterX;
                y=r * sin(theta)+icenterY;
    
                if (x<=1)     x=1;  end
                if (x>=sz(2)) x=sz(2)-1; end;
                if (y>=sz(1)) y=sz(1)-1; end;
                if (y<1) y=1;     end;
    
        % % %         if (x<=1)     continue;  end
        % % %         if (x>=sz(2))   continue; end;
        % % %         if (y>=sz(1))  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

    原图:
    这里写图片描述

    效果图:

    这里写图片描述

    这里写图片描述

  • 相关阅读:
    poj 2947 Widget Factory 夜
    poj 1222 EXTENDED LIGHTS OUT 夜
    poj 3440 Coin Toss 夜
    poj 1166 The Clocks 夜
    poj 3270 Cow Sorting 夜
    poj 3071 Football 夜
    poj 2409 Let it Bead 夜
    poj 1141 Brackets Sequence 夜
    hdu 4311 Meeting point1 夜
    poj 1026 Chipher 夜
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9412581.html
Copyright © 2011-2022 走看看