python实现:旋转矩阵转换为四元数

简介: python实现:旋转矩阵转换为四元数

1 python实现旋转矩阵转换为四元数

例如:下面把3x3的旋转矩阵转换为四元数

from pyquaternion import Quaternion


rotate_matrix = [[-0.0174524064372832, -0.999847695156391, 0.0],
                 [0.308969929589947, -0.00539309018185907, -0.951056516295153],
                 [0.950911665781176, -0.0165982248672099, 0.309016994374948]]

RM = np.array(rotate_matrix)

# 旋转矩阵转换为四元数
def rotateToQuaternion(rotateMatrix):
    q = Quaternion(matrix=rotateMatrix)
    print(q)  # 0.567 +0.412i -0.419j +0.577k
    print(f"x: {q.x}, y: {q.y}, z: {q.z}, w: {q.w}")
    # x: 0.41198412875061946, y: -0.41923809520381, z: 0.5770317346112972, w: 0.567047506333421
    return q


if __name__ == '__main__':
    rotateMatrixToEulerAngles(RM)
    rotateMatrixToEulerAngles2(RM)

    euler_angles = [-0.05366141770874149, -1.2561686529408898, 1.6272221428848495]
    eulerAnglesToRotationMatrix(euler_angles)

    rotateToQuaternion(RM)

输出结果如下:

0.567 +0.412i -0.419j +0.577k
x: 0.41198412875061946, y: -0.41923809520381, z: 0.5770317346112972, w: 0.567047506333421
目录
相关文章
|
传感器 机器学习/深度学习 自动驾驶
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
5962 1
自动驾驶:BEV开山之作LSS(lift,splat,shoot)原理代码串讲
|
数据采集 存储 人工智能
TripoSR开源!从单个图像快速生成 3D 对象!(附魔搭社区推理实战教程)
近期,VAST团队和Stability AI团队合作发布了TripoSR,可在一秒内从单个图像生成高质量3D对象。
|
存储 数据采集 传感器
一文多图搞懂KITTI数据集下载及解析
一文多图搞懂KITTI数据集下载及解析
16968 3
一文多图搞懂KITTI数据集下载及解析
|
5月前
|
存储 数据采集 算法
具身智能:零基础入门睿尔曼机械臂(六)——手眼标定代码库详解,从原理到实践
本文详解睿尔曼手眼标定代码库,涵盖眼在手上与眼在手外两种模式的实现原理及核心代码解析。内容包括数据采集、位姿处理、相机标定与手眼矩阵求解全流程,结合OpenCV的Tsai算法实现高精度坐标转换,助力机器人视觉精准抓取应用开发。
768 3
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
|
算法 计算机视觉
Opencv学习笔记(六):cv2.resize函数的介绍
这篇文章介绍了OpenCV库中cv2.resize函数的使用方法,包括其参数、插值方式选择以及实际代码示例。
3535 1
Opencv学习笔记(六):cv2.resize函数的介绍
|
编解码 关系型数据库 计算机视觉
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
本文介绍了如何在OpenCV中通过使用cisco开源的openh264库来解决不支持H.264编码的问题,并提供了完整的代码示例。
1580 0
Opencv学习笔记(十一):opencv通过mp4保存为H.264视频
|
算法框架/工具 C++ Python
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
1666 0
|
小程序
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
988 1
【04】微信支付商户申请下户到配置完整流程-微信开放平台移动APP应用通过-微信商户继续申请-微信开户函-视频声明-以及对公打款验证-申请+配置完整流程-优雅草卓伊凡
|
机器学习/深度学习 生物认证 语音技术
声纹识别入门:原理与基础知识
【10月更文挑战第16天】声纹识别(Voice Biometrics)是生物特征识别技术的一种,它通过分析个人的语音特征来验证身份。与指纹识别或面部识别相比,声纹识别具有非接触性、易于远程操作等特点,因此在电话银行、客户服务、智能家居等领域得到了广泛应用。
3619 0