From 4599c4df0eabc9b7200b9908c5679ba4325a6bd6 Mon Sep 17 00:00:00 2001 From: adityavaishampayan Date: Fri, 20 Mar 2020 18:17:17 -0400 Subject: [PATCH] Task 1.15.3 Added stubs for EssentialMatrixFromFundamentalMatrix.py --- .../EssentialMatrixFromFundamentalMatrix.py | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/scripts/EssentialMatrixFromFundamentalMatrix.py b/scripts/EssentialMatrixFromFundamentalMatrix.py index e69de29..691967c 100644 --- a/scripts/EssentialMatrixFromFundamentalMatrix.py +++ b/scripts/EssentialMatrixFromFundamentalMatrix.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- + +""" +MIT License + +Copyright (c) 2018 Aditya Vaishampayan, Amrish Bhaskaran + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +""" + +# @file EssentialMatrixFromFundamentalMatrix.py +# @Author Aditya Vaishampayan (adityavaishampayan) +# @Author Amrish Baskaran (amrish1222) +# @copyright MIT +# @brief essential matrix E=K.T*F*K + +import sys + +# noinspection PyBroadException +try: + sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages') +except: + pass + + +def get_essential_matrix(fundamental_matrix: float, calibration_matrix: float) -> float: + """ + This function obtains an essential matrix from Fundamental matrix + :param fundamental_matrix: 3x3 matrix with rank 2 + :param calibration_matrix: 3x3 camera matrix with camera calibration parameters + :return: 3x3 matrix essential matrix E=K.T*F*K + """ + ...