小编Nik*_*141的帖子

如何使用Python沿任意线或任意点拉伸图像?

我有一个 128x128 图像存储为 2D numpy.ndarray(它实际上是一个热图,因此每个条目只是一个标量值)。我已确定:

\n
    \n
  • 我的形象上的一点,P = (x0, y0)
  • \n
  • 一个方向v = [v0, v1]
  • \n
  • 一条线L,穿过P并垂直于v
  • \n
  • 比例因子s(假设具体为s百分比)
  • \n
\n

我想将图像拉伸远离该线,即沿着,L的方向。我所说的“远离”的意思是,上的点在变换下应该保持不变。下图描述了 是正数的情况,因此所有点都远离:vsLLsL

\n

显示远离线 L 的拉伸的图表

\n

如果s是负数,那么我想让所有点更接近L

\n

如果L通过原点,那么这只是一个简单的线性变换,我可以使用归一化v时间(1 + s)和一些单位向量L作为我的基向量。然而,因为L不一定通过原点,所以我的印象是这是某种类型的仿射变换。

\n

解决方案的一些首选品质:

\n
    \n
  • 我宁愿只修改图像的内容并保持其相同的大小,而不是以任何方式调整图像的大小
  • \n
  • 图像的“视野”应保持相同,即L变换前后应保持在图像中的相同位置
  • \n
\n

我尝试的第一件事是使用某种类型的图像调整大小cv2.resize。然而,这只允许L …

python opencv numpy image-processing scipy

1
推荐指数
1
解决办法
508
查看次数

标签 统计

image-processing ×1

numpy ×1

opencv ×1

python ×1

scipy ×1