gpt4 book ai didi

algorithm - 在图像中产生线失真

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:35:08 24 4
gpt4 key购买 nike

(我在理论计算机科学论坛上发布了同样的问题,但我怀疑它会不会引起很多关注,因为它更实用而不是理论)

我正在寻找一种算法,它可以让我在给定样本线的情况下生成一条线,就好像它是手工绘制的一样。

换句话说,我有一条线(绘图)需要重新创建几次,就像人类在描图纸上描摹原始绘图时所做的那样。

自然地,人类会非常接近原图,但会出现一些小错误。所以我想知道是否存在可以扭曲绘图的算法,使结果看起来像一个人绘制的原图。

这是一个为绘图制作动画的程序。

最佳答案

嗯。这是一个有趣的问题。我不知道 Perlin 噪声看起来有多逼真,

但这里是我包含 brownian motion 的测试用例噪声类型(例如当给定点的直线扰动 = 先前扰动的总和 + 具有零中心和特定 sigma 的高斯随机数:

different degree of wobbliness

图像从左到右显示绘图作为 sigma 的函数(从左到右递减)

代码如下:

import numpy as np, numpy.random
import matplotlib.pyplot as plt
np.random.seed(1)
N = 1000
xs = np.arange(N)
thi = 6
sig = 0.00045
def getrand():
return np.cumsum(np.random.normal(0, sig, size=len(xs)))
# returns the cumulative sum of the set of random
# normally distributed numbers
plt.figure(1)
plt.plot(xs, getrand() * N, linewidth=thi, color='black')
plt.plot(xs, N + getrand() * N, linewidth=thi, color='black')
plt.plot(N + getrand() * N, xs, linewidth=thi, color='black')
plt.plot(getrand() * N, xs, linewidth=thi, color='black')

关于algorithm - 在图像中产生线失真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12452262/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com