Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\moving_calibration.py

2023-11-03


 *                                                 联系方式:
 *                                                 QQ:2468851091 call:18163325140
 *                                                 Email:2468851091@qq.com
 *

/ ****************************************************************************/ 



# -*- coding: utf-8 -*-
# This file is part of the Horus Project

__author__ = 'Jes煤s Arroyo Torrens <jesus.arroyo@bq.com>'
__copyright__ = 'Copyright (C) 2014-2016 Mundo Reader S.L.'
__license__ = 'GNU General Public License v2 http://www.gnu.org/licenses/gpl2.html'

import time
from horus.engine.calibration.calibration import Calibration


class MovingCalibration(Calibration):

    """Moving calibration:

            - Move motor sequence
            - Call _capture at each position
            - Call _calibrate at the end
    """

    def __init__(self):
        Calibration.__init__(self)
        self.step = 3

    def _initialize(self):
        raise NotImplementedError

    def _capture(self, angle):
        raise NotImplementedError

    def _calibrate(self):
        raise NotImplementedError

    def _start(self):
        if self.driver.is_connected:
            angle = 0.0

            self._initialize()

            # Setup scanner
            self.driver.board.lasers_off()
            self.driver.board.motor_enable()
            self.driver.board.motor_reset_origin()
            self.driver.board.motor_speed(200)
            self.driver.board.motor_acceleration(200)

            # Move to starting position
            self.driver.board.motor_move(-90)

            if self._progress_callback is not None:
                self._progress_callback(0)

            while self._is_calibrating and abs(angle) < 180:

                if self._progress_callback is not None:
                    self._progress_callback(100 * abs(angle) / 180.)

                self._capture(angle)

                angle += self.step
                self.driver.board.motor_move(self.step)
                time.sleep(0.5)

            # Move to origin
            self.driver.board.motor_move(90 - angle)

            self.driver.board.lasers_off()
            self.driver.board.motor_disable()

            # Compute calibration
            response = self._calibrate()

            if self._after_callback is not None:
                self._after_callback(response)


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\moving_calibration.py 的相关文章

  • 机器视觉(一)——ROS中的图像数据

    机器视觉 xff08 一 xff09 ROS中的图像数据 目录 总述一 二维图像数据二 三维点云数据 总述 无论是USB摄像头还是RGBD摄像头 xff0c 发布的图像数据格式多种多样 xff0c 在处理这些数据之前 就需要了解这些数据的格
  • 机器视觉 与 人眼错觉

  • 深度学习相关资料总结

    近这两年里deep learning技术在图像识别和跟踪等方面有很大的突破 是一大研究热点 里面涉及的数学理论和应用技术很值得深入研究 这里总结一些在微博发布和转载的相关资料 以便查阅 一 winsty NIPS2013 Learning
  • HyperLPR车牌识别技术算法之车牌粗定位与训练

    关于HyperLPR HyperLPR是一个使用深度学习针对对中文车牌识别的实现 与较为流行的开源的EasyPR相比 它的检测速度和鲁棒性和多场景的适应性都要好于目前开源的EasyPR HyperLPR可以识别多种中文车牌包括白牌 新能源车
  • 【神经网络深度学习】--语义分割 Unet

    Unet 发表于 2015 年 属于 FCN 的一种变体 Unet 的初衷是为了解决生物医学图像的问题 由于效果确实很好后来也被广泛的应用在语义分割的各个方向 如卫星图像分割 工业瑕疵检测等 Unet 跟 FCN 都是 Encoder De
  • 国外机器视觉解决方案供应商Top 10

    由制造行业的杂志 Manufacturing Tech Insights 2016年评选的机器视觉解决方案供应商Top 10名单如下 Cognex 提供强大的机器视觉软件解决方案 高效的设备防错与故障检测监测供应商 Datalogic 为了
  • 推荐一个超好用的视觉算法可视化分析工具

    First of all 先甩个项目github链接 https github com aiyojun cv algo analysis 如果觉得不错的给个star吧 鉴于视觉软件的开发成本太高 所以本人基于历史经验写了一个超级方便的可视化
  • 【机器视觉】——裂纹检测笔记

    目录 传统算法处理裂缝的基本思路 第一种思路 第二种思路 第三种思路 CPP代码 halcon代码 python代码 Matlab代码 深度学习缺陷检测 裂缝检测文献 传统算法处理裂缝的基本思路 第一种思路 1 先转换彩色图为灰度图 2 进
  • 计算机视觉技术与应用综述

    引用自 无人系统之 眼 计算机视觉技术与应用浅析 张 丹 单海军 王 哲 吴陈炜 一 前言 近年来 人工智能和深度学习获得突破 成为了大众关注的焦点 如LeCun Y Bengio Y Hinton G等 1 提出的深度卷积网络在图像识别领
  • 各版本Opencv对应的各版本Python安装包

    各版本Opencv的对应的各版本Python安装包 https www lfd uci edu gohlke pythonlibs opencv
  • 线阵相机、镜头及光源的选型

    线阵相机顾名思义就是取像是成线性的 它的传感器是成线型的 举个例子 比如面阵相机的分辨率是640 480就是说这个相机横向有640个像元 纵向有480个像元 而线阵相机分辨率只体现在横向 比如2048像素的线阵相机就是说横向有2048个像元
  • FFT频谱分析原理

    FFT频谱分析原理 采样定理 采样频率要大于信号频率的两倍 N个采样点经过FFT变换后得到N个点的以复数形式记录的FFT结果 假设采样频率为Fs 采样点数为N 那么FFT运算的结果就是N个复数 或N个点 每一个复数就对应着一个频率值以及该频
  • opencv中的split函数

    split函数的功能是通道分离 原型 void split const Mat src Mat mvBegin void split InputArray m OutputArrayOfArrays mv 用法很显然 第一个参数为要进行分离
  • 机器视觉图像分析领域,单目测量和双目测量有什么区别和用途?

    单目测量和双目测量在许多应用场景中都有广泛的应用 以下是一些典型的应用场景 单目测量应用场景 1 无人机定位与导航 单目摄像头可以用于无人机的视觉定位与导航 通过捕捉地面特征点 实现无人机的姿态估计和位置定位 2 机器人视觉导航 在轻量级的
  • 机器视觉及其应用发展

    导读 一 机器视觉的研究和发展动态 机器视觉的研究 发展和应用还远没有达到成熟的程度 机器视觉从诞生到今天才只有短短的三十多年时间 在机器视觉中承担 大脑 作用的图像分析处理 图像理解和模式识别理论和技术基础还非常不完善 甚至 机器视觉的图
  • OpenCV学习笔记(17)双目测距与三维重建的OpenCV实现问题集锦(二)双目定标与双目校正

    三 双目定标和双目校正 双目摄像头定标不仅要得出每个摄像头的内部参数 还需要通过标定来测量两个摄像头之间的相对位置 即右摄像头相对于左摄像头的三维平移 t 和旋转 R 参数 图6 要计算目标点在左右两个视图上形成的视差 首先要把该点在左右视
  • 使用Matlab相机标定库(Camera Calibration Toolbox)问题小记

    使用Matlab相机标定库 Camera Calibration Toolbox 问题小记 Camera Calibration Toolbox的官方网站 http www vision caltech edu bouguetj calib
  • 施努卡:基于深度学习的裂缝检测技术

    不同于传统的裂缝检测方法 基于深度学习的检测方法不需要人工干预 能自主学习有代表性的特征 直接对输入图像的裂缝进行检测 随着深度学习方法在许多应用场景中取得了很好的检测结果 国内众多研究人员也开始把基于深度学习的目标检测模型和语义分割模型用
  • 手动切换 Kinect 的驱动程序(for OpenNI 1.* & Microsoft Kinect SDK 1.7)

    微软最近推出了最新版的 Kinect SDK 能够实现实时的 Kinect Fusion 并提供了丰富的手势交互功能 对体感交互开发人员的吸引力越来越大 而 OpenNI 2 0 以上的版本也转为使用微软官方的 Kinect 驱动 也显示了
  • 螺纹检测案例-螺距测量-大径小径检测-螺牙检测

    齿轮检测分析 Gear inspection and analysis 螺纹结构及检测要素 1 大径 宽径 2 小径 窄径 3 中经 4 螺距 间距 5 螺牙高度 深度 VisionBank 软件螺纹检测工具 02 01 螺纹检测分析流程

随机推荐

  • Java面向对象(基础总结)

    Java面向对象 基础总结 面向对象是一种编程思想 面向对象的三大基本特征 封装 继承 多态 面向对象的编程思想就是把事物看作一个整体 从事物的特征 属性 和行为 方法 两个方面进行描述 面向对象的过程就是找对象 建立对象 使用对象 维护对
  • angular中涉及rxjs请求beego接口跨域问题解决

    今天遇到一个调用服务端接口跨域问题 我用本地的angular运行项目 访问本地的beego接口 发现请求接口状态404 并且接口方法还是OPTIONS 一查知道是跨域了 在网上搜索一些跨域访问的方法 发现跨域时访问可以了 但正常post接口
  • Java中的代理(二)--JDK动态代理

    JDK动态代理借助接口实现 目标类需是接口形式 代理类继承InvocationHandler类 通过反射方式动态创建目标类 1 目标对象 public interface ByShoot void byShoot String size p
  • LWN 翻译:Atomic Mode Setting 设计简介(下)

    译者注 紧接上篇文章 本篇翻译起来有难度 同时对读者的技术背景有一定要求 适合深入研究 DRM 驱动的开发人员阅读 通过阅读本文 你将了解如下内容 DRM MODE ATOMIC ALLOW MODESET 标志位的由来及其作用 驱动中随处
  • 常见CMS系统总结

    一 CMS系统是什么 CMS系统指的是内容管理系统 CMS可以理解为CMS帮你把一个网站的程序部分的事全做完了 你要做的只是一个网站里面美工的部份 只要搞几个静态网页模板 一个门户级的网站就出来了 二 CMS系统的分类 企业建站系统 Met
  • MYSQL:ER_NOT_SUPPORTED_AUTH_MODE:Client does not support authentication protocol

    今天新建一个koa项目 启动调用mysql驱动的时候报该错误 solution 在系统mysql终端输入下面命令 重启koa进程即可 yourpassword 是你的数据库账户密码 root和host也是 ALTER USER root l
  • 印刷MES管理系统等数字化系统,应用发展如此迅速

    作为印刷企业最基本的数字化管理系统 印刷MES管理系统与印刷ERP管理系统在最近两年普遍受到印刷企业的关注并得到迅速发展 市场需求旺盛 1 ERP逐渐普及到中小企业 ERP管理系统延续了前两年的发展趋势 市场正在从普及阶段转入升级阶段 一方
  • 构建微服务开源生态,TARS项目将成立基金会

    导语 在20世纪60至70年代 软件开发人员通常在大型机和小型机上使用单体架构进行软件开发 没有一个应用程序能够满足大多数最终用户的需求 垂直行业使用的软件代码量更小 与其他应用程序的接口更简单 而可伸缩性在当时并不是优先考虑的 随着互联网
  • -day11--函数进阶

    day11 函数进阶 目标 掌握函数相关易错点 项目开发必备技能 概要 参数的补充 函数名 函数名到底是什么 区分返回值和print 函数的作用域 1 参数的补充 函数进阶 在特定情况下可以让代码更加简洁 提升开发效率 1 1 参数内存地址
  • 一、Nginx源码安装与yum安装

    目录标题 源码安装 yum安装 源码安装 wget http nginx org download nginx 1 15 8 tar gz tar zxvf nginx 1 15 8 tar gz cd nginx 1 15 8 confi
  • 关于Vue中element按需引入

    在项目中使用elementui确实是很方便的一件事 但是如果我只需要用到其中的某一些元素来简化代码的话 全局引入就显得有点臃肿了 这就有了按需引入的概念 需要什么就引入什么 方便 一 安装element ui npm i element u
  • 基于卷积神经网络的手写数字识别(自建模型)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 卷积神经网络是一种多层的监督学习神经网络 隐含层的卷积层和池采样层是实现卷积神经网络特征提取功能的核心模块 该网络模型通过采用梯度下降法最小化损失函数对网络中
  • JavaScript——为什么静态方法不能调用非静态方法

    个人简介 个人主页 前端杂货铺 学习方向 主攻前端方向 正逐渐往全干发展 个人状态 研发工程师 现效力于中国工业软件事业 人生格言 积跬步至千里 积小流成江海 推荐学习 前端面试宝典 Vue2 Vue3 Vue2 3项目实战 Node js
  • 【机器学习】Random Forest(随机森林)入门和实战(一)先写个项目

    准备条件 seaborn 一个可视化工具 不会用参见 数据可视化工具seaborn matplotlib pyplot 也是一个可视化工具 sklearn pandas numpy jupyter notebook 实践项目 项目地址 Ka
  • [870]MySQL中update修改数据与原数据相同会再次执行吗

    文章目录 背景 测试环境 binlog format为ROW 测试步骤 总结 binlog format为STATEMENT 测试步骤 总结 背景 本文主要测试MySQL执行update语句时 针对与原数据 即未修改 相同的update语句
  • 简单多层神经网络推导及实现

    1 前向传播 2 反向传播 2 1三层网络 2 2多层网络 3 正则化 3 1 L1 Regularization 3 2 L2 Regularization 4 实验结果 5 python实现 coding utf 8 Created o
  • [897]使用Maxwell实时同步mysql数据

    Maxwell简介 maxwell是由java编写的守护进程 可以实时读取mysql binlog并将行更新以JSON格式写入kafka rabbitMq redis等中 这样有了mysql增量数据流 使用场景就很多了 比如 实时同步数据到
  • idea项目使用maven引入json-lib包问题

    项目工程中有依赖到json lib包 通过maven来管理 但是通过如下引用的话 在idea中会报错 官网给出的json lib依赖如下
  • OLED透明屏设计:开创产品创新的未来之路

    OLED透明屏作为一项革命性的技术 正以其卓越的特性和创新的应用 引领产品设计领域的未来 那么 尼伽将探索OLED透明屏设计的创新之路 从材料选择 形状设计 交互体验等多个角度 结合相关真实数据材料和研究报告 阐述其在产品设计中的应用和优势
  • Ciclop开源3D扫描仪软件---Horus源码分析之src\horus\engine\calibration\moving_calibration.py

    联系方式 QQ 2468851091 call 18163325140 Email 2468851091 qq com coding utf 8 This file