Ciclop horus源码编译
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源码编译相关推荐
- java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实
好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...
- 5单个编译总会编译全部_玩转Android10(五)源码编译开发中常用命令
源码开发编译中,熟练掌握常用命令,可以提高开发工作效率.Android源码中,将相关的命令分为如下几类: 1.初始化源码编译环境 初始化编译环境,为后续提供如lunch.make.xxgrep.god ...
- mono和monodevelop源码编译安装
之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程. 而且通过源码安装,可以进一步 ...
- nginx源码编译、负载均衡及模块的扩展
1.nginx源码编译 实验环境: iptables和selinux关闭 redhat6.5 nginx:test1: 172.25.1.11 [root@test1 ~]# ls nginx-1.1 ...
- mac通过tree源码编译安装tree
通过tree源码编译安装 下载源码:curl -O ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz 解压源码:tar xzvf tree-1.6 ...
- 干货|TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法工程师 安装平台 1 平台 目前Tensor ...
- Nginx 源码编译安装
Nginx 源码编译安装环境 Centos7 Nginx1.8.1 下载地址:http://nginx.org/download/ 选择自己想要的版本 我这边使用1.8.1,下载地址:http: ...
- 基本lnmp平台的搭建(源码编译)
lnmp :linux ,nginx ,mysql ,php 系统环境:rhel6.0 selinux and iptables disabled (这里我们都只用源码编译的方式) 1 ste ...
- 源码编译安装percona-xtrabackup-2.3.2
一.系统包需求 rpm -q libaio-devel libgpg-error-devel libgcrypt-devel autoconf automake libidn-devel libcur ...
最新文章
- HTTP测试、常用编解码转换工具
- 10个数冒泡排序流程图_(立下flag)每日10道前端面试题01
- 1CCTableView的使用,TableView响应和小格子tableView实现
- Hive体系结构(一)架构与基本组成
- GIT项目管理工具(part7)--移动或者删除文件
- 22个值得收藏的android开源码-UI篇
- package.json---入门说明
- 位枚举(Bit Flags)
- java future_Java并发编程之异步Future机制的原理和实现
- Ubuntu环境下sublime3 nodejs安装与插件配置
- Android运行时权限,设置帮助类BaseActivity;电话权限,短信权限,
- java中两个数交换的4种方式
- intel 9260AC网卡修改成Killer 1550
- 正交设计 python算法_SPSS统计分析案例:无空白列重复正交试验设计方差分析
- mm,mil,inch,um的转换关系
- RHCE-ansible第二次实验,通过ansible远程yum安装
- 备忘录模式(设计模式_20)
- 网络创业者莱恩-福克斯:最后一分钟的奇迹
- 广东药科大学计算机专业分数线,2016广东药科大学录取分数线_省内分数线
- java 大小写匹配_大写字母的Java正则表达式
热门文章
- Qihoo360/Atlas
- laravel框架总结(九) -- 软删除
- ORACLE常用SQL语句大全
- win10那些你不知道的小技巧操作又来了
- 输入文字就能让ai生成绘画?用什么软件好
- cs231n训练营学习笔记(1)
- 排队论和随机过程(性能优化CPU、服务器调度,软硬件开发者都需要知道的理论)
- JVM -Xmx内存设置超过物理内存问题思考
- 自考《网络经济与企业管理》之泛读概总
- Unity零基础到进阶 ☀️| UGUI布局组件介绍 Vertical Layout Group、Horizontal Layout Group 和 Grid Layout Group