Filter löschen
Filter löschen

see a 2d plane from a 3d image

1 Ansicht (letzte 30 Tage)
Marcelo hernandez
Marcelo hernandez am 27 Okt. 2018
Kommentiert: Image Analyst am 27 Okt. 2018
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.

Akzeptierte Antwort

Image Analyst
Image Analyst am 27 Okt. 2018
Try slice().
  2 Kommentare
Marcelo hernandez
Marcelo hernandez am 27 Okt. 2018
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 am 27 Okt. 2018
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')

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by