我想用不同角度绘制的线条生成图像[关闭]

问题描述 投票:0回答:0

I want to generate an image similar to this link

我想在 python 中生成像上面那样的图像,但我无法让它工作。

顺便说一句,我正在考虑以下条件。

  • 我想自由指定线的角度从0到180度
  • 我想生成大约 5 张具有相同角度但不同噪声模式的图像。

有一种基于柏林噪声等的方法,我能够生成如下所示的柏林噪声基础图像,但我被卡住了,因为我不知道如何处理。 我想生成类似上图的东西,因为我对完全不同的方法没有任何问题。 如果有人可以帮助我,我将不胜感激。 最好的问候。

Currently, the image I created

谢谢,我将粘贴柏林噪声生成图像的代码。我想根据这张图片生成一张图片,就像您粘贴的第一张图片一样,以不同角度绘制线条。

ーーーー追记ーーーー

import cv2
import numpy as np
from perlin_noise import PerlinNoise

# parameters
height, width = 128, 128
num_nodes = np.random.randint(2, 49)  #nodes
num_base_images = 30  # base_images_count
num_rotate_images = 10  # rotated images
sigma = 1.5  

# Perlin noise
noise = PerlinNoise(octaves=num_nodes, seed=1)

# Image generation of vertical patterns
stripe_images = []
for _ in range(np.random.randint(3, 6)):
    stripe = np.zeros((height, width), dtype=np.float32)
    for i in range(height):
        for j in range(width):
            i_hei = i / height
            j_wid = j / width
            stripe[i, j] = noise([i_hei, j_wid])###
    stripe = cv2.normalize(stripe, None, alpha=0, beta=1, norm_type=cv2.NORM_MINMAX)
    stripe_images.append(stripe)
plt.imshow(stripe_images[0], cmap='gray')
plt.title('base_images')
plt.show()

python numpy opencv matplotlib noise
© www.soinside.com 2019 - 2024. All rights reserved.