歪斜图像的一面

时间:2017-10-07 23:38:07

标签: image raspberry-pi raspberry-pi3

我将在Raspberry Pi上做一个项目,通过投影仪显示图像。图像是一个矩形,长度恰好是宽度的两倍。由于我通过投影仪进行显示,这意味着距离项目最远的一侧最终会比较近的一侧窄,所以我需要扩展图像的那一侧。

有人能指出我正确的方向吗?我甚至不知道什么是正确的术语,并且需要考虑我需要做的数学。

1 个答案:

答案 0 :(得分:1)

你所要求的被称为“梯形校正”,我相信。许多视频投影仪可以自动执行此操作,因此在编写一堆代码之前值得检查:)

以下是使用ImageMagick convert实用程序执行此操作的方法。您需要知道要开始的图像大小。为了便于讨论,让我们假设它是889 x 746.另外,我们假设我们希望图像在底部比底部“更薄”60像素,并且“细化”关于垂直中心对称 - 线。

所以让我们调用左上角像素(1,1),右上角(889,1),左下角(1,746)和右下角(889,746)。左上角和右上角的像素保持原样;左下角“移动”从(1,746)到(61,746)。右下方移动到(829,746),因为889-60是829 - 这是向左移动。

convert -distort perspective命令需要四个像素的坐标,它们的移动前和移动后的值。然后计算如何移动所有其他像素,使原始直线保持笔直。因此,取上面的计算值,我们需要:

convert in.png -virtual-pixel transparent -distort perspective \
   '1,1  1,1         \ 
    889,1 889,1      \
    1,746 60,746     \
    889,746 829,746' \ 
    out.png

当然,间距不是必需的:它只是显示数字如何与上面的计算值对齐。

当然,您需要调整数字以适合您的图像大小以及所需的校正程度。 ImageMagick可用于Raspberry Pi,并且很容易在应用程序代码中嵌入对convert的调用。