1. %%% Vortex
  2. %%% 漩涡效果
  3. clc;
  4. clear all;
  5. close all;
  6. addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');
  7. I=imread('4.jpg');
  8. Image=double(I);
  9. [row, col,channel]=size(Image);
  10. R=floor(max(row, col)/2);
  11. Image_new=Image;
  12. Degree=45;
  13. Center_X=(col+1)/2;
  14. Center_Y=(row+1)/2;
  15. for i=1:row
  16. for j=1:col
  17. x0=j-Center_X;
  18. y0=Center_Y-i;
  19. if(x0~=0)
  20. beta=atan(y0/x0);
  21. if(x0<0)
  22. beta=beta+pi;
  23. end
  24. else
  25. beta=pi/2;
  26. end
  27. radius=sqrt(x0*x0+y0*y0);
  28. beta=beta+radius/Degree;
  29. x=radius*cos(beta);
  30. y=radius*sin(beta);
  31. x=x+col/2;
  32. y=row/2-y;
  33. if(x>1 && x<col && y<row && y>1)
  34. x1=floor(x);
  35. y1=floor(y);
  36. p=x-x1;
  37. q=y-y1;
  38. Image_new(i,j,:)=(1-p)*(1-q)*Image(y1,x1,:)+p*(1-q)*Image(y1,x1+1,:)...
  39. +q*(1-p)*Image(y1+1,x1,:)+p*q*Image(y1+1,x1+1,:);
  40. end
  41. end
  42. end
  43. figure, imshow(Image_new/255);

原图

效果图

PS 滤镜——漩涡 vortex的更多相关文章

  1. OpenCV——PS滤镜 漩涡 vertex

    // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...

  2. OpenCV——PS 滤镜, 浮雕效果

    具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...

  3. OpenCV——PS 滤镜, 曝光过度

    算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <io ...

  4. Python: PS 滤镜--水波特效

    本文用 Python 实现 PS 滤镜中的 水波特效 import numpy as np from skimage import img_as_float import matplotlib.pyp ...

  5. Python: PS 滤镜--旋涡特效

    本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...

  6. Python: PS 滤镜--USM 锐化

    本文用 Python 实现 PS 滤镜中的 USM 锐化效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...

  7. Python: PS 滤镜--素描

    本文用 Python 实现 PS 滤镜中的素描特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/386 ...

  8. Python: PS 滤镜--表面模糊

    本文用 Python 实现 PS 滤镜中的表面模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/528 ...

  9. Python: PS 滤镜--旋转模糊

    本文用 Python 实现 PS 滤镜中的旋转模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/392 ...

随机推荐

  1. Python标识符

    在python里,标识符有字母.数字.下划线组成. 在python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. python中的标识符是区分大小写的. 以下划线开头的标识符是有 ...

  2. 从外置U盘中拷文件到Linux(挂载)

    第一步: 将U盘插入电脑,在Linux系统中会有反应,类似sda.sdb……,然后去/dev目录查看是否有这个文件 第二步: 新建一个目录:/mnt/mine 第三步: 将u盘挂载到/mnt/mine ...

  3. Linux中的提示符

    root的提示符:# 一般用户的提示符:$

  4. swift中的?和!理解

    本文转载至 http://www.cnblogs.com/dugulong/p/3770367.html 首先贴cocoachina上某位大大的帖子:     Swift语言使用var定义变量,但和别 ...

  5. Python 集合、字典、运算符

    先区分一下序列类型和散列类型: 序列类型:list.string.tuple,他们中的元素是有序的. 散列类型:set.dict,他们中的元素无序的. 序列类型有序,可以用索引.而散列类型中的元素是无 ...

  6. 【python】-- RabbitMQ 安装、基本示例、轮询机制

    RabbitMQ MQ全称为Message Queue, 是一种分布式应用程序的的通信方法,它是消费-生产者模型的一个典型的代表,producer往消息队列中不断写入消息,而另一端consumer则可 ...

  7. 【译】Stackoverflow:Java Servlet 工作原理问答

    导读 本文来自stackoverflow的问答,讨论了Java Servlet的工作机制,如何进行实例化.共享变量和多线程处理. 问题:Servlet 是如何工作的?Servlet 如何实例化.共享变 ...

  8. 上传项目至GitHub

      在windows系统客户端安装git工具. 注:如何安装git工具在此不做介绍,如需了解可网上搜索安装介绍.   在“本地文件”中添加“.git文件”,用于git管理. 进入本地文件夹,右击鼠标- ...

  9. 纪念下自学QT 第十天 终于写成了串口调试助手

  10. 第12条:不要在for和while循环后面写else块

    核心知识点: (1)一般的if/else是前面不执行,后面才执行,循环下面的else是前面执行完后面才会执行,如果是break打断也不会执行.循环为空或False也不执行. (2)try/expect ...