搞了个摄像头,拍摄有畸变,拍摄出的直线是弧线形状,类似于鱼眼相机,需要正常输出,遂使用OpenCV进行相机标定

1、畸变参数的提取

大哥用MATLAB提取的畸变内参和畸变系数,用来矫正,我不会,此博客主要说参数的使用......(如有需要可以问我,我帮你问大哥)

2、畸变参数的使用(基于Python)

直接上代码,参数共需要两对,一个内参,一个畸变系数

(1)内参,在MATLAB提取,为3X3的一个矩阵,从中去除0,,对应位置填到代码中(应该是可以转置)。

(2)畸变系数,总共有五个,径向畸变3个(k1,k2,k3)和切向畸变2个(p1,p2)。,对比填到代码中,别填错顺序!!!没有的填0就行

import cv2
import numpy as np
cap = cv2.VideoCapture(0)def undistort(frame):fx = 1311.94228326091cx = 937.984968117315fy = 1310.63631268594cy = 514.783585422419k1, k2, p1, p2, k3 = -0.469785052535390, 0.274212670963307, 0.0, 0.0, 0.0# 相机坐标系到像素坐标系的转换矩阵k = np.array([[fx, 0, cx],[0, fy, cy],[0, 0, 1]])# 畸变系数d = np.array([k1, k2, p1, p2, k3])h, w = frame.shape[:2]mapx, mapy = cv2.initUndistortRectifyMap(k, d, None, k, (w, h), 5)return cv2.remap(frame, mapx, mapy, cv2.INTER_LINEAR)while(cap.isOpened()):ret, frame = cap.read()# frame =cv2.imshow('frame', undistort(frame))if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release()
cv2.destroyAllWindows()

Python+OpenCV相机摄像头标定,矫正畸变,实时输出正常视频流相关推荐

  1. Python OpenCV相机参数详解:实现准确的相机标定和图像处理

    Python OpenCV相机参数详解:实现准确的相机标定和图像处理 在计算机视觉领域,相机参数是非常重要的元素.通过相机参数的标定,可以将图像中的像素坐标转化为真实世界中的坐标,从而实现准确的图像处 ...

  2. 摄像头标定原理,摄像头标定矫正主要解决径向畸变和切向畸变。

    摘自:https://www.cnblogs.com/wujianming-110117/p/12488105.html 摄像头标定矫正主要解决径向畸变和切向畸变. 径向畸变是图像像素点以畸变中心为中 ...

  3. 独家|OpenCV1.10 使用OpenCV实现摄像头标定

    作者:Kaustubh Sadekar Satya Mallick翻译:陈之炎 校对:王可汗本文约3200字,建议阅读5分钟 本文为大家系统地介绍了使用OpenCV实现摄像头标定. 标签:摄像头,标定 ...

  4. Python+OpenCV:摄像机标定(Camera Calibration)

    Python+OpenCV:摄像机标定(Camera Calibration) 理论 Some pinhole cameras introduce significant distortion to ...

  5. python+opencv打开摄像头、拍摄指定次数的照片_python+openCV调用摄像头拍摄和处理图片的实现...

    在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦..于是使用python+openCV调用摄像头,在 ...

  6. python opencv打开摄像头,截图保存

    python opencv打开摄像头,截图保存,学习结果如下: 使用python打开摄像头 import cv2 cap = cv2.VideoCapture(0) #设置摄像头 0是默认的摄像头 如 ...

  7. python opencv调用摄像头并追踪移动物体,浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估...

    使用摄像头追踪人脸由于血液流动引起的面部色素的微小变化实现实时脉搏评估. 效果如下(演示视频): 由于这是通过比较面部色素的变化评估脉搏所以光线.人体移动.不同角度.不同电脑摄像头等因素均会影响评估效 ...

  8. Python OpenCV相机参数:如何获取和修改相机参数

    Python OpenCV相机参数:如何获取和修改相机参数 OpenCV是一个广泛使用的计算机视觉库,它提供了丰富的图像处理功能.在许多应用场景中,我们需要对相机进行参数设置,例如调整曝光时间.增益. ...

  9. Python+opencv调用摄像头实现拍照并保存

    Python+opencv调用摄像头实现拍照并保存 安装 OpenCV库 详细源码 注意事项 安装 OpenCV库 pip install opencv-python 详细源码 调用外接摄像头实现拍照 ...

最新文章

  1. 背水一战 Windows 10 (40) - 控件(导航类): AppBar, CommandBar
  2. 通信系统之信道(三)
  3. 在Python中访问字典中的任意元素
  4. highcharts图标插件详解一
  5. Linux IP 配置
  6. sqlite 字符串 转 整型 cast 函数 (强制类型转换 )
  7. 宝塔 开启_宝塔面板安装完的一些列操作
  8. 雷军玩谐音梗:称米粉为“小粽子” 因为粽子“心中有MI”
  9. SQL SERVER 2000安装教程图文详解
  10. 采用docker部署3台Redis分布式红锁实例
  11. 论文笔记_S2D.49_2017-CVPR_从视频中无监督学习深度和运动估计(SFMLearner)
  12. PLC状态机编程第一篇-状态机介绍
  13. 第05篇:Mybatis的SQL执行流程分析
  14. LXC的Python学习笔记
  15. mysql通过配置文件进行优化
  16. 单工通信、半双工通信和双工通信
  17. Flask表单提交的方法
  18. 拇指锁屏APP--新型手机赚钱秒到账到底靠谱不靠谱?
  19. 可变气门升程的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. ubuntu服务器的安装(转载)

热门文章

  1. 喝啤酒喝出的数学问题
  2. day5 谷粒学院 讲师数据加载不出来bug
  3. C/C++和python中的函数参数传递
  4. m install index.php,织梦dede手机端静态化终极解决方案
  5. 删除任务栏 creative cloud files
  6. python特点简述
  7. matlab gui停止键,在MATLAB的过程中停止GUI
  8. golang中int占用多少个字节
  9. 发票的扫码提单及请求税务云
  10. 【Java核心技术】创建多线程