Firefly开源社区

标题: Firefly-RK3399 上编译安装 OpenCV 3 [打印本页]

作者: eevee    时间: 2017-5-17 14:11
标题: Firefly-RK3399 上编译安装 OpenCV 3
本帖最后由 eevee 于 2017-5-17 14:22 编辑

OS:官方固件 Xubuntu 16.04

1) Install

1.1) Required Packages

  1. # compiler ✓
  2. $ sudo apt-get install build-essential
  3. # required ✓
  4. $ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

  5. # optional ✓
  6. $ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
复制代码

1.2) Getting OpenCV Source Code

  1. $ git clone https://github.com/opencv/opencv.git
  2. $ cd opencv/
  3. $ git checkout 3.2.0
复制代码

If use extra modules:

  1. $ git clone https://github.com/opencv/opencv_contrib.git
  2. $ cd opencv_contrib/
  3. $ git checkout 3.2.0
复制代码

1.3) Building OpenCV from Source

  1. $ cd opencv/
  2. $ mkdir build
  3. $ cd build/

  4. $ export PY_NAME=$(python -c 'from sys import version_info as v; print("python%d.%d" % v[:2])')
  5. $ export PY_NUMPY_DIR=$(python -c 'import os.path, numpy.core; print(os.path.dirname(numpy.core.__file__))')

  6. $ cmake -DCMAKE_BUILD_TYPE=RELEASE \
  7. -DCMAKE_INSTALL_PREFIX=/usr/local \
  8. \
  9. -DPYTHON2_EXECUTABLE=$(which python) \
  10. -DPYTHON_INCLUDE_DIR=/usr/include/$PY_NAME \
  11. -DPYTHON_INCLUDE_DIR2=/usr/include/aarch64-linux-gnu/$PY_NAME \
  12. -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/lib$PY_NAME.so \
  13. -DPYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/$PY_NAME/dist-packages/numpy/core/include/ \
  14. \
  15. -DBUILD_DOCS=OFF \
  16. -DBUILD_EXAMPLES=OFF \
  17. -DBUILD_TESTS=OFF \
  18. -DBUILD_PERF_TESTS=OFF \
  19. \
  20. -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
  21. ..

  22. $ make -j$(nproc --all)
  23. $ sudo make install
复制代码

2) Examples

2.1) Canny Edge Detection

`canny.py`:

  1. #!/usr/bin/env python

  2. import cv2
  3. import numpy as np

  4. def main():
  5.     img = cv2.imread('../data/messi5.jpg', 0)
  6.     edges = cv2.Canny(img, 100, 200)

  7.     cv2.imshow('Original & Edge', np.vstack((img, edges)))
  8.     cv2.waitKey()
  9.     cv2.destroyAllWindows()

  10. if __name__ == '__main__':
  11.     main()
复制代码



3) Appendix

3.1) Install pip

  1. $ python --version
  2. Python 2.7.12

  3. $ curl -O https://bootstrap.pypa.io/get-pip.py
  4. $ python get-pip.py

  5. $ vi ~/.pip/pip.conf
  6. [global]
  7. format=columns
  8. index-url=http://mirrors.aliyun.com/pypi/simple/
  9. [install]
  10. trusted-host=mirrors.aliyun.com
复制代码


参考:Build OpenCV on Firefly-RK3399

作者: 牛头    时间: 2017-5-17 15:43
很好很强大,感谢分享。
作者: 一只大犀牛    时间: 2018-1-16 19:54
但是UMat比Mat慢很多,楼主知道怎么回事吗
作者: Helios    时间: 2018-6-25 11:21
楼主,我在Cmake这一步编译不过,请问你是直接就编译通过了吗?
作者: zhqh100    时间: 2018-7-18 18:37
Helios 发表于 2018-6-25 11:21
楼主,我在Cmake这一步编译不过,请问你是直接就编译通过了吗?

同问
作者: 寒江雪    时间: 2018-7-31 11:51
666
作者: 笨鸟    时间: 2018-10-9 14:13
感谢分享
作者: 你好明天    时间: 2018-10-12 11:21
zhqh100 发表于 2018-7-18 18:37
同问

你好,请问你的问题解决了吗,我和你遇到了同样的问题
作者: Pokemon    时间: 2018-10-17 14:40
楼主很厉害,有用opencv测试过MIPI摄像头吗?
作者: Nebula4869    时间: 2020-4-21 13:56
很实用,谢谢
作者: GOSH    时间: 2020-5-7 09:46
楼主你好,我编译opencv3.4.2后无法import cv2显示找不到cv2这是为什么呢?

作者: hptsfb    时间: 2021-9-27 16:18
请问这样编译出来的,有用到硬件加速吗?




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1