利用Perlin nosie 完毕(PS 滤镜—— 分成云彩)
%%%% 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 滤镜—— 分成云彩)的更多相关文章
- 利用Perlin nosie 完成(PS 滤镜—— 分成云彩)
%%%% Cloud %%%% 利用perlin noise生成云彩 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image ...
- Python: PS 滤镜--马赛克
本文利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/30 ...
- OpenCV——PS 滤镜, 浮雕效果
具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...
- OpenCV——PS 滤镜, 曝光过度
算法原理可以参考: PS 滤镜,曝光过度 #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <io ...
- Python: PS 滤镜--水波特效
本文用 Python 实现 PS 滤镜中的 水波特效 import numpy as np from skimage import img_as_float import matplotlib.pyp ...
- Python: PS 滤镜--旋涡特效
本文用Python 实现 PS 滤镜的旋涡特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/42215 ...
- Python: PS 滤镜--USM 锐化
本文用 Python 实现 PS 滤镜中的 USM 锐化效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...
- Python: PS 滤镜--素描
本文用 Python 实现 PS 滤镜中的素描特效,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/386 ...
- Python: PS 滤镜--表面模糊
本文用 Python 实现 PS 滤镜中的表面模糊,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/528 ...
随机推荐
- php split 和 explode 的区别
php split 和 explode 的区别 split (PHP 3, PHP 4 ) split -- 用正则表达式将字符串分割到数组中 说明 array split ...
- ubuntu 启动 重启 停止 apache
一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start ...
- HDU 5938 Four Operations 【字符串处理,枚举,把数字字符串变为数值】
Problem Description Little Ruins is a studious boy, recently he learned the four operations! Now he ...
- hdu5558
hdu5558 题意 给出一个字符串,按照特殊规则进行加密. 假设已经加密了前 \(i\) 个字符,从第 \(i+1\) 个字符开始找到 \(S[i..N]\) 的长度为 \(K\) 的最长前缀等于 ...
- UVA Phone List (字典树)(查询是否有前缀或自身是其他的前缀)
Phone List Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16341 Accepted: 5228 Descr ...
- luogu P1194 买礼物
题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近有促销活动,也就是: 如果你买了第I样东西,再买第J样,那么就可以只花K[I,J]元,更 ...
- 键盘事件OnKeyListener
1.效果图:就是在文本框中输入A,则显示A,输入B,则显示B.... (1)activity_main.xml <?xml version="1.0" encoding=&q ...
- PythonGUI编程--向列表框添加滚动条
代码如下: from tkinter import * window = Tk() window.title("New England") yscroll = Scrollbar( ...
- [测试技术分享]easyFuzzer使用案例分享
easyFuzzer使用案例分享 1.简介: easyFuzzer是wooyun的一位白帽子(光刃)提供的一款用于fuzz文件的工具.平时主要是和网络协议安全打交道,和本地软件安全打交道比较少,所以没 ...
- Visual Studio 控制台应用程序 同时使用OpenCV和matlab mat文件操作
matalb具有灵活的图像处理,代码编写起来简洁而高效.而OpenCV具有很多成熟的计算机视觉算法,能够处理很多实时的识别处理等问题,而且代码运行起来效率很高.所以如何结合两者之间的优点,是让很多学术 ...