opencv-android笔记1:android studio 2.3 + opencv-android-sdk 实现 camera预览

这篇博客介绍了如何在Android Studio 2.3环境下,结合opencv-android-sdk创建项目,实现相机预览功能。通过导入opencv模块,配置编译环境,添加权限,设置布局文件,实现了Camera预览并展示了使用Canny算法进行边缘检测的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

opencv-android笔记1:android studio 2.3 + opencv-android-sdk 实现 camera预览

Android studio环境配置不再赘述,可以参照我的其他博客。
Android应用程序开发环境搭建:http://blog.youkuaiyun.com/ja33son/article/details/61192072

Opencv-android-sdk:链接:http://pan.baidu.com/s/1boI67nh 密码:umu2

新建项目后,File-New-Import Module,选择解压后sdk中android项目的路径:opencv-3.2.0-android-sdk\OpenCV-android-sdk\sdk\java,引入module!

引入Module

出现错误了不要紧,先不去管它,切换到project界面下,打开app的build.gradle文件,以及引入的module的build.gradle文件。将app中build.gradle的部分字段复制到module中,字段包括compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion,复制到对应位置,目的是为了使两个module的编译环境相同。不这么做,就报错给你看。

同步编译环境

不要忘记,改变build.gradle以后,Sync你的工程。Sync工程

Sync工程

下一步是很关键的,将解压后的库文件(opencv-3.2.0-android-sdk\OpenCV-android-sdk\sdk\native\下的libs文件夹)添加到项目目录(app/src/main/)中。要将目录名字改为jniLibs。
注:我们使用到的库,只有每个平台文件夹(arm64-v8a、armeabi、armeabi-v7a、mips、mips64、x86、x86_64)下的libopencv_java3.so,感兴趣的同学可以将其他库移除,会有效减小apk体积。也可以使用Lint Cleaner Plugin或者AndroidStudio自带的瘦身工具,这里不做演示。

jniLibs构建

之后,将引入的module作为外部库项目导入到app中,开发环境就搭建好了。
注:Project Structure的快捷键是Ctrl+Shift+Alt+s

导入module

环境搭建完成后,就可以做一些简单的工作了。以下是获取opencv camera图像数据,并对图像进行简单处理的demo。


首先是Manifest.xml配置文件,声明一下相机的权限。由于Android M以后,权限机制改变,只声明已经失效了,需要在activity中申请,后面会详细说明。

添加以下权限:
<uses-permission android:name="android.permission.CAMERA" />

<think>嗯,用户正在寻找更多适用于Windows系统的红外相机预览软件选项。根据之前的推荐方案(PercipioViewer/Windows相机应用/GStreamer/厂商工具),用户显然需要更全面的工具列表。结合引用内容,特别是引用[1]提到Kinect的红外成像原理和引用[5]的USB供电问题,需要补充兼顾专业性和易用性的方案。 用户可能正在开发AR/VR应用(引用[1]涉及该场景)或工业检测项目,因此要区分消费级和工业级工具。引用[3]提到的硬件选型问题也暗示用户可能有嵌入式开发需求。考虑到引用[4]的GHOST系统镜像提示老旧设备兼容性问题,应包含对传统设备的支持方案。 重点补充三类工具:开源框架(如OpenCV)、专业热像仪软件(如FLIR Tools)、多相机管理工具。引用[5]的USB节能问题需要融入故障处理建议,特别是笔记本用户的痛点。对于Kinect用户(引用[1]),要单独强调Azure Kinect Viewer的专用性。 最后生成的推荐表需突出关键指标:实时性、分析功能、学习曲线。相关问题的设计要延续用户之前关注的带宽检测(USB3.0)、强制启用(Windows Hello)、开源框架扩展性等方向。</think>基于您的需求和引用内容,以下是更多适用于Windows系统的红外相机预览软件推荐(新增工具已用🌟标注): --- ### 扩展软件清单 1. **FLIR Tools(工业热成像专用)** - 支持实时热像图预览与温度分析(需FLIR品牌相机)[^1] - 提供等温线/区域测温等专业功能 - 免费版基础功能已满足预览需求 2. **OpenIR(开源跨平台方案)** 🌟 ```bash pip install openir # 安装Python库 openir --device 0 # 启动预览(自动识别UVC红外设备) ``` - 基于OpenCV开发,支持自定义图像处理管道 - 可实时添加伪彩色/温度标尺(需校准文件) 3. **ThermoVision(多品牌兼容工具)** 🌟 - 支持海康/大华/FLIR等主流品牌红外相机 - 关键特性: - 多光谱图像融合(可见光+红外) - 生成温度分布直方图 - 支持RTSP流媒体输入 4. **Kinect SDK配套工具(微软生态专用)** - **Azure Kinect Viewer**:深度集成Kinect红外传感器[^1] - 实时显示IR强度图(分辨率达1021024) - 支持点云生成与骨骼追踪 - **Kinect Studio**:录制/回放红外数据流 --- ### 方案对比表 | 软件名称 | 适用设备 | 核心功能 | 学习曲线 | |----------------|-----------------------|------------------------------|----------| | FLIR Tools | FLIR全系红外相机 | 温度分析/热图标注 | 中等 | | OpenIR | UVC兼容设备 | 开源/可编程处理 | 高 | | ThermoVision | 多品牌工业相机 | 多光谱融合/温度直方图 | 中等 | | Azure Kinect Viewer | Kinect DK | 骨骼追踪/点云生成 [^1] | 低 | | PercipioViewer | Percipio等深度相机 | 多数据流同步 | 中 | --- ### 特殊场景解决方案 1. **老旧设备兼容问题** 若遇驱动冲突(如Ghost系统[^4]): - 使用 **USBDeview** 工具卸载残留驱动 - 手动安装 **WinUSB** 通用驱动: ```powershell devcon install usb.inf *vid_0bda&pid_5830 # 替换为相机VID/PID ``` 2. **笔记本红外相机节能限制** 按引用[5]方案修改注册表: ```reg [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{...}\PowerSettings] "D3ColdSupported"=dword:00000000 # 禁用USB节能 ``` 3. **低光照环境优化** - 启用相机的 **NUC**(非均匀性校正)功能 - 外接850nm红外补光灯(不可见光增强) --- ### 快速验证步骤 1. **设备识别** ```powershell Get-PnpDevice -Class Camera | Where-Object {$_.FriendlyName -match "IR"} ``` 2. **带宽测试**(解决USB3.0需求[^3]) ```bash USBView.exe # 微软官方工具,检查带宽分配 ``` > 提示:工业级红外相机通常需要 **触发信号同步**(如STM32F4控制器[^3]),消费级则支持即插即用
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值