不要扯什么狗屁理论;直接实战
单目相机
1. 没做过;待补充
双目目相机
1. 没做过;待补充
鱼眼相机
1. 棋盘格标定法
没做过;待补充
2. 经纬度映射法
如下:
- 下载第三方库defisheye:
下载链接: git clone https://gitcode.com/duducosmos/defisheye.git
(git自行下载并配置name和email)
下载完成后在该文件夹路径下打开终端:
运行: python setup.py install
处理单个图片:
defisheye --image example/images/example3.jpg
处理图片文件夹
defisheye --images_folder example/images --save_dir example/Defisheye
# 处理视频/摄像头
import cv2
from defisheye import Defisheye
def defisheye_frame(frame, dtype='linear', format='fullframe', fov=180, pfov=120):
# 这里的实现取决于 defisheye 库的实际API
obj = Defisheye(frame, dtype=dtype, format=format, fov=fov, pfov=pfov)
return obj.convert()
# 打开视频文件
cap = cv2.VideoCapture(0)
while cap.isOpened():
ret, frame = cap.read()
if not ret:
print("无法读取视频流或视频结束")
break
# 对当前帧进行畸变校正
corrected_frame = defisheye_frame(frame)
# 显示校正后的帧
cv2.imshow('Frame', corrected_frame)
# 按 'ESC' 退出
if cv2.waitKey(30) & 0xFF == 27:
break
# 释放捕获器并关闭任何打开的窗口
cap.release()
cv2.destroyAllWindows()
可尝试使用不同的defisheye_frame参数