【问题标题】:How to make a rotation about the vertical axis of the object in an image in Matlab? [duplicate]如何在Matlab中的图像中围绕对象的垂直轴进行旋转? [复制]
【发布时间】:2016-05-10 07:34:13
【问题描述】:

我想在 Matlab 中旋转图像中的对象。 我正在尝试这段代码:

I = imread('MPE.jpg');
imagesc(I);
theta=90
tform = affine2d([cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1]);
J = imwarp(I,tform);
h=imagesc(J);
end

【问题讨论】:

  • 您能否在不添加省略号的情况下添加/链接到原始图像?
  • 您确定要轮换吗?从图像上看,您需要拉伸和平移(也许还需要旋转,但不一定)。如果是这样,我相信您需要在仿射变换前面加上标量,以引入拉伸。
  • 我想做一个几何变换,如果你在第一张图片中看到,我看到一个椭圆,我想看到对象的面看到一个圆,
  • 我想围绕对象的垂直轴旋转
  • 查阅重复链接。您需要做的是在翘曲之前和之后为曲面指定控制点。副本应该很好地解释事情。

标签: matlab image-processing


【解决方案1】:

一种技术可能是将边界框 (BB) 设置为红色和绿色轮廓。使用 imresize() 将红色 BB 调整为绿色 BB。然后,您可以使用 imrotate() 轻松地将调整大小的部分旋转到所需的角度。

【讨论】:

  • 如果我调整图像大小我会失去可变像素,我不明白你的想法,你能解释一下你的想法吗??
  • 可变像素是什么意思?
  • 只要红绿区域没有角度差异,就不需要imrotate。调整大小以处理对象的滚动旋转。
  • 我想做一个几何变换,如果你在第一张图中看到,我看到的是一个椭圆,我想看到物体的面看到一个圆,
  • 如果我失去了可变像素,我无法计算物体的特征,也无法制作图形
猜你喜欢
  • 2017-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-10
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多