python 生成一组图像的单纯形噪声

ne5o7dgx  于 2023-01-08  发布在  Python
关注(0)|答案(2)|浏览(146)

我需要使用simplex noise生成一组图像。下面你可以找到我开发的代码和输出图像。
怎样才能使代码生成不同的图像,每次我运行它?目前我得到相同的图像,每次我运行代码。我怎样才能调整图像中的功能大小?我想得到一些少盐少辣。

import matplotlib.pyplot as plt
import numpy as np
import opensimplex
from opensimplex import OpenSimplex

simplex = OpenSimplex()
A = np.zeros([pix, pix])
for y in range(0, pix):
    for x in range(0, pix):
        value = simplex.noise2d(x,y)
        color = int((value + 1) * 128)
        A[x, y] = color

plt.imshow(A)
plt.show()

输出图像:

2hh7jdfx

2hh7jdfx1#

从这个github page中我可以看到你实际上可以把一个seed作为参数传递给OpenSimplex类,如下所示:

simplex = OpenSimplex(seed=1234)

该种子用于生成噪声阵列。

lmvvr0a8

lmvvr0a82#

examples,如果你想让它更模糊,那么你需要除以你的x,y线的“功能大小”,即

from PIL import Image # Depends on the Pillow lib

import opensimplex as simplex

WIDTH = 256
HEIGHT = 256
FEATURE_SIZE = 24.0

print('Generating 2D image...')

im = Image.new('L', (WIDTH, HEIGHT))
for y in range(0, HEIGHT):
    for x in range(0, WIDTH):
        value = simplex.noise2(x / FEATURE_SIZE, y / FEATURE_SIZE)
        color = int((value + 1) * 128)
        im.putpixel((x, y), color)

im.save('noise2d.png')

相关问题