see a 2d plane from a 3d image

2 次查看(过去 30 天)
The code to form a sphere of 100x100x10 pixels is the following
%
imageSizeX = 100;
imageSizeY = 100;
imageSizeZ = 100;
[X,Y,Z] = ndgrid(1:imageSizeX, 1:imageSizeY, 1:imageSizeZ);
% Next create the circle in the image.
centerX = 50;
centerY = 50;
centerZ = 50;
radius = 25;
circlePixels = (Z-centerZ).^2 + (Y-centerY).^2 + (X-centerX).^2 <= radius.^2;
I would like to visualize a horizontal plane 2d in some position z of the sphere in a square of 100x100 pixels, obviously this image would be a circle.
How would that be done, thank you very much.

采纳的回答

Image Analyst
Image Analyst 2018-10-27
Try slice().
  2 个评论
Marcelo hernandez
Marcelo hernandez 2018-10-27
matlab says that Input grid is not valid MESHGRID. i try
%
xslice = 10;
yslice = [];
zslice = [];
slice(X,Y,Z,circlePixels,xslice,yslice,zslice,'nearest')
Image Analyst
Image Analyst 2018-10-27
Try this:
imageSizeX = 100;
imageSizeY = 100;
imageSizeZ = 100;
[X,Y,Z] = ndgrid(1:imageSizeX, 1:imageSizeY, 1:imageSizeZ);
% Next create the circle in the image.
centerX = 50;
centerY = 50;
centerZ = 50;
radius = 25;
circlePixels = (Z-centerZ).^2 + (Y-centerY).^2 + (X-centerX).^2 <= radius.^2;
circlePixels = double(circlePixels);
zslice = 50;
slice(circlePixels,[],[],zslice,'nearest')

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by