Firefly开源社区

Firefly-RK3399 上编译安装 OpenCV 3

114

积分

3

威望

0

贡献

技术小白

积分
114
发表于 2017-5-17 14:11:39     
本帖最后由 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()
复制代码

canny.png

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
回复

使用道具 举报

871

积分

66

威望

51

贡献

超级版主

Rank: 8Rank: 8

积分
871
发表于 2017-5-17 15:43:37     
很好很强大,感谢分享。
回复

使用道具 举报

148

积分

1

威望

3

贡献

游客

积分
148
发表于 2018-1-16 19:54:25     
但是UMat比Mat慢很多,楼主知道怎么回事吗
回复

使用道具 举报

41

积分

0

威望

0

贡献

技术小白

积分
41
发表于 2018-6-25 11:21:08     
楼主,我在Cmake这一步编译不过,请问你是直接就编译通过了吗?
回复

使用道具 举报

8

积分

0

威望

0

贡献

游客

积分
8
发表于 2018-7-18 18:37:25     
Helios 发表于 2018-6-25 11:21
楼主,我在Cmake这一步编译不过,请问你是直接就编译通过了吗?

同问
回复

使用道具 举报

16

积分

0

威望

0

贡献

游客

积分
16
发表于 2018-7-31 11:51:52     
666
回复

使用道具 举报

16

积分

0

威望

0

贡献

技术小白

积分
16
发表于 2018-10-9 14:13:16     
感谢分享
回复

使用道具 举报

7

积分

0

威望

0

贡献

技术小白

积分
7
发表于 2018-10-12 11:21:15     

你好,请问你的问题解决了吗,我和你遇到了同样的问题
回复

使用道具 举报

54

积分

0

威望

0

贡献

技术小白

积分
54
发表于 2018-10-17 14:40:43     
楼主很厉害,有用opencv测试过MIPI摄像头吗?
回复

使用道具 举报

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表