is it possible to convert 2d image into 3d binary image form?

2 views (last 30 days)
i want to use 3d binary image for printing or sketching purpose. But i am not sure how to create the 3d binary image. please guide me through this.
  8 Comments
Walter Roberson
Walter Roberson on 15 Oct 2019
How is the Z value to be derived? And are you wanting only a surface or a filled volume ?
sidra Rafique
sidra Rafique on 15 Oct 2019
@Walter Roberson yes i have to use voxelization in order to show depth.. yes i want to show everything under curve because in the end i want to create a 3d image. but in binary form so that after performing printing one can easily see that its a 3d image not 2d.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 15 Oct 2019
h = surf(YourImageArray);
or more likely
h = surf(YourImageArray, 'edgecolor', 'none');
After that you would use https://www.mathworks.com/matlabcentral/fileexchange/4512-surf2stl . If you need x and y coordinates you can use 1:size(YourImageArray,2) for x and 1:size(YourImageArray,1) for y.
  5 Comments
Walter Roberson
Walter Roberson on 17 Oct 2019
The error message is misleading: what it is really complaining about is the YourImageArray being 3D.
h = surf(YourImageArray(:,:,1), 'edgecolor', 'none');
I suspect that the ragged edges you will see have to do with JPEG blurring of straight edges.
sidra Rafique
sidra Rafique on 18 Oct 2019
thankyou so much Mr Walter. it worked now.
i have one more question. but its not binary. As in the end i will be needing 3d binary image.Inorder to make it binary i have tried this.
surf2stl('test.stl',1,1,'binary');
but it is showing 0 facets. i dont know what does that mean and how to get 3d binary image from surf.
waiting for your responce.

Sign in to comment.

More Answers (0)

Categories

Find more on Modify Image Colors in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!