查看: 2530|回复: 10

[原创] 【Khadas VIM试用】emmc空间不足的情况下安装opencv3.4.0

[复制链接]

主题

好友

1733

积分

进士

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 133 天

    连续签到: 2 天

    [LV.7]常住居民III

    发表于 2018-1-30 15:29:46 |显示全部楼层
    (一)
    编译过opencv的都知道,opencv的源码并不大,加上contrib模块还没用两百M,然而编译的中间文件却多达5、6G。
    11.png

    一般来说这种情况下可以命令安装软件仓库里面的opencv2.4.9,不过作为一个忠于opencv3的粉丝,又或者想要试试3.3、3.4的深度学习模块,那么在装完系统后剩余的2G空间里应该如何编译安装opencv3呢?
    经过多次失败的摸索以及上次试用banana pi berry的经验,我从手手挤挤大神那里发现了好方法。
    首先,准备一个ext4格式的存储设备,可以是U盘,当然TF卡更好,可以直接插进卡槽。(必须是ext4格式,nfs格式的已经经过验证,在40%左右会报文件系统错误)

    (二)准备工作
    1、下载源码:转眼间opencv版本就从我上次试用香蕉派的3.2.0更新了三次,上升到了拥有可以调用caffe的dnn的3.4.0。
    opencv3.4.0:https://github.com/opencv/opencv/archive/3.4.0.tar.gz
    opencv_contrib3.4.0:https://github.com/opencv/opencv_contrib/archive/3.4.0.tar.gz
    2、将opencv_contrib3.4.0解压到/home目录下,而opencv3.4.0解压到tf卡内(opencv_contrib3.4.0一定要在home目录下,否则会在33%左右报文件系统错误),然后进入解压文件内部,创建build文件夹,进入内部,创建脚本,修改权限:
    1. mkdir build
    2. cd build
    3. mkdir opencv_cmake.sh
    4. sudo chmod -R 777 ../build
    复制代码
    (三)编译
    脚本内容:
    1. #!/bin/bash
    2. cmake -DCMAKE_BUILD_TYPE=RELEASE \
    3.     -DCMAKE_INSTALL_PREFIX=/usr/local \
    4.     -DINSTALL_C_EXAMPLES=OFF \
    5.     -DOPENCV_EXTRA_MODULES_PATH=/home/khadas/opencv/opencv_contrib-3.4.0/modules \
    6. -DWITH_QT=ON \
    7.     -DWITH_TBB=ON \
    8.     -DWITH_V4L=ON \
    9.     -DWITH_GTK=ON \
    10.     -DWITH_OPENGL=ON \
    11.     -DBUILD_EXAMPLES=ON ..
    复制代码
    等cmake完成后,可以直接make -j4编译。不过本人为了试验编译时间,创建如下脚本,修改权限,内容:
    1. #!/bin/bash
    2. start_tm=`date +%s%N`;
    3. filename=$(date '+%Y%m%d %H:%M:%S')
    4. echo $filename
    5. make -j4
    6. filename=$(date '+%Y%m%d %H:%M:%S')
    7. echo $filename
    8. end_tm=`date +%s%N`;
    9. use_tm=`echo $end_tm $start_tm | awk '{ print ($1 - $2) / 1000000000}'`
    10. echo $use_tm
    复制代码
    执行命令:
    1. sudo nohup ./make_tool.sh > output &
    复制代码
    事先一定要先创建好output文件并付好权限,否则进程会立即停止。
    该行为可以使编译进程成为孤儿进程,即使ssh窗口关闭都不会停止如果在文末加上一个shutdown,命令,甚至可以在睡觉前编译,第二天起来查看。此外,还会在编译完输出编译过程消耗的时间。由于我过程中出现了tf卡空间不足的情况编译被终止,所以我总共的编译时间加起来大概1.5w秒左右,也就是4个小时出头,虽然比起pc端系统的20来分钟差距甚远,但相较于树莓派等其他arm板节省了1/3的时间。

    回复

    使用道具 举报

    主题

    好友

    5168

    积分

    状元

    该用户从未签到

    发表于 2018-1-31 17:11:24 |显示全部楼层
    你们都是一群巨给力的娃
    回复

    使用道具 举报

    主题

    好友

    1733

    积分

    进士

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 133 天

    连续签到: 2 天

    [LV.7]常住居民III

    发表于 2018-2-2 18:06:42 |显示全部楼层
    ky123 发表于 2018-1-31 17:11
    你们都是一群巨给力的娃

    然而这几天回去重新编译以前bananapi的opencv依然不成功,都卡了好几天了……
    回复

    使用道具 举报

    主题

    好友

    1675

    积分

    进士

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 248 天

    连续签到: 38 天

    [LV.8]以坛为家I

    发表于 2018-2-5 17:03:27 |显示全部楼层
    这个真的实用~mark一下
    回复

    使用道具 举报

    主题

    好友

    6466

    积分

    版主

  • TA的每日心情
    开心
    昨天 17:52
  • 签到天数: 292 天

    连续签到: 6 天

    [LV.8]以坛为家I

    发表于 2018-2-8 22:43:32 |显示全部楼层
    电脑交叉编译一样样呀,还快
    回复

    使用道具 举报

    主题

    好友

    1733

    积分

    进士

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 133 天

    连续签到: 2 天

    [LV.7]常住居民III

    发表于 2018-2-9 09:14:10 |显示全部楼层
    robe.zhang 发表于 2018-2-8 22:43
    电脑交叉编译一样样呀,还快

    是欠缺考虑了,没想到交叉编译这一点
    回复

    使用道具 举报

    主题

    好友

    2007

    积分

    版主

  • TA的每日心情
    奋斗
    前天 11:34
  • 签到天数: 310 天

    连续签到: 2 天

    [LV.8]以坛为家I

    发表于 2018-2-22 13:19:15 |显示全部楼层
    系统可以烧写到TF卡启动吗
    回复

    使用道具 举报

    主题

    好友

    1733

    积分

    进士

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 133 天

    连续签到: 2 天

    [LV.7]常住居民III

    发表于 2018-2-22 21:04:18 |显示全部楼层
    可乐丸子 发表于 2018-2-22 13:19
    系统可以烧写到TF卡启动吗

    似乎不行,镜像烧到tf卡只能用卡更新emmc里面的系统,不能从卡槽启动。
    回复

    使用道具 举报

    主题

    好友

    2007

    积分

    版主

  • TA的每日心情
    奋斗
    前天 11:34
  • 签到天数: 310 天

    连续签到: 2 天

    [LV.8]以坛为家I

    发表于 2018-2-22 21:24:49 |显示全部楼层
    day_day 发表于 2018-2-22 21:04
    似乎不行,镜像烧到tf卡只能用卡更新emmc里面的系统,不能从卡槽启动。

    我已经实现了TF卡启动和三系统在emmc切换 具体看经验频道我的帖子
    回复

    使用道具 举报

    主题

    好友

    1733

    积分

    进士

  • TA的每日心情
    奋斗
    5 天前
  • 签到天数: 133 天

    连续签到: 2 天

    [LV.7]常住居民III

    发表于 2018-2-25 21:55:07 |显示全部楼层
    可乐丸子 发表于 2018-2-22 21:24
    我已经实现了TF卡启动和三系统在emmc切换 具体看经验频道我的帖子

    好像没找到那张帖子,是不是这张:
    http://www.eeboard.com/bbs/forum.php?mod=viewthread&tid=99176#lastpost
    我刚才又上官网看了看好像有这篇教程是从tf启动的:
    http://docs.khadas.com/develop/CreateBootableSDCard/
    不过好像要把emmc清空耶
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /4 下一条

    手机版|爱板网

    GMT+8, 2018-12-14 07:33 , Processed in 0.117856 second(s), 22 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001056号

    Powered by Discuz!

    返回顶部