分形显微镜模拟器

我已经完成了用于控制成像硬件的软件的工作,例如显微镜,有时很难抽出时间。这意味着很难测试需要访问仪器的新/不同算法。我想创建一个可用于某些测试目的的合成仪器,我正在考虑使用某种分形图像生成来创建合成图像。关键是能够以某种确定的方式在许多不同的“放大率”和位置生成特征。这是因为正在测试的一些算法可能需要平移/缩放并重新定位先前“成像”的区域。然后,在这些基础图像上,我可以应用任何适合的仪器“缺陷”(焦点,噪声,饱和度等)。 我对如何为基本图像选择/实现良好的分形算法感到有点失落。任何帮助,将不胜感激。优选地,它具有以下品质: 快速渲染新的图像区域。 在尽可能多的地点和规模上覆盖相当广泛的“特征”。 是确定性的(但是从随机起始参数初始化)。 能够调整以使图像看起来更像“真实”图像。 第2项很重要,例如一个具有大光滑/空白区域的mandelbrot装置可能不太好,因为控制合成范围的软件可能属于这些区域之一。 到目前为止,我已经想过使用类似mandelbrot的东西,但随机移动/旋转/缩放并合并两个或更多分形集以获得更完整的“特征”覆盖。 我也看过分形火焰算法的图像,它们似乎生成了可能有用的图像(很好看)。 最后,我想过使用某种暂停粒子模拟运行来生成更像单元格的图像(我当前的成像目标),但我不确定这种方法是否可以用于其他要求。 编辑: @Jeffrey - 只要我完全控制PSRNG,听起来某种地形生成可能就是这样。也许我可以使用一些存储的初始种子+ x位置+ y位置来生成我的随机数?但是,我不确定如何在尺度上始终如一地生成地形,除了你提到的,在最大规模上创建基础地形,并且在某些预先确定的“放大”时,为这个基础增加新的确定性伪随机变化。 。我还必须要小心何时生成下一级地形,因为如果我过于激进,我必须适当地生成和整合结果以便在较粗糙的水平显示...这就是为什么我最初倾向于更“传统”的分形,因为这种更精细尺度的整合将更加隐含地处理(我认为)。     
已邀请:
分形地形创建算法背后的想法是分别在每个尺度上构建图像。对于风景来说,这很简单:只需制作一小组高度值,然后随机设置它们。然后将其缩放到更大的数组,对值进行平均以使轮廓平滑,然后将小的随机量添加到这些值。然后将它放大,等等。原来的小疙瘩变成了山脉,它们充满了复杂的地形。 但是,这里提出的问题存在两个特殊的困难。首先,您不希望存储任何这些值,因为它可能是巨大的。其次,每个尺度的特征与其他尺度的特征不同。 这些问题并非不可克服。 基本上,您可以将图像划分为网格,并使用确定性psedorandom数字建立网格中每个方块的关键特征。例如,每个方格可以具有一定密度的细胞类型。 在下一个放大级别,将每个方块细分为另一个网格,在网格上应用基于包含方块及其周围方块的值的渐变值。然后将伪随机变量应用于包含方形的网格坐标的种子。对于随机种子,始终使用所考虑的细分的直接包含的正方形的坐标,无论图像被裁剪到何处,以确保在多次运行中正确地重新创建它。 在某种放大水平下,随机值从粒子类型的密度变为粒子位置。然后对于每个粒子,都有部分特征。然后是这些功能的特色。 虽然需要任意的左/右和上/下滚动,但是每次移动帧时都必须计算当前场景上方的所有放大级别的图像,以确保包括所有必要的特征。这样,图像可以从一个单元格滚动到另一个单元格而不会失去一致性。可以使用部分模拟来确保细胞或细胞特征不重叠。这可以以可重复的,确定的方式完成。 并且不要忘记在添加随机变量之前应用基于较高级别的周围平方的平均值的平滑梯度。否则,突然的变化将使正方形本身出现在图像中! 这个答案有些漫无边际,可能令人困惑,但最好我现在可以解释一下。我希望它有所帮助!     

要回复问题请先登录注册