利用Perlin nosie 完成(PS 滤镜—— 分成云彩)
来源:互联网 发布:2017小说改编的网络剧 编辑:程序博客网 时间:2024/05/22 03:50
%%%% 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;endCloud_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); endendfunction y=Cosine_Interpolate(x1,x2,alpha)ft = alpha * 3.1415927;f = (1 - cos(ft)) * .5;y=x1*(1-f)+x2*f;
原图
效果图
0 0
- 利用Perlin nosie 完成(PS 滤镜—— 分成云彩)
- PS 滤镜——Skewing
- PS 滤镜——素描算法(一)
- PS 滤镜——素描算法(二)
- PS 滤镜——(扭曲)球面化 Spherize
- PS 滤镜算法原理 ——马赛克
- PS 滤镜算法原理——拼贴
- PS 滤镜——运动模糊
- PS 滤镜——旋转模糊
- PS 滤镜—— 径向模糊
- OpenCV——PS滤镜,毛玻璃特效
- OpenCV——PS 滤镜, 曝光过度
- OpenCV——PS 滤镜, 浮雕效果
- OpenCV——PS滤镜, 碎片特效
- OpenCV——PS滤镜,渐变映射
- PS 滤镜——漩涡 vortex
- PS 滤镜——波浪 wave
- PS 滤镜——水波 water wave
- mac 卸载 mysql
- 第9周任务
- 一个技校生的IT生涯 --- 我和软件的姻缘【0】
- 100个html5游戏引擎
- 编写一个程序从标准输入读取字符,并把他们写到标准输出,除了大写字母转换成小写字母之外,其他的原样输出。
- 利用Perlin nosie 完成(PS 滤镜—— 分成云彩)
- java中的弱引用WeakReference
- discuz! x2.5彻底去掉路径中portal.php
- android studio 设置字体大小和背景
- DISCUZ 管理后台页面开发实例
- 【struts2】<package>的配置
- android4.2 -- 蓝牙 bluetooth (五)接电话与听音乐
- 线性表的实现与应用--表达式中缀转后缀并求值
- linux-shell-find,xargs,exec-查找技巧