android安装python opencv_Python、C++、Android OpenCV 开发环境的配置
在 Mac 上折腾了一下 OpenCV 的配置,分别配置了 Python 、C++ 和 Android 上的开发环境,中间还遇到点坑,简要记录一下。
OpenCV 的安装
OpenCV 的安装有两种方式,可以通过下载源码自行编译,也可以通过homebrew来安装。
源码编译
通过源码编译可以参考下面这两篇文章:
大致操作都是要从 Github 上下载好源码,然后配置 cmake ,再通过 make 编译出 cv2.so 库。
Homebrew 安装
通过 homebrew 来安装 OpenCV 就相对简单多了。
直接 brew install opencv 命令就好了。
不过,要注意的是:下载好的 OpenCV 还在 /usr/local/Cellar/opencv/3.3.1_1/ 目录下。
这时候,在 Terminal 上,直接运行 Python3 命令,然后在交互式环境中通过 import cv2的命令来导入 OpenCV 的库依旧是找不到的。
解决办法就是进入到 /usr/local/lib/python3.6/site-packages 目录下,通过 ln 命令将 /usr/local/Cellar/opencv/3.3.1_1/lib/python3.6/site-packages 目录下的 cv2.so 链接到当前目录。
///usr/local/lib/python3.6/site-packages 目录下执行如下指令
sudo ln -s /usr/local/Cellar/opencv/3.3.1_1/lib/python3.6/site-packages/cv2.so cv2.so
这样就可以完成导入了。
Python 配置 OpenCV 环境
Python 开发用的 IDE 是 PyCharm。
事实上在 PyCharm 的 Project Interpreter 中可以添加 Python 库的,直接选择 opencv-python 库就好了,它最终也是通过 pip命令来下载对应的库的。
但却有个问题:
通过这种方式安装的 OpenCV 在运行播放视频的代码时会出错:
import cv2
videoUrl = "/Users/glumes/Desktop/kpt1.mp4"
cap = cv2.VideoCapture('/Users/glumes/Desktop/kpt1.mp4')
while(cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame', gray)
if cv2.waitKey(0) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
报错的内容是:The current event queue and the main event queue are not the same。
给出的原因是因为没有安装好 ffmpeg。
所以还是建议直接通过 brew 的方式安装,然后再创建链接好了。
安装好之后,就可以开始运行我们的 OpenCV 代码了。
简单的展示一张图片代码示例:
import cv2
print(cv2.__version__)
imgUrl = '/Users/glumes/Desktop/blog_camera_block.png'
img = cv2.imread(imgUrl,0)
cv2.imshow('image',img)
cv2.waitKey(0)
print("waiting")
cv2.destroyAllWindows()
C++ 配置 OpenCV 环境
C++ 开发用的 Mac 的 Xcode。
首先要在 Xcode 中创建一个命令行工程。
mac-command-line-project
然后在工程名处右键,选择 Add File to Project,通过快捷键 Command+Shift+G进入到 /usr/local/lib目录下,将所有和 OpenCV 相关的 dylib 库添加进来。
完成了之后,再到工程的 Build Settings中去添加对应的头文件和库文件。
找到 Search Paths,然后在 Header Search Paths 中添加
/usr/local/include
/usr/local/include/opencv
在 Library Search Paths 中添加
/usr/local/lib
效果图如下:
xcode_build_setting
完成之后,就可以开始编写 C++ 代码来开发 OpenCV 了。
同样还是预览一张图片作为示例:
//
// main.cpp
// OpenCVEnv
//
// Created by glumes on 2017/11/7.
// Copyright © 2017年 glumes. All rights reserved.
//
#include
#include
#include
#include
#include
using namespace std;
#define BYTE unsigned char
int main(int argc, const char * argv[])
{
//这个地方的目录需要改成自己的
IplImage* img = cvLoadImage("/Users/glumes/Desktop/blog_opengl_result_point.png", 1);
cvNamedWindow("picture", 1);
cvShowImage("picture", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("picture");
return 0;
}
点击运行,当编译成功时,就可以看到多了一个命令行窗口,里面就是我们预览的图片内容。
完成了开发环境的配置之后,就可以愉快地进行 OpenCV 开发咯。
Android 配置 OpenCV 开发环境
在 Android 上配置 OpenCV 的环境相对就简单多了。
首先要做的就是在官网上 https://opencv.org/releases.html 下载好对应的 SDK ,有 2.x 版本的也有 3.x 版本的。
解压之后,主要有三个目录:apk、sdk、samples,要关心的就是sdk目录了。
在 AS 上新建一个 Android 工程,创建时最好先勾选了 C++ Support 选项,后面会在 CMakeLists.txt 文件中进行更改。
然后选择 Import Module,在弹出的框中,选择下载好的 SDK 的 java 文件夹,如下图:
import_opencv_module
这会将 OpenCV 提供的对 NDK 调用封装的库以依赖的形式导入到我们的工程。
别忘了在工程的 build.gradle 添加如下代码来导入
implementation project(':OpenCVLibrary330')
之后,就是导入 so 动态库。
将 OpenCV-android-sdk\sdk\native\libs 目录下的内容拷贝到应用的 jibLibs 目录下。
import_opencv_sp
接下来修改 CMakeLists.txt 文件,将头文件和库进行导入。
# 包含头文件
include_directories(/Users/glumes/Downloads/OpenCV-android-sdk/sdk/native/jni/include)
# 添加 lib_opencv 动态库
add_library( lib_opencv SHARED IMPORTED )
# 设置库的导入路径
set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libopencv_java3.so)
这里仅仅是导入了 libs 目录下的动态 so 库,也可以将静态的 .a 库导入。
完成了这一步后,就可以用 C++ 进行 OpenCV 的开发了。
在默认的 native-lib 动态库中,添加 opencv 的动态库,这样就可以链接到了。
target_link_libraries( # Specifies the target library.
native-lib
# 链接 opencv 的动态库
lib_opencv
# Links the target library to the log library
# included in the NDK.
${log-lib} )
参考
一起交流学习,答疑解惑,有问题,我们星球见~~~
图形/图像/音视频交流
觉得文章还不错,可以关注一下微信公众号【纸上浅谈】
android安装python opencv_Python、C++、Android OpenCV 开发环境的配置相关推荐
- android python opencv_Python、C++、Android OpenCV 开发环境的配置
在 Mac 上折腾了一下 OpenCV 的配置,分别配置了 Python .C++ 和 Android 上的开发环境,中间还遇到点坑,简要记录一下. OpenCV 的安装 OpenCV 的安装有两种方 ...
- vs2010配置python_win7 环境安装Python + IDE(vs2010)开发
1.下载python安装文件 python-2.7.10.msi 网址:https://www.python.org/downloads/release/python-2710/ ,根据自己环境,选择 ...
- QT配置opencv开发环境
0 编译.配置OpenCV的工程相当曲折,编译OpenCV不下5次,一开始还以为是自己的配置.编译步骤有问题,后来发现原来是自己电脑装的Qt Creator版本有点低,里面的MingW版本较低,而Op ...
- 海康威视摄像机的实时读取篇一(OpenCV开发环境配置)
利用海康SDK+OpenCV,实现海康摄像机图像实时读取.篇一介绍环境配置及相关注意事项. OpenCV开发环境配置 1.下载opencv-2.4.11(其他版本配置过程相似),下载完成后,双击文件会 ...
- 基于Eclipse平台的Android OpenCV开发环境搭建
基于Eclipse平台的Android OpenCV开发环境搭建 作者:雨水, 日期:2016-1-31,CSDN博客:http://blog.csdn.net/gobitan 摘要:本文主要记录了如 ...
- android搭建opencv开发环境,Android Studio搭建opencv开发环境
文章不配图片,阅读需要有Android开发基础并熟悉Android Studio. 一.搭建基于Java开发环境 以下内容介绍如何搭建基于Java jni的opencv开发环境. 1.准备工作 从op ...
- Android开发环境简单配置
为什么80%的码农都做不了架构师?>>> · Android开发环境简单配置 写这个系列的原因也是因为自己对android比较感兴趣,而网上多数教程都是直接参照 ...
- Android开发--环境的配置
Android开发--环境的配置 一 Android开发环境:JDK.eclipse ADT.海马模拟器或者夜神模拟器.配置之前先保证运行内存足够大,不然会导致运行卡. 二 JDK(不用安装) 1.j ...
- Android学习笔记之(一)开发环境搭建
Android学习笔记之(一)开发环境搭建 zouxy09@qq.com http://blog.csdn.net/zouxy09 至于说Android是什么之类的俺就不啰嗦了,因为它离我们太近了.直 ...
最新文章
- 独家 | 一文读懂神经网络(附解读案例)
- 使用PHP对数据库输入进行恶意代码清除
- phaser设置图片资源大小
- CG Rendering v.s. Browser Rendering
- 如何在 macOS Monterey 中使用空间音频?
- php 利用cookie实现访问次数统计
- 永远不要低估自己,love your fear.
- 虚拟桌面和云桌面办公系统
- 介绍java 8 的 Period 和 Duration 类
- 全院级pacs系统中前置服务器,PACS系统性能优化的实施与体会——蒋昆 李哲 赵海涛...
- iOS 开发的一些奇巧淫技
- FX5u plc 如何实现网络远程通讯
- python是微软开发的吗_Python是如何在微软发展壮大的
- 苹果6plus一直没信号服务器,苹果6sPlus信号弱或者无服务解决方法
- 沈阳地铁行业运行状况与发展模式调研报告2022版
- python 计算结果 nan_python中的nan是什么意思
- 离不开的办公文档——OFFICE,OFFICE大客户版本安装部署
- 4个好用的前端库——【瞬间美化项目】
- 基础C语言知识串串香7☞位操作
- IOS快捷指令登录校园网
热门文章
- tecplot批量导出图片_批量导出Excel图片,用这招,半分钟干的活别人一整天完不成...
- Java用户修改密码
- Java是如何实现跨平台的,原理是什么?
- https open api_Web上的分享(Share)API
- R语言基础入门(4)之数据类型与相应运算2
- python基础入门(4)之布尔值
- Python入门基础篇(二)元组,更适合新手哦!!!
- php tls,使用TLS在PHP中建立连接
- eeg数据集_运动想象,情绪识别等公开数据集汇总
- mysql百万级去重_mysql优化小技巧之去除重复项(百万级数据)