PS 滤镜— — 万花筒效果

原创 2015年09月13日 13:39:04

    clc;
    clear all;
    close all;

    addpath('E:\PhotoShop Algortihm\Image Processing\PS 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

原图:
这里写图片描述

效果图:

这里写图片描述

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Python: PS 滤镜--万花筒效果

本文用 Python 实现 PS 的一种滤镜效果,称为万花筒。也是对图像做各种扭曲变换,最后图像呈现的效果就像从万花筒中看到的一样: 图像的效果可以参考之前的博客: http://blog.csd...

从持续集成到弹性缩扩容:一个容器案例落地问题的思考(2017-04-12 陈俊凯 高可用架构)

容器是这两年最热的一个话题,去年大家都在谈 Mesos、Kubernetes、Swarm,究竟哪家的挖掘技术强,今年容器技术的进一步普及,更多的人更关心容器技术如何落地,下面我们就基于一个实际的案例来...
  • laowxl
  • laowxl
  • 2017年04月12日 17:11
  • 877

PS 滤镜— —Marble 效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜— —水波效果

clc; clear all; close all;addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');I=imread('...

PS 滤镜— —球面化效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜— — sparkle 效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS滤镜— —波浪效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜— —挤压效果

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...

PS 滤镜算法— — 表面模糊

图像的表面模糊处理,其作用是在保留图像边缘的情况下,对图像的表面进行模糊处理。在对人物皮肤处理上,比高斯模糊更有效。因为高斯模糊在使人物皮肤光洁的同时,也将一些边缘特征如脸部的眉毛、嘴唇等给模糊了,不...

PS 滤镜— —图像偏移

clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); I=imre...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PS 滤镜— — 万花筒效果
举报原因:
原因补充:

(最多只允许输入30个字)