單目定位測距 相似三角形比例計算 python

2021-10-06 02:53:01 字數 1271 閱讀 4969

單目測距原理參考部落格

在以上部落格中,測距原理博主介紹的很好,主要貼下自己寫的python測試**,做個簡單的記錄。

import os

import cv2

import time

import numpy as np

import math

def dist_cab():

//影象解析度

frame_width = 1280

frame_height = 720

//相機內參

camera_cx = 628.060

camera_cy = 345.411

camera_fx = 716.168

camera_fy = 715.988

//標定點畫素、相機高度、標定點實際距離

cab_pixel_y = 650

camera_h = 0.735*1000

cab_dist = 1.61*1000

//求主點對應的實際距離,與相機的角度

a1 = math.atan(camera_h / cab_dist)

a2 = math.atan((cab_pixel_y - camera_cy) / camera_fy)

a3 = a1 - a2

op_dist = camera_h * math.atan(a3)

//求任意畫素點的y方向實際距離

if_pixel_y = 600

b1 = math.atan((if_pixel_y - camera_cy) / camera_fy)

b2 = a3 + b1

if_dist = camera_h / math.tan(b2)

print(if_dist)

//求該畫素點的x方向實際距離

if_pixel_x = 900

pixel_y_dist = math.sqrt(pow((if_pixel_y - camera_cy), 2) + pow(camera_fy, 2))

dist_y_slope = camera_h / math.sin(b2)

dist_x = dist_y_slope * (if_pixel_x - camera_cx) / pixel_y_dist

print(dist_x)

if __name__ == '__main__':

dist_cab()

print('exit...')

相似三角形

time limit 1000 ms memory limit 65536 kib problem description 給出兩個三角形的三條邊,判斷是否相似。input 多組資料,給出6正個整數,a1,b1,c1,a2,b2,c2,分別代表兩個三角形。邊長小於100且無序 output 如果相似...

相似三角形

problem description 給出兩個三角形的三條邊,判斷是否相似。input 多組資料,給出6正個整數,a1,b1,c1,a2,b2,c2,分別代表兩個三角形。邊長小於100且無序 output 如果相似輸出yes,如果不相似輸出no,如果三邊組不成三角形也輸出no。example in...

相似三角形

time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 給出兩個三角形的三條邊,判斷是否相似。input 多組資料,給出6正個整數,a1,b1,c1,a2,b2,c2,分別代表兩個三...