【问题标题】:transformed image should always visible转换后的图像应始终可见
【发布时间】:2012-11-19 15:41:58
【问题描述】:

我正在尝试使用双线性插值变换图像,我的输入图像是I,我有我的仿射矩阵[A],这将给我变换图像I',根据双线性插值我正在取仿射矩阵inv([A]) 的逆并将其应用于输出图像的每个点(在初始级别全为零),因为我们不能保证输出图像大小可以是任何大小,所以首先我找到了界限,所以我可以得到输出图片的大小,

现在我有输入图像、仿射矩阵和输出图像,它们的大小至少可以轻松保存转换后的图像,但是如果我应用向后向后的翘曲方法,根据我必须遍历输出图像的每个像素(现在为零),我希望我的转换图像位于中心,所以我的转换图像应该始终可见,知道我该怎么做吗?

注意我不想使用matlab的内置函数。

编辑

如果我转换了我的A 图像,我得到了 B,但是你看到图像的一角被裁剪了,我希望这些也能显示出来。

【问题讨论】:

  • 从描述中不清楚你想要什么,但也许你可以说明你到底卡在哪里了?
  • 我希望我的转换后的图像完全可见。如果我创建与输入图像大小相同的新图像,则转换后的图像看起来像是被裁剪了。
  • 您能否添加一个屏幕截图,或者更好的是一些可以重现问题的短代码?您可能希望从 im=image 开始加载示例图像。

标签: matlab transformation interpolation affinetransform


【解决方案1】:

将矩形从直立位置旋转到对角位置时,最高点和最低点之间的垂直距离会增加。

现在您可以采取两种方法:

  • 将新画面置于更大的环境中

  • 重新缩放旋转后的图片,使其适合原始大小的环境。

【讨论】:

  • 确实如此。我做了类似的事情,我的替代方法是估计旋转图像的大小,然后将其放入更大的布局中。另一种选择是创建一个非常大的布局,然后删除您不喜欢的横向黑条。如果你重新调整它,考虑到质量会下降。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-23
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
相关资源
最近更新 更多