美文网首页
【matlab】二维图像重建三维图像

【matlab】二维图像重建三维图像

作者: 小小杨树 | 来源:发表于2022-01-04 14:24 被阅读0次

绘制圆心位置相同,内外半径相同的系列圆 ,图片尺寸为128128,类似于血管的圆管柱图像;
绘制圆心位置不同,内外半径相同的系列圆,图片尺寸为128
128,类似于血管的圆管柱图像;
绘制圆心位置不同,内外半径不同的系列圆,图片尺寸为128*128,类似于血管的圆管柱图像;
对图像进行插值处理
对图像进行滤波平滑处理
三维显示由系列圆重建的类血管三维图像

clear all;
close all;
clc;
h = 128;
w = 128;
r1 = 10;
r2 = 12;
Index = [1:80];
nFrames = 80
for i=1:80
I = zeros(h, w);
[x, y] = meshgrid(1:w, 1:h);
a = ceil(w/2);
b = ceil(h/2);
I( r1^2 <=((x-a).^2 +(y-b).^2)) = 1;
I(((x-a).^2 +(y-b).^2) <= r1^2 ) = 0.5;
I(((x-a).^2 +(y-b).^2)>= r2^2 ) = 0;
imwrite(I,['./1/',num2str(Index(i)),'.png']);
end
b = ceil(h/2)+ 0.00001* i * i * i;
b = ceil(h/2)+ 5 * sin(pi * i /60);
r1 = r1+0.01;
r2 = r2+0.01;
Box.x = 1;
Box.y = 1;
Box.w = 128;
Box.h = 128;
nFrames = 80;
Image = zeros(Box.h,Box.w,nFrames);
Index = [1:80];
for i=1:nFrames
filename = ['./1',num2str(Index(i)),'.png'];
im = imread(filename);
Image(:,:,i) = squeeze((im(Box.y:Box.y+Box.h-1,Box.x:Box.x+Box.w-1)));
end
[x,y,z] = size(Image);
[hx,hy,hz] = meshgrid(1:y, 1:x, 1:z);
hr = interp3(Image, hx, hy, hz, 'cubic');
for i=1:y
for j=1:x
z_data = squeeze(hr(i,j,:));
z_data_f = medfilt1(z_data,20);
hr(i,j,:) = z_data_f;
end
end
W = fspecial('average',[10,10]);
for i=1:z
imdata = squeeze(hr(:,:,i));
imdata = imfilter(imdata,W,'replicate');
hr(:,:,i) = imfilter(imdata,W,'replicate');
end
W = fspecial('gaussian',[10,10],1);
for i=1:z
imdata = squeeze(hr(:,:,i));
imdata = imfilter(imdata,W,'symmetric');
hr(:,:,i) = imfilter(imdata,W,'symmetric');
end
Image = smooth3(hr(:,:,1:1:end));
fw=20;
p=patch(isosurface(Image,fw))
set(p,'facecolor','[0.75,0.1,0.2]','Edgecolor','none','FaceAlpha',1,'EdgeAlpha',0.5);
isonormals(Image,p);
p1=patch(isocaps(Image, fw));
set(p1, 'FaceColor', 'red', 'EdgeColor', 'none','FaceAlpha',0.5,'EdgeAlpha',0);
colorbar
colormap('jet')
daspect([1,1,0.5])
view(3)
lightangle(45,30);
lighting gouraud
p.AmbientStrength = 0.8;
p1.SpecularColorReflectance = 0;
p1.SpecularExponent = 50;

相关文章

  • Matlab GUI中三维图像与二维图像切换的问题

    Matlab GUI编程中,在axes中显示三维图像, 然后再让axes显示二维图像, 切换后导致坐标轴依旧为三维...

  • 【matlab】二维图像重建三维图像

    绘制圆心位置相同,内外半径相同的系列圆 ,图片尺寸为128128,类似于血管的圆管柱图像;绘制圆心位置不同,内外半...

  • matlab图像数据的读取总结

    Matlab 读取彩色图像是三维数组,图像的坐标是以左上角为(0,0)点; matlab读入图像的数据是uint8...

  • 图像的统计特征(一)

    在Matlab中,灰度图像是一个二维的矩阵,RGB彩色图像是一个三维的矩阵。 方差 度娘上是这样解释的: **方差...

  • 视频与图像的故事

    1.视频与图像的区别? 视频的本质是图像。二维图像包含纹理和亮度;三维图像包含纹理、亮度和深度。连续的图像构成运动...

  • 复原c2018-11-13

    由投影重建图像:滤波反投影、FDK、TFDK三维重建算法理论基础

  • 视觉三维建模

    二维摄像 + 三维重建法 = 深度视觉摄像 二维摄像 结构光方案优点:技术成熟,深度图像分辨率可以做得比较高;价格...

  • OpenCV+Python 频域分析

    参考: opencv-python官方文档《刚萨雷斯数字图像处理(MATLAB版)》 图像处理中的傅里叶变换 二维...

  • Disentangling Features in 3D Fac

    1 联合判别特征学习、3D面部重建、3DMM、CNN 2 直接从单个二维图像中回归三维人脸形状,并基于复合三维人脸...

  • 生成指定RGB值的纯色图像【python】

    创建图像:·OpenCV中,黑白图像实际是一个二维数组,彩色图像是一个三维数组。数组中每个元素就是图像对应位置的像...

网友评论

      本文标题:【matlab】二维图像重建三维图像

      本文链接:https://www.haomeiwen.com/subject/ogvqcrtx.html