%%%% Cloud
%%%% 利用perlin noise生成云彩 clc;
clear all;
close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm'); Image=imread('4.jpg');
Image=double(Image); [row,col,layer]=size(Image); baseNoise=rand(row,col); persistance = 0.9;
totalAmplitude = 0.0; octaveCount=10; Cloud_texture=zeros(row,col); for i=0:octaveCount
amplitude=persistance.^(octaveCount-i);
% amplitude=persistance.^i;
totalAmplitude=totalAmplitude+amplitude;
Cloud_texture=Cloud_texture+Generate_smoothnoise(baseNoise, i)*amplitude;
end Cloud_texture=Cloud_texture/totalAmplitude; imshow(Cloud_texture); function SmoothNoise=Generate_smoothnoise(baseNoise, octave) SmoothNoise=baseNoise; [row, col]=size(baseNoise); samplePeriod=2.^octave;
sampleFrequency=1/samplePeriod; for i=1:row
sample_i0=floor((i/samplePeriod))*samplePeriod;
sample_i1=mod(sample_i0+samplePeriod,row);
vertical_blend = (i - sample_i0) * sampleFrequency;
for j=1:col
sample_j0 = floor(j / samplePeriod) * samplePeriod;
sample_j1 = mod(sample_j0 + samplePeriod,col);
horizontal_blend = (j - sample_j0) * sampleFrequency; if(sample_i0<1)
sample_i0=1;
end if(sample_i1<1)
sample_i1=1;
end if(sample_j1<1)
sample_j1=1;
end if(sample_j0<1)
sample_j0=1;
end % blend the top two corners
top = Cosine_Interpolate(baseNoise(sample_i0,sample_j0),...
baseNoise(sample_i0,sample_j1), horizontal_blend); % blend the bottom two corners
bottom = Cosine_Interpolate(baseNoise(sample_i1,sample_j0),...
baseNoise(sample_i1,sample_j1), horizontal_blend); % final blend
SmoothNoise(i,j) = Cosine_Interpolate(top, bottom, vertical_blend);
end
end function y=Cosine_Interpolate(x1,x2,alpha) ft = alpha * 3.1415927;
f = (1 - cos(ft)) * .5; y=x1*(1-f)+x2*f;

原图

效果图

利用Perlin nosie 完毕(PS 滤镜—— 分成云彩)的更多相关文章

  1. 利用Perlin nosie 完成(PS 滤镜—— 分成云彩)

    %%%% Cloud %%%% 利用perlin noise生成云彩 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image ...

  2. Python: PS 滤镜--马赛克

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

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

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

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

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

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

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

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

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

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

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

  8. Python: PS 滤镜--素描

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

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

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

随机推荐

  1. [BZOJ4520][Cqoi2016]K远点对 kd-tree 优先队列

    4520: [Cqoi2016]K远点对 Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 1285  Solved: 708[Submit][Statu ...

  2. [BZOJ1853][Scoi2010]幸运数字 容斥+搜索剪枝

    1853: [Scoi2010]幸运数字 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 3202  Solved: 1198[Submit][Status ...

  3. background-position 用法介绍

    转自:http://blog.csdn.net/jeamking/article/details/5617088   语法: background-position : length || lengt ...

  4. ZCMU新人训练赛-B

     Tom's Meadow Tom has a meadow in his garden. He divides it into N * M squares. Initially all the sq ...

  5. luogu P1038借教室【Noip提高组2012】

    这道题我读完题目的第一感觉是: 这不就是个线段树??用线段树维护区间最小值,检查是否满足订单要求即可判断. 对于修改操作直接在区间上进行. 据说会卡一卡线段树,但是貌似写一个懒标记,连zkw线段树都不 ...

  6. RabbitMQ (三) 工作队列之轮询分发

    上一篇讲了简单队列,实际工作中,这种队列应该很少用到,因为生产者发送消息的耗时一般都很短,但是消费者收到消息后,往往伴随着对高消息的业务逻辑处理,是个耗时的过程,这势必会导致大量的消息积压在一个消费者 ...

  7. [BZOJ3551][ONTAK2010]Peaks(加强版)(Kruskal重构树,主席树)

    3551: [ONTAK2010]Peaks加强版 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 2438  Solved: 763[Submit][ ...

  8. HDU 2819 Swap(二分图匹配)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2819 [题目大意] 给出一个棋盘,由白格子和黑格子组成,可以交换棋盘的行列, 使得其主对角线为黑格 ...

  9. 【函数式权值分块】【分块】bzoj3196 Tyvj 1730 二逼平衡树

    #include<cstdio> #include<cmath> #include<algorithm> using namespace std; #define ...

  10. Python中xPath技术和BeautifulSoup的使用

    xpath基本知识 XPath语法:使用路径表达式来选取XML或HTML文档中的节点或节点集 路径表达式 nodename:表示选取此节点的所有子节点 /    : 表示从根节点选取 //   :选择 ...