利用perlin noise 生成 wood texture
%%% Perlin Noise
%%% Wood_texture
clc;
clear all;
close all;
addpath('E:\PhotoShop Algortihm\Image Processing\PS Algorithm');
Image=imread('9.jpg');
Image=double(Image);
[row,col,layer]=size(Image);
baseNoise=Generate_basenoise(row, col);
persistance = 0.5;
octaveCount=6;
Cloud_texture=Cloud_generate(baseNoise,persistance,octaveCount);
% figure,
% imshow(Cloud_texture);
turbePower=0.45;
period=10;
Center_X=(col+1)/2;
Center_Y=(row+1)/2;
Wood=zeros(row, col);
for i=1:row
for j=1:col
xValue=(j-Center_X)/col;
yValue=(i-Center_Y)/row;
distValue=sqrt(xValue*xValue+yValue*yValue)+turbePower*Cloud_texture(i,j);
Wood(i,j)=abs(sin(2*period*distValue*pi))*128;
end
end
figure, imshow(Wood/128);
Image_new=Image;
Image_new(:,:,1)=uint8(Wood+80);
Image_new(:,:,2)=uint8(Wood+30);
Image_new(:,:,3)=uint8(30);
figure,
imshow(Image_new/255);
%%% Cloud generate
function Cloud_texture=Cloud_generate(baseNoise,persistance,octaveCount)
[row, col]=size(baseNoise);
Cloud_texture=zeros(row,col);
totalAmplitude = 0.0;
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;
效果图
利用perlin noise 生成 wood texture的更多相关文章
- 利用Perlin nosie 完毕(PS 滤镜—— 分成云彩)
%%%% Cloud %%%% 利用perlin noise生成云彩 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image ...
- 利用Perlin nosie 完成(PS 滤镜—— 分成云彩)
%%%% Cloud %%%% 利用perlin noise生成云彩 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image ...
- Perlin Noise 及其应用
Perlin Noise 可以用来表现自然界中无法用简单形状来表达的物体的形态,比如火焰.烟雾.表面纹路等.要生成 Perlin Noise 可以使用工具离线生成,也可以使用代码运行时生成.最简单常用 ...
- python perlin noise
python 利用 noise 生成纹理. # -*- coding: utf-8 -*- """ Created on Mon Apr 23 20:04:41 2018 ...
- 【Ray Tracing The Next Week 超详解】 光线追踪2-4 Perlin noise
Preface 为了得到更好的纹理,很多人采用各种形式的柏林噪声(该命名来自于发明人 Ken Perlin) 柏林噪声是一种比较模糊的白噪声的东西:(引用书中一张图) 柏林噪声是用来生成一些看似杂乱 ...
- 利用Java动态生成 PDF 文档
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...
- 利用GCC编译器生成动态链接库和静态链接库
转载请标明:http://www.cnblogs.com/winifred-tang94/ 1.编译过程 gcc –fPIC –c xxx.c 其中-fPIC是通知gcc编译器产生位置独立的目标代码. ...
- 解析利用wsdl.exe生成webservice代理类的详解
利用wsdl.exe生成webservice代理类:根据提供的wsdl生成webservice代理类1.开始->程序->Visual Studio 2005 命令提示2.输入如下红色标记部 ...
- C# 利用BarcodeLib.dll生成条形码(一维,zxing,QrCodeNet/dll二维码)
原文:http://blog.csdn.net/kongwei521/article/details/17588825 首先效果: 一.下载BarcodeLib.dll 下载地址 :http://do ...
随机推荐
- ubuntu 解决更换源失败问题
用图形界面命令打开窗口在终端输入 gksudo nautilus打开一个图形窗口 (注意在这个图形窗口下 任何目录下的文件都是可以删除的) /ect/apt删除下面的sources.list和备份文件 ...
- python在windows下安装paramiko模块和安装pycrypto模块(3步搞定)(转)
Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,我们需要先安装pycr ...
- Jmeter查看QPS和响应时间随着时间的变化曲线
以下两个插件提供测试结果,扩展图表显示 --- Response Times Over Time --- Transactions per Second 1.打开 https://jmeter-plu ...
- sql 语句实现分页查询
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHER ...
- 九度OJ 1194:八进制 (进制转换)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3521 解决:2058 题目描述: 输入一个整数,将其转换成八进制数输出. 输入: 输入包括一个整数N(0<=N<=100000 ...
- lua解析json
自己写的lua解析json,带容错,如果要是用于格式检查,得修改下.很简单直接贴代码 --------------------------------------------------json解析- ...
- 我的Android进阶之旅------>如何获取Android控件的宽和高
本文转载于:http://blog.csdn.net/johnny901114/article/details/7839512 我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我 ...
- Ext.Ajax的用法
Ext.Ajax.request({ //ajax请求 url: 'Accou ...
- java基础入门之数组循环初始化
/* Name:数组循环化 Power by Stuart Date:2015-4-23 */public class ArrayTest02{ public static void main (St ...
- 如何禁止eclipse对js文件的校验(building validate)
在项目(project)上点击右键,依次选择1.Select Properties -> JavaScript -> Include Path2.Select Source tab. ( ...