1.简介


Ciclop是西班牙BQ公司开源的一个DIY 3D扫描仪Horus则是配套开发的3D扫描软件。这款Ciclop是完全开源的,该公司甚至把有关这台3D扫描仪的所有相关机械设计、电子、软件、算法、数学和进行的测试都公布在了开源社区上,任何有兴趣的人都可以跟着构建出自己的3D扫描仪,并使用软件对其进行测试。源文件可以从github上获得。

2.获取源码

源码

3.开发环境

UBNUTU16:

官方的文档中有对ubuntu下开发的帮助,我这里与官方的有些不一样
1.安装必要的包

sudo apt-get install python-serial python-opengl python-pyglet python-numpy python-scipy python-matplotlib
sudo apt-get install python-wxgtk3.0
sudo apt-get install avrdude #这是为给arduino下载代码
sudo apt-get install python-opencv #虽然horus推荐ppa仓库中的opencv,但apt下载的opencv也可以用,当然自己编译也可以
sudo apt-get install v4l-utils

除此之外还要有一个 horus 库,后经过分析其实并不需要,但还是先安装上,官方文档中给的是添加 ppa仓库,因为是国外的网站,添加很容易失败,故直接从仓库中下载安装包

2.安装好后再执行:

cd horus
python horus

Windows10:

官方文档中并未给出windows下的开发方式,分析源码后发现开发其实只需要有python环境即可,至于horus库,观察代码结构后其实就在源码之中,位于 src 文件夹中,主程序位于 horus 中 ,这是一个python文件,但它给的源码中却不是 .py 文件.
当我用pycharm 从当前文件夹中创建工程,点击运行,不出所料,果然运行不了,之后就是各种坑。

1. 无法导入horus库


代码中是有切换路径的过程

sys.path.insert(0, os.path.join(os.path.dirname(__file__), "src"))
from horus.util import resources

可是运行后除了第一个可以引用其他的都无法引用,很显然并没有起作用。在不改动代码的情况下找到了一个绝佳的解决办法,就是在环境变量中添加模块路径,这里我并不是在windows中直接添加,而是在pycharm中添加:
点击 运行 > 编辑配置

可以看到pycharm中是有关于环境变量的配置的,在Envitonment variables 中添加src 的目录:

PYTHONPATH=\horus路径\

重新打开工程就能顺利导入了

2.opengl库异常

百度上有人说是 glut.h、glut64.dll、glut64.lib 缺失,测试过后不行,后来搞清楚这是因为我用 conda 下载的pyopengl库是32位的,而系统需要64的才行,到 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 中找到 amd64的安装包,一定要下python2的

3.wx库异常

这是由于我用conda下载的库版本与所需不同导致函数无法引用,百度上说不同的版本函数有变。我又打开ubuntu 查看wxpython的版本,果然ubuntu上的是 3.0.2.0 ,而anaconda 中的是4.0 ,问题显而易见了,
这里把原来的wxpython 删掉 ,重新搜索,只有一个3.0的版本

conda remove wxpython
conda search wxpython
conda install wxpython==3.0


安装好后运行成功!

Ciclop horus源码编译相关推荐

  1. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  2. 5单个编译总会编译全部_玩转Android10(五)源码编译开发中常用命令

    源码开发编译中,熟练掌握常用命令,可以提高开发工作效率.Android源码中,将相关的命令分为如下几类: 1.初始化源码编译环境 初始化编译环境,为后续提供如lunch.make.xxgrep.god ...

  3. mono和monodevelop源码编译安装

    之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程. 而且通过源码安装,可以进一步 ...

  4. nginx源码编译、负载均衡及模块的扩展

    1.nginx源码编译 实验环境: iptables和selinux关闭 redhat6.5 nginx:test1: 172.25.1.11 [root@test1 ~]# ls nginx-1.1 ...

  5. mac通过tree源码编译安装tree

    通过tree源码编译安装  下载源码:curl -O ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz  解压源码:tar xzvf tree-1.6 ...

  6. 干货|TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法工程师 安装平台 1 平台 目前Tensor ...

  7. Nginx 源码编译安装

    Nginx 源码编译安装环境 Centos7 Nginx1.8.1    下载地址:http://nginx.org/download/ 选择自己想要的版本 我这边使用1.8.1,下载地址:http: ...

  8. 基本lnmp平台的搭建(源码编译)

    lnmp :linux ,nginx ,mysql ,php 系统环境:rhel6.0    selinux and iptables disabled  (这里我们都只用源码编译的方式) 1 ste ...

  9. 源码编译安装percona-xtrabackup-2.3.2

    一.系统包需求 rpm -q libaio-devel libgpg-error-devel libgcrypt-devel autoconf automake libidn-devel libcur ...

最新文章

  1. HTTP测试、常用编解码转换工具
  2. 10个数冒泡排序流程图_(立下flag)每日10道前端面试题01
  3. 1CCTableView的使用,TableView响应和小格子tableView实现
  4. Hive体系结构(一)架构与基本组成
  5. GIT项目管理工具(part7)--移动或者删除文件
  6. 22个值得收藏的android开源码-UI篇
  7. package.json---入门说明
  8. 位枚举(Bit Flags)
  9. java future_Java并发编程之异步Future机制的原理和实现
  10. Ubuntu环境下sublime3 nodejs安装与插件配置
  11. Android运行时权限,设置帮助类BaseActivity;电话权限,短信权限,
  12. java中两个数交换的4种方式
  13. intel 9260AC网卡修改成Killer 1550
  14. 正交设计 python算法_SPSS统计分析案例:无空白列重复正交试验设计方差分析
  15. mm,mil,inch,um的转换关系
  16. RHCE-ansible第二次实验,通过ansible远程yum安装
  17. 备忘录模式(设计模式_20)
  18. 网络创业者莱恩-福克斯:最后一分钟的奇迹
  19. 广东药科大学计算机专业分数线,2016广东药科大学录取分数线_省内分数线
  20. java 大小写匹配_大写字母的Java正则表达式

热门文章

  1. Qihoo360/Atlas
  2. laravel框架总结(九) -- 软删除
  3. ORACLE常用SQL语句大全
  4. win10那些你不知道的小技巧操作又来了
  5. 输入文字就能让ai生成绘画?用什么软件好
  6. cs231n训练营学习笔记(1)
  7. 排队论和随机过程(性能优化CPU、服务器调度,软硬件开发者都需要知道的理论)
  8. JVM -Xmx内存设置超过物理内存问题思考
  9. 自考《网络经济与企业管理》之泛读概总
  10. Unity零基础到进阶 ☀️| UGUI布局组件介绍 Vertical Layout Group、Horizontal Layout Group 和 Grid Layout Group