Perspective Correction - 透视校正

Perspective Correction - 透视校正#

# 透视校正
#
# 这个例子展示了如何使用rotation_corr()来纠正透视图的失真,
# 然后在3D空间中向右旋转新的校正后的图像来处理移动。

import sensor, image, time

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)
clock = time.clock()

# 图像将被扭曲,使以下几点成为新的:
#
#   (0,   0)
#   (w-1, 0)
#   (w-1, h-1)
#   (0,   h-1)
#
# 试着把下面的点设置到一个四边形的角上(按时钟顺序)。
# 您可以通过单击和拖动帧缓冲区并记录histogram小部件中显示的值来获得图像上的点。

w = sensor.width()
h = sensor.height()

TARGET_POINTS = [(0,   0),   # (x, y) CHANGE ME!
                 (w-1, 0),   # (x, y) CHANGE ME!
                 (w-1, h-1), # (x, y) CHANGE ME!
                 (0,   h-1)] # (x, y) CHANGE ME!

while(True):
    clock.tick()

    img = sensor.snapshot().rotation_corr(corners = TARGET_POINTS)

    print(clock.fps())

具体接口定义请参考 rotation_corr