Я выполнил работу над программным обеспечением, используемым для управления аппаратными средствами обработки изображений, такими как микроскопы, на которые иногда трудно получить время. Это означает, что трудно протестировать новые / другие алгоритмы, которые требуют доступа к инструменту. Я хотел бы создать синтетический инструмент, который можно было бы использовать для некоторых из этих целей тестирования, и я подумывал об использовании какого-то рода фрактальных изображений для создания синтетических изображений. Ключевым моментом будет способность генерировать объекты с разными «увеличениями» и местоположениями каким-то детерминированным способом. Это связано с тем, что некоторым из тестируемых алгоритмов может потребоваться панорамирование / масштабирование и перемещение ранее отображенных областей. На эти базовые изображения я могу затем применить любые «дефекты» инструмента (фокус, шум, насыщенность и т. Д.).
Я немного растерялся, как выбрать / реализовать хороший фрактальный алгоритм для базового изображения. Любая помощь будет оценена. Желательно, чтобы он обладал следующими качествами:
- Быстро выполняйте рендеринг новых областей изображения.
- Достаточно широкое покрытие с «характеристиками» в максимально возможном количестве мест и масштабов.
- Быть детерминированным (но инициализированным из случайных параметров запуска).
- Возможность настройки, чтобы изображения выглядели как настоящие.
Пункт 2 важен, например, набор Мандельброта с его большими гладкими / пустыми областями, возможно, не годится, поскольку программное обеспечение, управляющее синтетической областью действия, может попасть в одну из этих областей.
До сих пор я думал об использовании чего-то вроде мандельброта, но с произвольным смещением / вращением / масштабированием и объединением двух или более фрактальных наборов, чтобы получить более полное покрытие «объектов».
Я также видел изображения алгоритмов фрактального пламени, и они, кажется, генерируют изображения, которые могут быть полезны (и приятно смотреть).
Наконец, я подумал об использовании какого-то запуска симуляции приостановленных частиц для создания изображений, более похожих на ячейки (моя текущая цель визуализации), но я не уверен, что этот подход можно использовать для работы с другие требования.
Edit:
@Джеффри - Похоже, что какое-то поколение ландшафтов могло бы стать идеей, если я полностью контролирую PSRNG. Возможно, я могу использовать некоторые сохраненные начальные начальные числа + x position + y position для генерации моих случайных чисел? Но тогда я не уверен, как последовательно генерировать ландшафты по масштабам, за исключением, как вы упомянули, создания базового ландшафта в масштабах курса и при определенных заранее определенных «увеличениях» добавлять новые детерминированные псевдослучайные вариации к этой базе , Я также должен был бы быть осторожным с тем, когда генерировать следующий уровень ландшафта, так как, если я слишком агрессивен, мне придется генерировать и интегрировать результаты соответствующим образом для отображения на более грубом уровне ... Вот почему я изначально склонялся к более «традиционному» фракталу, поскольку эта интеграция из более тонких шкал будет обрабатываться более неявно (я думаю).