• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab 三维二值化矩阵处理和可视化 - elapsetor

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Matlab 三维二值化矩阵处理和可视化

多孔介质数值模拟输入的数据一般是采用三维二值化矩阵,处理和可视化过程总结如下。

多孔介质存在较多锯齿边缘,采用图像膨胀、腐蚀处理或者滤波处理

% 膨胀
B=[0 1 0
   1 1 1
   0 1 0]; %处理矩阵
A1=imdilate(node,B);%膨胀处理
% 腐蚀
se1=strel(\'disk\',6);
A2=imerode(node,se1);
% 中值滤波
A3 = medfilt3(node);

Matlab绘制三维图

load(\'./node100.mat\')
len =100;wid=100;hig=100;
[x,y,z] = meshgrid(1:wid,1:len,1:hig);
% sx=1:len;sy=1:wid;sz=1:hig;
sx = [1,len];sy=[1,wid];sz=[1,hig];
h=slice(x,y,z,node,sx,sy,sz);
shading interp;
hold on ;
colormap (hot);
hold off;%采用hot色彩
hidden off;%透视效果

三维矩阵node输出为Tecplot可读的node.plt文件

file = \'./node.plt\';
fid = fopen(file,\'w+\');
fprintf(fid,\'VARIABLES=\"x\",\"y\",\"z\",\"node\"\n\');
fprintf(fid,\'ZONE T=\"BOX\",I=%d,J=%d,K=%d,F=POINT\n\',len,wid,hig);
for i = 1:len
    for j=1:wid
        for k=1:hig
            fprintf(fid,\'%d %d %d %d\n\',i,j,k,A(i,j,k));
        end
    end
end

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB实现三维作图 【例】发布时间:2022-07-18
下一篇:
DelphiiOS&macOSApp名称支持国际化多语显示发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap