plot 2d image into cylindrical 3d image

I have multiple 2d images . I want to plot them into cylindrical coordinate such as each image is plot with a degree increment in circular form to make a 3d circle .
can anyone help me

1 comentario

Ignacio Alcala
Ignacio Alcala el 5 de Jun. de 2023
Hello Alina, Did you solve your problem ? I would be really interested if you could share the solution please.
Cordially, Ignacio Alcala

Iniciar sesión para comentar.

Respuestas (2)

How about the following?
% Image data
I = imread("sherlock.jpg");
% Create cylinder
[X, Y, Z] = cylinder;
% Mapping the image on the cylinder
figure
h = surface(X, Y, Z);
h.FaceColor = 'texturemap';
h.EdgeColor = 'none';
h.CData = flipud(I);
view(3)
box on

5 comentarios

Ignacio Alcala
Ignacio Alcala el 5 de Jun. de 2023
Hello Akira,
Thank you for your response. In my case I would just like to know how to place 2D imaged in a 3D space with a certain degree spacement between them. This because the images that I have have the same center so at the end they would make sort of a discontinued 3D cylinder.
The images dimensions are 102x128.
Any ideas ?
Thank you for the clarification.
If my understanding is correct, how about the following?
% Create 102x128 image
I = imread("sherlock.jpg");
I = imresize(I, [102, 128]);
% Create rectangle verticles
[xGrid, zGrid] = meshgrid([0 127], [0, 101]);
% 2D images in 3D space
figure
for kk = 1:12
h = surface(xGrid, zeros(2), zGrid);
h.FaceColor = 'texturemap';
h.EdgeColor = 'none';
h.CData = flipud(I);
rotate(h, [0 0 1], 30*(kk-1), [0 0 0]);
end
view(3)
box on
Ignacio Alcala
Ignacio Alcala el 7 de Jun. de 2023
Good Afternoon Mr.Akira,
I thank you for your response it helped me a lot.
Could it be possible to take the middle point of all the images as the rotation axis? In fact all the images that I have to rotate share the same middle point, this means that the middle of all my images are the same, what changes is the peripherical region of the images(that is why I want to use this method to make sort of a 3D cylindrical volume). This means that all the images intersect with the middle point of all the other images.
I would really appreciate if you could please help me with this one.
Akira Agata
Akira Agata el 16 de Jun. de 2023
Editada: Akira Agata el 16 de Jun. de 2023
Good afternoon @Ignacio Alcala,
Sorry for my late response.
Based on the first half of your message, I assumed the expected image looks like the following image.
But the second half of your message might tell a different story.
Could you tell us how the expected output looks like?
Ignacio Alcala
Ignacio Alcala el 16 de Jun. de 2023
Good Morning @Akira Agata,
I thank you for your response. Here a schema of what I ideally want to achieve.
One extra information, every image represents a thickness of 400 µm, is there a way that every image represents this thickness in the 3D rotation plan ?
Please let me know if you have further questions.
I thank you again for all your help and time.
Cordially,
Ignacio Alcala

Iniciar sesión para comentar.

Caleb
Caleb el 7 de Jul. de 2023

0 votos

Hey Ignacio,
Did you ever find a solution on how every image could represent the defined thickness in the 3D rotation plan of two images?

Categorías

Más información sobre Convert Image Type en Centro de ayuda y File Exchange.

Preguntada:

el 25 de Mayo de 2018

Respondida:

el 7 de Jul. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by