资源简介
由于导师要求自己编写calibrate函数,锻炼自己编写带啊能力和理解论文能力,上传至此,供大家学习交流,张正友相机标定(自己编写calibratie函数,不用OpenCV库函数)
代码片段和文件信息
// Ceres Solver - A fast non-linear least squares minimizer
// Copyright 2015 Google Inc. All rights reserved.
// http://ceres-solver.org/
//
// Redistribution and use in source and binary forms with or without
// modification are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of Google Inc. nor the names of its contributors may be
// used to endorse or promote products derived from this software without
// specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS“
// AND ANY EXPRESS OR IMPLIED WARRANTIES INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT INDIRECT INCIDENTAL SPECIAL EXEMPLARY OR
// CONSEQUENTIAL DAMAGES (INCLUDING BUT NOT LIMITED TO PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE DATA OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY WHETHER IN
// CONTRACT STRICT LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// Author: sameeragarwal@google.com (Sameer Agarwal)
#include “bal_problem.h“
#include
#include
#include
#include
#include
#include “Eigen/Core“
#include “ceres/rotation.h“
#include “glog/logging.h“
#include “random.h“
namespace ceres {
namespace examples {
namespace {
typedef Eigen::Map VectorRef;
typedef Eigen::Map ConstVectorRef;
template
void FscanfOrDie(FILE* fptr const char* format T* value) {
int num_scanned = fscanf(fptr format value);
if (num_scanned != 1) {
LOG(FATAL) << “Invalid UW data file.“;
}
}
void PerturbPoint3(const double sigma double* point) {
for (int i = 0; i < 3; ++i) {
point[i] += RandNormal() * sigma;
}
}
double Median(std::vector* data) {
int n = data->size();
std::vector::iterator mid_point = data->begin() + n / 2;
std::nth_element(data->begin() mid_point data->end());
return *mid_point;
}
} // namespace
BALProblem::BALProblem(const std::string& filename bool use_quaternions) {
FILE* fptr = fopen(filename.c_str() “r“);
if (fptr == NULL) {
LOG(FATAL) << “Error: unable to open file “ << filename;
return;
};
// This wil die horribly on invalid files. Them‘s the breaks.
FscanfOrDie(fptr “%d“ &num_cameras_);
FscanfOrDie(fptr “%d“ &num_points_);
Fsc
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-21 20:01 cameraCalibration\
目录 0 2019-01-21 20:01 cameraCalibration\bin\
文件 78756 2019-01-09 14:58 cameraCalibration\bin\10_d.jpg
文件 72077 2019-01-09 14:58 cameraCalibration\bin\11_d.jpg
文件 79549 2019-01-09 14:58 cameraCalibration\bin\12_d.jpg
文件 79197 2019-01-09 14:58 cameraCalibration\bin\13_d.jpg
文件 79147 2019-01-09 14:58 cameraCalibration\bin\1_d.jpg
文件 81192 2019-01-09 14:58 cameraCalibration\bin\2_d.jpg
文件 82674 2019-01-09 14:58 cameraCalibration\bin\3_d.jpg
文件 71511 2019-01-09 14:58 cameraCalibration\bin\4_d.jpg
文件 80449 2019-01-09 14:58 cameraCalibration\bin\5_d.jpg
文件 80894 2019-01-09 14:58 cameraCalibration\bin\6_d.jpg
文件 84393 2019-01-09 14:58 cameraCalibration\bin\7_d.jpg
文件 81200 2019-01-09 14:58 cameraCalibration\bin\8_d.jpg
文件 78034 2019-01-09 14:58 cameraCalibration\bin\9_d.jpg
文件 11063 2019-01-06 07:32 cameraCalibration\bin\a.cpp
文件 6029096 2019-01-09 14:58 cameraCalibration\bin\calibration
文件 598 2018-11-12 11:44 cameraCalibration\bin\calibration.txt
文件 4711 2019-01-09 14:58 cameraCalibration\bin\calibration_result.txt
目录 0 2019-01-21 20:01 cameraCalibration\build\
文件 13308 2019-01-06 08:56 cameraCalibration\build\CMakeCache.txt
目录 0 2019-01-21 20:01 cameraCalibration\build\CMakeFiles\
目录 0 2019-01-21 20:01 cameraCalibration\build\CMakeFiles\3.5.1\
文件 2002 2019-01-06 08:56 cameraCalibration\build\CMakeFiles\3.5.1\CMakeCCompiler.cmake
文件 4556 2019-01-06 08:56 cameraCalibration\build\CMakeFiles\3.5.1\CMakeCXXCompiler.cmake
文件 8640 2019-01-06 08:56 cameraCalibration\build\CMakeFiles\3.5.1\CMakeDetermineCompilerABI_C.bin
文件 8656 2019-01-06 08:56 cameraCalibration\build\CMakeFiles\3.5.1\CMakeDetermineCompilerABI_CXX.bin
文件 402 2019-01-06 08:56 cameraCalibration\build\CMakeFiles\3.5.1\CMakeSystem.cmake
目录 0 2019-01-21 20:01 cameraCalibration\build\CMakeFiles\3.5.1\CompilerIdC\
文件 8800 2019-01-06 08:56 cameraCalibration\build\CMakeFiles\3.5.1\CompilerIdC\a.out
文件 16423 2019-01-06 08:56 cameraCalibration\build\CMakeFiles\3.5.1\CompilerIdC\CMakeCCompilerId.c
............此处省略56个文件信息
相关资源
- 快递单邮政编码识别系统的实现
- Ubuntu16.04中配置Qt5.9.1和OpenCV3.4.0过程
- OPC+UA+SDK
- 西门子开发的OPC UA客户端和源码
- 搭建OMAPL138的Linux开发环境 LINUX交叉编
- 张正友相机标定--A Flexible New Techniqu
- 数据结构课程设计——哈夫曼编/译码
- 适用于VC的FFMpeg静态库已编译)
- 学生信息管理系统,非常详细
- NS2工作环境安装图文详解
- win32下的简单打字游戏
- VS2017环境集成百度语音识别API工程
- Ubuntu使用手册(中文)
- 基于张正友标定法和基于消失点标定
- openGL实现三维点云显示
- Qt之纯QML实现视频播放器源码
- Bonjour SDK for Windows
- 基于winpcap的网络数据采集器的实现
- 空间向量模型源代码
- Linux 基础教程 基于ubuntu
- 关于求线段和线段,线段和圆弧,圆
- PCL点云库SACSegmentation用法demo
- cocos2dx经典三消游戏
- 《深入理解计算机系统》随书代码
- glut库glew库glfw库glaux库
- 人脸识别系统设计-毕业设计
- 相机标定完整工程vs
- ACM大学生程序设计竞赛在线题库精选
- OpenSSL-win64库使用依赖文件
- wubi.exe用于安装ubuntu系统的工具
评论
共有 条评论