#!/usr/bin/env python import numpy as np # copied from common.transformations/camera.py eon_focal_length = 910.0 # pixels eon_dcam_focal_length = 860.0 # pixels webcam_focal_length = -908.0/1.5 # pixels eon_intrinsics = np.array([ [eon_focal_length, 0., 1164/2.], [ 0., eon_focal_length, 874/2.], [ 0., 0., 1.]]) eon_dcam_intrinsics = np.array([ [eon_dcam_focal_length, 0, 1152/2.], [ 0, eon_dcam_focal_length, 864/2.], [ 0, 0, 1]]) webcam_intrinsics = np.array([ [webcam_focal_length, 0., 1280/2/1.5], [ 0., webcam_focal_length, 720/2/1.5], [ 0., 0., 1.]]) if __name__ == "__main__": import cv2 # pylint: disable=import-error trans_webcam_to_eon_rear = np.dot(eon_intrinsics, np.linalg.inv(webcam_intrinsics)) trans_webcam_to_eon_front = np.dot(eon_dcam_intrinsics, np.linalg.inv(webcam_intrinsics)) print("trans_webcam_to_eon_rear:\n", trans_webcam_to_eon_rear) print("trans_webcam_to_eon_front:\n", trans_webcam_to_eon_front) cap = cv2.VideoCapture(1) cap.set(cv2.CAP_PROP_FRAME_WIDTH, 853) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) while (True): ret, img = cap.read() if ret: # img = cv2.warpPerspective(img, trans_webcam_to_eon_rear, (1164,874), borderMode=cv2.BORDER_CONSTANT, borderValue=0) img = cv2.warpPerspective(img, trans_webcam_to_eon_front, (1164, 874), borderMode=cv2.BORDER_CONSTANT, borderValue=0) print(img.shape, end='\r') cv2.imshow('preview', img) cv2.waitKey(10)