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

3 ビュー (過去 30 日間)
KATHAN BHAVSAR
KATHAN BHAVSAR 2023 年 3 月 27 日
コメント済み: Image Analyst 2023 年 4 月 12 日
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.

採用された回答

Image Analyst
Image Analyst 2023 年 3 月 27 日
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.
  2 件のコメント
KATHAN BHAVSAR
KATHAN BHAVSAR 2023 年 4 月 12 日
@Image Analyst Can I just transform or rotate the image by a certain degree angle (say 5 degree) towards me as I am looking from the top, it doesnt matter to me to see it from the top 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 just want the image titled to me from that angle. I have the image taken straight from top as well and at an angle (as above), so I know the dimensions of the characteristics of the image in reality, anyway I could use this to gain similar characterisitcs of the above image?
Image Analyst
Image Analyst 2023 年 4 月 12 日
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]);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGeometric Transformation and Image Registration についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by