Аннотация
Перечень условных обозначений 3
Введение 4
1 Постановка задачи 5
2 Методы математической морфологии и их интерпретация в 3d
пространстве 7
2.1 Морфологическая дилатация(расширение) 9
2.2 Морфологическая эрозия 11
2.3 Морфологическое открытие и закрытие 13
3 Модель обработки трёхмерных объектов методами математической
морфологии в unity 16
3.1 Варианты разбиения объекта на точки в unity 16
3.2 Подготовительные процессы обработки объекта 19
3.3 Обработка объекта 21
4 Реализация методов математической морфологии в unity 25
4.1 Класс processed object 26
4.2 Класс struct_elem 28
4.3 Класс abstractoperation 29
5 Оптимизация работы unity при обработке трёхмерных объектов 33
6 Варианты применения разработанного приложения 35
Заключение 36
Список использованных источников 37
Математическая морфология — теория и техника анализа и обработки геометрических структур, основанная на теории множеств, топологии и случайных функциях. Широко используется в обработке цифровых изображений, но также может быть применима на графах, полигональной сетке, стереометрии и многих других пространственных структурах.
Методы математической морфологии, такие как дилатация, эрозия, замыкание, размыкание, выделение границ, успешно интегрированы в различные инструменты обработки цифровых изображений.
Развитие трёхмерной компьютерной графики приводит к необходимости работать уже не только с двумерными цифровыми изображениями, но и с трёхмерными объектами, поэтому становится актуальным вопрос, можно ли применить методы математической морфологии к трёхмерным объектам и обрабатывать их так же, как и цифровые изображения.
Результаты проделанной работы позволяют применять методы математической морфологии и демонстрировать их работу в Unity, дают возможность обрабатывать модели трёхмерных объектов без навыков 3D моделирования и открывают новые горизонты для исследований.
Полученный в рамках работы прототип приложения способен принимать на вход 3D-модели форматов FBX, dae (Collada), 3DS, dxf и obj, применять к ним методы математической морфологии (дилатация, эрозия, морфологические открытие и закрытие) и экспортировать результат в формате FBX.
Можно сделать вывод о том, что цель работы достигнута, а поставленные задачи успешно решены:
1 Изучены методы ММ, использующиеся в обработке цифровых изображений.
2 Адаптированы принципы работы методов ММ для обработки трёхмерных объектов в Unity.
3 Разработаны и реализованы:
3.1 Модель импорта трёхмерного объекта и взаимодействия с ним для последующей обработки в Unity.
3.2 Модель генерации структурирующего элемента (SE).
3.3 Модель применения методов ММ на импортированный объект с использованием сгенерированного SE с последующим экспортом результата в формате FBX.
В дальнейшем планируется оптимизировать работу прототипа, улучшить интерфейс и добавить функциональность, увеличить количество вариантов генерации структурирующего элемента, упростить подбор нужного структурирующего элемента, добавить в систему алгоритм прогнозирования решений.
1. Mathematical morphology directly applied to point cloud data [Электронный ресурс]. URL: https://www.sciencedirect.com/science/article/pii/S0924271620302264 (дата последнего обращения: 11.05.2022).
2. Грузман, И. С. Цифровая обработка изображений в информационных системах / И. С. Грузман. Уч. пособие. - Новосибирск: НГТУ, 2002. - 168 с.
3. Akenine-Moller, T. Real-Time Rendering. Third Edition / T. Akenine-Moller, E. Haines, N. Hoffman. - Wellesley: A. K. Peters, Ltd., 2008. - 1027 p.
4. Crassin, C. GigaVoxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering / C. Crassin, F. Neyret, S. Lefebvre, E. Eisemann // ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D), feb 2009.
5. Dunlop R. Linearized Depth using Vertex Shaders // Technical Articles / MVPS.org: The X Zone. 2005. URL:
http ://www.mvps. org/directx/articles/linear_z/linearz.htm (дата обращения: 15.04.2022).
6. Порождающие паттерны. Фабричный метод (Factory Method). [Электронный ресурс]. URL: https://metanit.com/sharp/patterns/2.1.php (дата последнего обращения: 11.05.2022)
7. Fernando R. GPU Gems: Programming Techniques, Tips and Tricks for RealTime Graphics / R. Fernando. - Boston: Addison-Wesley Professional, 2004. - 816 p.
8. Green S. DirectCompute Programming Guide // NVIDIA GPU Computing Documentation / NVIDIA Developer Zone. 2010. Систем. требования: PDF Reader. URL:
http://developer.download.nvidia.com/compute/DevZone/docs/html/DirectCo mpute/doc/DirectCompute_Programming_Guide.pdf (дата обращения: 26.04.2022).
9. Mutel A. Benchmarking C#/.Net Direct3D 11 APIs vs native C++ // Code 4k: A blog about coding 4k to 64k intros and demos. 2011. URL: http://code4k.blogspot.com/2011/03/benchmarking-cnet-direct3d-11-apis- vs.html (дата обращения: 13.05.2022).
10. Nguyen H., GPU Gems 3 / H. Nguyen. - Boston: Addison-Wesley Professional, 2007. - 1008 p.
11. Numthreads // Reference for HLSL / MSDN Library: Microsoft Software Developer Network Library. 2011. URL: http://msdn.microsoft.com/en- us/library/ff471442(VS.85).aspx (дата обращения: 18.05.2022).
12. Qu, H. Boolean operations of triangulated solids and their applications in the 3D geological modeling // ISPRS: International Society for Photogrammetry and Remote Sensing. 2011. Систем. требования: PDF Reader. URL: http://www.isprs.org/proceedings/xxxvi/2-w25/source/boolean operations of triangulated solids and their applications in the 3d geological modelling.pdf (дата обращения: 19.05.2022).
13. Resource Limits (Direct3D 11) // Programming Guide for Direct3D 11 / MSDN Library: Microsoft Software Developer Network Library. 2011. URL: http://msdn.microsoft.com/en-us/library/ff819065(v=VS.85).aspx (дата обращения: 21.05.2022).