二、进阶
termux 的环境虽说和 Linux 有些类似,但在文件的路径方面还是有所不同。termux 有两个主要路径的环境变量一个为
$HOME,就是你刚进入终端时的位置。另一个就是 $PREFIX,是 usr 目录,下面有用于存放配置的
/etc,存放可执行文件的
/bin 等。如果要访问
sdcard 的目录,需要先运行 termux-setup-storage。完成授权后,在 $HOME 目录会多出一个 storage
目录。
通过pwd查看当前工作的路径,通过ls
-l查看当前路径下边的内容和权限,进而可以逐步cd进入。
编译安装opencv详见
Refer tohttps://wiki.termux.com/wiki/Instructions_for_installing_python_packages#opencv
1. Install python3 and dev
pkg install python
python-dev
2. Install tools andlibs
pkg install libjpeg-turbo-dev libpng-dev
cmake pkg-config
There might be other required dependecies as well, see the opencv
docs for the list in the opencv documentation.
3. Clone opencv from git
git clone https://github.com/opencv/opencv && cd
opencv
4. Create build directory
mkdir build && cd
build
5. Configure
LDFLAGS=" -llog -lpython3" cmake -DCMAKE_BUILD_TYPE=RELEASE
-DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_opencv_python3=on
-DBUILD_opencv_python2=off -DWITH_QT=OFF -DWITH_GTK=OFF
..
Don't missing the double dot at the end of command, It means start
from the parent folder. After success, execute the following
command:
make
make install
Please be noted that make will take a long time.
6. After installed, test it in python
python
>>> import cv2
>>>cv2.__version__
If no error it will print the version
Note: don'tt install python2, cmake will confuse with it and when
import cv will face error.
/data/data/com.termux/files/home/storage/external-1/opencv-3.4.4/build
LDFLAGS=" -llog" cmake -DCMAKE_BUILD_TYPE=RELEASE
-DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_opencv_python3=off
-DBUILD_opencv_python2=on -DWITH_QT=OFF -DWITH_GTK=OFF
..
LDFLAGS=" -llog" cmake -DCMAKE_BUILD_TYPE=RELEASE
-DCMAKE_INSTALL_PREFIX=$PREFIX
-DBUILD_opencv_python3=on-DBUILD_opencv_python2=off-DWITH_QT=OFF
-DWITH_GTK=OFF ..
安装过程时间可能会有点长10~30分钟左右,编译完成之后OpenCV就安装到了指定的/usr/local下面的一些目录中,库文件就安装到了/usr/local/lib下,Python的模块安装位置是:/usr/local/lib/python2.7/site-packages,执行 ls
/usr/local/lib/python2.7/site-packages/ 可以看到两个文件,一个是cv2.so一个是cv.py
这两个文件在刚才opencv-2.4.13编译的目录下面lib/下也存在着两个python模块文件,但是不幸的是现在并不能直接使用,原因是我们操作系统python依赖包的位置是/usr/lib/python2.7下,所以刚才如果编译到/usr下是直接可以用的,不过这个也不重要,只要我们将这两个文件复制到正确的目录下,那么就能正常使用OpenCV的功能了,执行:
cp /usr/local/lib/python2.7/site-packages/cv*
/usr/lib/python2.7/site-packages/ 复制过去之后进入python交互式界面执行 import cv2
没有报错则安装成功
可以写一个测试的小案例,在服务器上有一张图片是test.jpg现在简单的使用cv2模块解析成图像矩阵,然后再写入磁盘文件中,代码如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import cv2
image = cv2.imread("test.jpg")
print image
cv2.imwrite("test1.jpg",image)#这里将原有的test.jpg生成test1.jpg,
执行 python cvtest.py 执行完后会发现输出好多矩阵变量,并且生成了test1.jpg文件,生成的文件有可能比原文件大也有可能小,具体根据图像来决定,现在查看一下图片内容,和之前是一样的.
安装paddle_mobile如下:
mkdir build && cd build
LDFLAGS=" -llog" cmake -DCMAKE_BUILD_TYPE=RELEASE
-DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_paddle_python3=off
-DBUILD_paddle_python2=on
-DWITH_QT=OFF -DWITH_GTK=OFF ..
CMake Warning:
Manually-specified variables
were not used by the project:
BUILD_paddle_python2
BUILD_paddle_python3
WITH_GTK
WITH_QT
make
make install
安装paddle_mobile如下:
git clonehttps://github.com/PaddlePaddle/Paddle.git&&
cd Paddle
mkdir build && cd build
LDFLAGS=" -llog" cmake -DCMAKE_BUILD_TYPE=RELEASE
-DCMAKE_INSTALL_PREFIX=$PREFIX -DBUILD_Paddle_python3=off
-DBUILD_Paddle_python2=on -DWITH_QT=OFF -DWITH_GTK=OFF
..
CMake Warning:
Manually-specified variables
were not used by the project:
BUILD_paddle_python2
BUILD_paddle_python3
WITH_GTK
WITH_QT
make
make install