單目測距原理參考部落格
在以上部落格中,測距原理博主介紹的很好,主要貼下自己寫的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,分別代表兩個三...