zl-6956 / hand-eye-calibration Goto Github PK
View Code? Open in Web Editor NEWThis project forked from pumpkin-ws/handeyecalib
This project forked from pumpkin-ws/handeyecalib
手眼标定提供的接口: The interfaces provided by hand-eye calibration tool set: 1 - 相机内参标定工具 Tools for calibrating camera intrinsics 2 - 眼在手上标定 Tools for eye in hand calibration 3 - 眼在手外标定 Tools for eye to hand calibration 需要OpenCV版本>4 Need OpenCV version > 4 需要Boost的filesystem模块,安装boost模块的方法可以通过在 程序的安装: 程序的安装和一般的cmake项目安装方式相同,在程序根目录下创建build文件夹,在build文件夹中打开终端。 在终端输入以下指令: cmake .. make sudo make install (输入用户密码) 运行包会被安装到/usr/lib/libsparkvis.so 运行头文件会被安装到/usr/include/sparkvis/*.hpp里面 如果需要删除库,可以将以上的文件和文件夹删除就可以了(sudo rm 和 sudo rm -rf *) :) 安装完成后构造cmake工程,使用target_link_libraries去链接sparkvis 或者是可以直接使用g++ -lsparkvis 软件的使用方法暂时可以参考在example里的例程,更详细的说明文档以后会提供。 所有的软件接口都定义在sparkvis命名空间里面。 内参标定的使用说明: 内参标定 1 - 构造CamCalib对象 sparkvis::CamCalib cc; 2 - 导入图片 cc.loadImages("<DirectoryName>"); 3 - 设置结果路径,会被保存的结果包括了图像的内参,图像的畸变系数,标定板在不同图像中的姿态 cc.setResultDir("<DirectoryName>"); 4 - 调用标定函数,传入变量保存 cc.calibrateIntrinsics(<Pattern>, <Size of board>, <characteristic dimensions>, <intrinsics mat>, <distortion mat>, <rotation vecs>, <translation vecs>); Pattern - 标定板图案,包括了棋盘格,对称圆与非对称圆 Characteristic dimensions - 特征尺寸,对棋盘格而言,是每个格子的边长;对对称圆来说,是圆心与圆心之间的距离 intrinsic mat - 存储内参矩阵的cv::Mat distortion mat - 存储畸变系数的cv::Mat rotation vecs - 存储每一幅图片中标定板旋转向量 translation vecs - 存储每一幅图片中标定板平移向量 眼在手上标定的使用说明: 1 - 创建EIHCalibrator对象 sparkvis::EIHCalibrator eih; 2 - 设置手眼标定结果存储路径 eih.setResultDir(<DirectoryName>); 3 - 调用calibrateHandEye函数 eih.calibrateHandEye(<ImageDirectory>, <Camera Parameters>, <Robot Poses>, <Size of board>, <characteristic dimension>, <dimension unit>, <Calibration Pattern>); 调用时需要在Image Directory里面准备好图片,目前程序可以接受的图片格式为.jpg或者是.png,图像的命名需要严格按照{<数字>_其他表示.文件格式}去存储,这样才可以保证保存的文件按制定顺序读入。 机器人的姿态存储在一个yml文件里面,用户需要直接改写文件夹里面的内容,现阶段只能输入旋转向量,因为旋转向量是唯一的,而且在大多数的示教器上都可以直接读出来。姿态存储时需要和图片一一对应 注意:图片的数量一定要和机器人的数量一致,否则无法标定! 眼在手外标定的使用说明: 眼在手外的接口和眼在手上的接口基本一致,使用方法也基本相同。 后续开发需求: 后续的
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.