Firefly-RK3399 上编译安装 OpenCV 3

本帖最后由 eevee 于 2017-5-17 14:22 编辑

OS:官方固件 Xubuntu 16.04

  1. Install

1.1) Required Packages

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

# optional ✓
$ 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

$ git clone https://github.com/opencv/opencv.git
$ cd opencv/
$ git checkout 3.2.0

If use extra modules:

$ git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv_contrib/
$ git checkout 3.2.0

1.3) Building OpenCV from Source

$ cd opencv/
$ mkdir build
$ cd build/

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

$ cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
\
-DPYTHON2_EXECUTABLE=$(which python) \
-DPYTHON_INCLUDE_DIR=/usr/include/$PY_NAME \
-DPYTHON_INCLUDE_DIR2=/usr/include/aarch64-linux-gnu/$PY_NAME \
-DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/lib$PY_NAME.so \
-DPYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/$PY_NAME/dist-packages/numpy/core/include/ \
\
-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \
\
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
..

$ make -j$(nproc --all)
$ sudo make install
  1. Examples

2.1) Canny Edge Detection

canny.py:

#!/usr/bin/env python

import cv2
import numpy as np

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

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

if __name__ == '__main__':
    main()

  1. Appendix

3.1) Install pip

$ python --version
Python 2.7.12

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

$ vi ~/.pip/pip.conf
[global]
format=columns
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

参考:Build OpenCV on Firefly-RK3399

很好很强大,感谢分享。

但是UMat比Mat慢很多,楼主知道怎么回事吗

楼主,我在Cmake这一步编译不过,请问你是直接就编译通过了吗?

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

同问

666

感谢分享

zhqh100 发表于 2018-7-18 18:37
同问

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

楼主很厉害,有用opencv测试过MIPI摄像头吗?

很实用,谢谢

楼主你好,我编译opencv3.4.2后无法import cv2显示找不到cv2这是为什么呢?

请问这样编译出来的,有用到硬件加速吗?