openCV 立体声校准 - >将相机图像 A 扭曲为相机图像 B
opencv stereo calibration -> warp camera image A into camera image B
我使用opencv成功校准了2台相机的内部和外部(左侧为低分辨率相机,右侧为高分辨率相机)。我从两组图像(棋盘图案-每个相机大约20张图像)中进行了立体校准。我现在有一个left.yml、right.yml和translationRotation.yml。现在我想扭曲/扭曲右图像,使其看起来与左图像相同(透视/扭曲等)。我知道我有校准的所有数据,只是知道如何使用正确的opencv函数来进行操作,例如warpPerspective、remap或其他什么?
背景信息-我基本上是用高分辨率rgb相机馈送(右)代替低分辨率rgb摄像头馈送(左)。将Openframeworks/c++与ofxCv。
谢谢。
如果我理解得对,每个相机上都有不同的失真,你想消除其中一个失真,并应用另一个相机的失真。对于不失真的部分,以下是我过去所做的。
使用OF,在设置时,您可以使用cv::initUndistortRectifyMap
创建失真/不失真贴图,这将为您提供两个cv::Mat
对象形式的贴图。此功能接收来自校准的相机矩阵和失真系数。
然后可以使用cv::remap
应用映射。它将把结果存储在第二个参数中。
在取消扭曲后,您希望应用反向映射,以应用其他摄影机的扭曲。您提到的warpPerspective函数似乎可以很好地实现这一点,但映射可能可以从您获得的.yml
文件中计算出来。这只是应用相反映射的问题。
只要有必要,就可以使用xCV的包装从图像切换到Mat,以确保不会进行不必要的复制。
相关文章:
- 如何使用按钮更新GTK3图像以使用C++从相机捕获图片
- 如何处理来自MIPI相机的12位图像?
- OpenCV 将相机中的图像与相同图像进行匹配不会产生 100% 匹配
- 如何使用OpenCV从已知的3D点云(在没有I的情况下构建)估计新图像I的相机姿态矩阵
- 如何将世界坐标转换为相机图像坐标
- OPENCV:如何使用5点算法从来自不同相机的两个图像之间的特征匹配来计算必需矩阵
- 如何将图像帧相机传递给wasm (C++)中的函数?
- 有没有办法避免在OpenCV中使用RTSP相机时缓冲图像?
- QCameraInfo无法从图像采集卡中识别多个相机
- 如何在 Unity Android 应用程序中的 OpenCV 中使用 ARCore 相机图像
- 使用缝合一组图像的相机参数使用针迹不同的图像集
- OPENCV(C ) - 从已知的3D对象和相机位置计算图像的2D坐标
- 如何使用win IoT在Raspberry Pi上的相机中显示视频流以及一些图像处理
- 如何使用JNI + OpenCV + NDK获取原始的android相机传感器图像数据
- 我是否可以使用 openCV C++从带有红外滤光片的相机捕获的图像中计算 NDVI
- 我可以将从相机获取的单通道图像输出到 winAppi 窗口中吗?
- OpenCV可以从Surface Pro相机捕获图像Microsoft
- 使用C++程序中的拉斯皮斯蒂尔读取相机图像
- 使用OpenCv使用图像序列计算相机校准中的本征估计误差和外在误差
- 相机校准是否取决于图像分辨率