How can I carry out Image Transformation for the following image?

2 views (last 30 days)
I want to do image transformation for the following image. The image is taken at a 5 Degree angle to the vertical. I want to obtain the image on a flat plane perpendicular to the viewing angle. Bascially, I want to transform the image within this viewing plane to angle of 5 degrees so I can see the true shape of the image. Please could you help me with a code for the same.

Accepted Answer

Image Analyst
Image Analyst on 27 Mar 2023
You can't. Sure, you can warp the image like with these
but at your angle you can see the front of the cylinder. There is no way to transform that image so that the front of the cylinder is no longer visible and you can't see the front of the cylinder and are looking straight down on it. I suggest you actually move the camera.
Also, your lighting is horrible. I suggest you fix the lighting.
Image Analyst
Image Analyst on 12 Apr 2023
Sure but the image would just look like the present image but with the same width and the number of rows equal to cosine of the angle times the original number of rows. So you could use imresize to do that. However it will merely look like a shorter version of the original image and what good is that?
[rows, columns, numberOfColorChannels] = size(rgbImage);
newRows = round(cosd(5) * rows);
newImage = imresize(rgbImage, [newRows, columns]);

Sign in to comment.

More Answers (0)


Find more on Image Processing Toolbox 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!

Translated by