本期木木给大家分享的是如何基于图像识别技术进行有限元结构化网格划分。
之前推过一期如何基于图像识别技术进行非结构化网格划分,感兴趣的小伙伴可点击下面推文:
今天想要呈现的网格划分效果如下,左侧是图像文件,右侧是程序识别后进行结构化网格划分,然后导入Abaqus中,程序已自动将每个色值区域划分为不同的单元集 合,并进行截面赋予。
以上的效果是不是很很好玩,所以分享给大家,接下来分享一下我是如何使用该程序的。
程序中共有六个函数文件,修改参数啥的可以直接在demo.m
函数中进行修改。
file_name
参数表示图像文件,读取时使用的是matlab的imread
内部函数,替换为你的图像文件即可。num_level
参数表示需要识别多少个颜色 区域,可以自己挑一挑其他参数,试试功能,都有相应的注释,简单易懂。
我尝试了一个小案例:
嘿嘿,效果还可以嘛,需要注意的是,图像应尽量清晰,我这里测试的是png格式,放大后还是有些许模糊,所以会导致有些地方识别的不是特别精确,大家可以换为自己的矢量图形文件进行尝试。
本次推文参考的是mathworks论坛上的一个开源程序,地址:https://www.mathworks.com/matlabcentral/fileexchange/104715-pixelmesh-pixel-based-mesh。
如果没有mathworks账户的话是不可以通过上面网址下载的,可以在后台回复:图像识别结构化二维
,即可自动获取。