自述文件 ##目标## 该项目将在android下使用VlFeat + OpenCV来构建可通过使用某些检测/分类算法通过摄像头拍照来识别物体的应用程序。 old-Notes(用于jni-myold文件夹版本) 必须编辑Application.mk以添加“ APP_PLATFORM:= android-9”,否则将无法成功链接。 参考: 。 还可以交叉参考ndk-build教程。 注释(用于jni文件夹)## 这是用于较新的版本和构建系统,因为较旧的jni包含过时的文件和库。 要修复构建错误,请检查Android.mk是否有一些链接的库,构建标志/宏。 如果对XXX错误信息有一些未定义的引用,则应为: 有些函数定义不明确,也许我们在实现时都调用了某些函数,尝试比较源代码,找到它并将其添加到我们的仓库中 如果原始的VLfeat没有一个,则应该是Makefile的定义,因为我们
2026-01-28 11:34:01 25.18MB
1
Android Application Programming with OpenCV 3 is a practical, hands-on guide to computer vision and mobile app development. It shows how to capture, manipulate, and analyze images while building an application that combines photography and augmented reality. To help the reader become a well-rounded developer, the book covers OpenCV (a computer vision library), Android SDK (a mobile app framework), OpenGL ES (a 3D graphics framework), and even JNI (a Java/C++ interoperability layer). Now in its second edition, the book offers thoroughly reviewed code, instructions, and explanations. It is fully updated to support OpenCV 3 and Android 5, as well as earlier versions. Although it focuses on OpenCV's Java bindings, this edition adds an extensive chapter on JNI and C++, so that the reader is well primed to use OpenCV in other environments.
2026-01-28 11:32:16 10.84MB Android OpenCV
1
项目简介 本系统通过STM32采集温湿度数据,经ESP32无线传输至云端,结合QT上位机实现可视化监控,适用于智能家居、工业环境等场景,具备高精度、低功耗、易扩展的特点。 功能特点 实时监测:温湿度数据采集频率可调,支持本地OLED显示与云端同步; 远程访问:基于MQTT协议实现数据远程传输,支持上位机远程监测; 超限报警:蜂鸣器自动触发报警,温度阈值可自定义设置; 数据融合:双传感器(DHT11+NTC)结合算法优化,可降低测量误差。 硬件需求 模块 型号/规格 主控芯片 STM32F103C8T6 无线通信模块 ESP32-WROOM-32 温湿度传感器 DHT11 温度传感器 NTC热敏电阻(10kΩ@25℃) 显示模块 0.96寸OLED(I2C接口) 报警模块 5V有源蜂鸣器 辅助元件 4.7kΩ上拉电阻、0.1μF电容等 软件依赖 开发环境:Keil MDK(STM32)、ESP-IDF v5.3(ESP32)、Qt Creator 6.0(上位机); 通信协议:MQTT(用于设备-云端交互)、UART(STM32与ESP32通信,与传感器通信); 库文件:STM32标准库、ESP-IDF库、QT MQTT库。 使用说明 固件烧录: STM32:通过Keil MDK编译固件,经USB转TTL模块烧录; ESP32:使用ESP-IDF编译工程,通过串口下载至模块; 上位机配置: 在Qt Creator中自编译上位机程序,或使用已经编译的发行版。 在配置面板中配置MQTT服务器地址、订阅主题、端口号,连接设备即可接收数据。 连接成功后,点击环境监测面板即可对数据进行监测、分析、处理。
2026-01-24 20:31:48 5.66MB STM32 ESP32
1
《OpenCV计算机编程攻略》第三版的图片集资源,是一个非常宝贵的辅助学习材料,它包含了与教程内容紧密相关的各类图像,对于初学者来说是深入理解OpenCV和计算机视觉概念的重要工具。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛应用于图像处理、模式识别和机器学习等领域。 本压缩包“images.zip”中包含的图片,旨在配合教程,以视觉方式展示各种算法的工作原理和应用实例。这些图片可能包括: 1. **基础图像处理**:如滤波器的效果展示(高斯滤波、中值滤波等)、边缘检测(Canny、Sobel、Laplacian等)的前后对比,以及色彩空间转换(如RGB到HSV)的示例。 2. **特征检测与匹配**:可能包含SIFT、SURF、ORB等特征点检测算法的图像,以及使用BFMatcher、FLANN等方法进行特征匹配的结果。 3. **物体检测与识别**:HOG(Histogram of Oriented Gradients)用于行人检测,Haar级联分类器用于人脸识别,以及物体检测的其他方法如YOLO、SSD等的示例。 4. **图像分割**:包括阈值分割、区域生长、水平集、GrabCut等技术的视觉呈现。 5. **图像变换**:如仿射变换、透视变换、旋转、缩放等操作的实例。 6. **深度学习模型的输入输出**:CNN(卷积神经网络)模型训练过程中的数据增强图像,以及模型预测结果的可视化。 7. **计算机视觉理论**:例如光流、立体视觉、结构光等复杂概念的示意图。 8. **机器学习应用**:决策树、随机森林、支持向量机等在图像分类问题上的应用案例。 通过这些图片,学习者能直观地看到每一步操作对原始图像的影响,加深对OpenCV函数和计算机视觉算法的理解。对于初学者来说,这比纯文字描述更容易消化吸收,能够提高学习效率,激发探索兴趣。同时,这些图片也可以作为个人项目或实验的参考,帮助开发者验证自己的代码是否正确执行了预期操作。 “images.zip”不仅是一个图片集合,更是一套丰富的学习资源,它为OpenCV的学习者提供了直观的视觉支持,使抽象的理论知识变得生动易懂。如果你正在学习OpenCV或计算机视觉,这个压缩包无疑是你宝贵的参考资料。
2026-01-23 10:54:05 76.44MB openCV 计算机视觉
1
使用固定的摄像头,对准桌面,背景采用纯色,推荐白色。要求将螺丝和螺母放到摄像头视场内,对其进行识别与定位,在视频中圈出螺丝与螺母位置,并给出质心位置,并说明种类(螺丝或螺母)。推荐流程:降、二值化、形态学处理、包络及轮廓分析、特征分析、识别、质心求取。 (1)每一步图像处理有对应窗口输出 能够提取螺丝螺母的位置(2) 能够准确识别螺丝螺母并给出质心,方案合理(3) (4)友好的图形化界面
2026-01-22 11:20:03 67.65MB opencv
1
OpenCV(开源计算机视觉库)是一个强大的跨平台计算机视觉库,最初由Intel研发,现在由它自己的非营利组织Itseez维护。版本2.4.5是该库的一个早期但仍然广泛使用的版本,包含了丰富的图像处理和计算机视觉功能。虽然官方可能不再提供此特定版本的直接下载,但可以通过描述中提到的外部网站获取。 OpenCV的核心功能包括: 1. 图像处理:OpenCV提供了多种滤波器,如高斯滤波、中值滤波和 sobel 边缘检测,用于图像平滑、锐化和边缘检测。此外,还包括色彩空间转换,如从BGR到灰度或HSV的转换。 2. 物体检测:OpenCV包含Haar特征级联分类器,用于人脸和其他特定对象的检测。还有基于Histogram of Oriented Gradients (HOG) 的行人检测算法。 3. 特征匹配:OpenCV支持SIFT(尺度不变特征变换)、SURF(加速稳健特征)和其他特征描述符,这些在图像匹配、三维重建和SLAM(Simultaneous Localization and Mapping)等领域非常有用。 4. 图像和视频读写:OpenCV可以轻松地读取、显示和保存各种图像和视频格式,如JPEG、PNG、BMP和AVI等。 5. 图形用户界面:OpenCV提供了简单的GUI工具,如imshow函数,用于显示图像和创建基本的交互式窗口。 6. 机器学习和深度学习:虽然在2.4.5版本中,深度学习的支持相对有限,但它包含了传统的机器学习算法,如支持向量机(SVM)、随机森林和神经网络。 7. 相机校准和立体视觉:OpenCV提供了相机标定的工具,可以消除镜头畸变,进行单目和双目立体视觉计算,从而实现3D重建。 8. 三维重建和运动分析:OpenCV可以处理图像序列,估计物体和相机的运动,以及进行三维重建。 9. 图像分割:OpenCV包含多种图像分割算法,如阈值分割、区域生长和水平集方法,可用于将图像划分为不同的有意义部分。 10. 实时处理:OpenCV的设计考虑了性能,因此非常适合实时应用,如视频分析和机器人导航。 在安装OpenCV 2.4.5时,提供的"opencv2.4.5.txt"可能是安装指南或者包含配置和编译信息的文本文件,帮助用户在不同平台上正确集成和使用库。由于OpenCV是一个C++库,开发者需要理解基本的C++编程和链接库的概念。此外,对于Python或其他语言的支持,还需要设置相应的接口。 OpenCV 2.4.5是一个功能强大的工具,尽管较新版本增加了更多功能和优化,但对于一些特定项目和老系统来说,2.4.5仍然是一个可靠的选择。通过理解和掌握OpenCV的这些功能,开发者可以在图像处理、计算机视觉和机器学习等多个领域实现创新应用。
2026-01-21 22:41:22 147B opencv
1
qt-everywhere-src-5.12.10.tar.xz
2026-01-21 16:57:38 486.1MB
1
Qt框架下OBJ与STL模型文件加载与展示Demo:支持鼠标交互移动、缩放及旋转功能,Qt框架下的模型文件加载与交互操作:obj和stl文件实例的加载、鼠标移动、缩放与旋转演示,Qt加载模型文件obj或者stl实例,支持鼠标移动缩放旋转demo ,Qt加载模型文件obj/stl; 实例化模型; 支持鼠标操作; 缩放旋转demo,Qt加载OBJ/STL模型文件并支持鼠标操作demo 在Qt框架下实现OBJ与STL模型文件的加载和展示是一个涉及计算机图形学和用户交互技术的复杂任务。OBJ和STL是广泛应用于3D打印和3D建模领域的文件格式,分别代表了Wavefront Technologies开发的几何体模型标准和STEREOLITHOGRAPHY(立体光固化)文件格式。在Qt框架中加载这类文件,需要对Qt的图形视图框架、事件处理机制以及3D图形渲染有深入的理解。 该Demo演示了如何利用Qt框架实现对OBJ和STL模型文件的加载,并且通过鼠标交互实现了模型的移动、缩放和旋转功能。这一过程涉及到Qt中的多个模块,比如Qt 3D模块提供了用于3D图形渲染和场景管理的类和功能,而Qt的事件处理系统则负责捕获和响应用户操作,如鼠标点击、拖动等,从而实现对模型的交互控制。 在具体的实现过程中,首先需要读取OBJ或STL格式的文件。OBJ文件格式较为复杂,包含了顶点数据、法线、纹理坐标、材质属性等信息,而STL文件相对简单,主要包含三角形的顶点信息。在Qt中,可以通过文件I/O操作读取这些数据,然后使用适当的图形库(如OpenGL)将其渲染到3D视图中。 对于用户交互部分,Demo展示了如何处理鼠标事件来实现对3D模型的移动、缩放和旋转操作。这通常需要在Qt的事件系统中拦截鼠标事件,并根据用户的操作(例如,鼠标移动时改变模型的方向,滚轮事件来调整模型大小等)来动态调整模型的变换矩阵。变换矩阵是3D图形学中用于描述模型在空间中的位置、方向和大小的重要概念。 文档标题中提到的“柔性数组”可能是对Qt框架中某些动态数据结构的一种比喻,或特指某种用于存储模型数据的数组结构,其大小可以根据模型的复杂度和渲染需求进行调整。 在文件名称列表中,可以见到多个文档标题都与加载和交互演示相关,表明了该Demo不仅提供了代码实现,还可能包含了详细的说明文档,指导用户如何使用这些功能,并解释了背后的技术原理。这些文档可能包含了对Qt框架中相关类的介绍,如何使用这些类加载模型文件,以及如何处理图形渲染和事件响应的细节。 Qt框架下OBJ与STL模型文件加载与展示Demo不仅是一项实用性工具,也是深入学习Qt图形编程的良好案例,它展示了如何在跨平台的开发环境中实现复杂的3D模型交互操作,对开发者来说具有较高的参考价值。
2026-01-20 16:17:44 1.41MB 柔性数组
1
功能特点 标定功能: 圆形标定:使用已知半径的圆形物体进行标定 矩形标定:使用已知尺寸的矩形物体进行标定 自定义标定:支持自定义物体标定(开发中) 测量功能: 圆形测量:测量圆形零件的半径 矩形测量:测量矩形零件的长度和宽度 支持与期望尺寸比较,计算误差 支持保存测量结果 输入方式: 图片输入:上传图片进行标定或测量 摄像头输入:使用摄像头实时捕获图像进行标定或测量 安装说明 确保已安装Python 3.7或更高版本 克隆或下载本项目到本地 安装依赖包: pip install -r requirements.txt 使用方法 运行应用: streamlit run app.py 在浏览器中打开显示的URL(通常是http://localhost:8501) 使用流程: 用户登录: 首次使用需要注册账号 使用已有账号登录系统 根据用户权限访问相应功能 首先进行标定: 图片模式:选择"标定"模式,上传标定图片,输入实际尺寸,点击"开始标定" 摄像头模式:选择"标定"模式,点击"打开摄像头",调整物体位置,输入实际尺寸,点击"开始标定" 然后进行测量: 图片模式:选择"测量"模式,上传测量图片,输入期望尺寸,点击"开始测量" 摄像头模式:选择"测量"模式,点击"打开摄像头",调整物体位置,输入期望尺寸,点击"开始测量" 查看测量结果,可选择保存结果 文件结构 app.py:主应用程序 auth.py:用户认证和权限管理模块 home_page.py:首页界面和导航模块 image_processing.py:图像处理模块 camera_utils.py:摄像头操作和图像采集 text_utils.py:文本处理和格式化 requirements.txt:依赖包列表 calibration/:存储标定数据 results/:存储测量结果 users/:用户数据和配置文件存储
1
下载资源后,在资源所在文件夹中打开终端,然后输入sudo su 输入密码-> 输入tar -zxvf qt5.12.tar.gz-> cd archives-> dpkg -i *.deb 等待解压编译完成就可以使用qt5.12creator进行开发了 在银河麒麟V10操作系统中进行Qt的离线安装,涉及到一系列命令行操作步骤,以及对特定文件进行解压和安装。需要下载相应的资源包,这里指的是名为qt5.12.tar.gz的压缩包。下载完成之后,需要在包含该压缩包的目录中打开终端窗口。 接下来,按照操作描述,首先执行“sudo su”命令以获取超级用户权限。这是因为Linux系统中的某些命令需要管理员权限才能执行,以确保资源包可以正确安装。在提示输入密码时,用户需要输入自己的管理员密码。输入正确的密码后,系统会继续执行后续命令。 紧接着,使用“tar -zxvf qt5.12.tar.gz”命令来解压下载的压缩包。其中,“tar”是Linux系统中用于打包和解包的命令,“-zxvf”是参数组合,分别代表解压.gz文件、显示解压过程和文件列表、允许文件的所有者被覆盖、允许归档文件被更新。这一命令会将压缩包中的内容解压到当前目录下。 解压完成后,命令行中提示用户输入“cd archives”。这一步是改变当前工作目录到解压后的文件夹,通常解压操作会在一个临时的文件夹中进行。这里的“archives”应该是压缩包内包含的一个文件夹,它包含了需要安装的Qt5.12的相关文件。 随后,使用“dpkg -i *.deb”命令来安装所有在当前目录下(即“archives”文件夹内)的名为*.deb的文件。dpkg是Debian及其衍生系统中用于安装、删除和管理软件包的工具。星号(*)是一个通配符,代表所有以deb结尾的文件。这些deb文件可能包含了Qt开发环境的二进制包、库文件和相关的配置文件,安装这些文件将使系统能够识别和使用Qt5.12。 完成上述步骤之后,解压和编译过程就会启动,并且等待一段时间直到安装完成。当安装过程结束后,系统会提示用户完成安装。此时,就可以打开Qt5.12的开发环境Qt Creator进行开发工作了。 需要注意的是,安装过程中可能会遇到依赖性问题或者其他安装问题,这时候可能需要手动解决这些错误,例如通过安装缺失的依赖包或重新下载损坏的安装文件。在某些情况下,还可能需要手动配置Qt环境,比如设置环境变量等。 对于Linux系统来说,使用命令行进行软件安装是一个非常常见且强大的操作方式,它允许用户精确控制安装过程,并且不需要图形用户界面的参与。不过,这也要求用户对Linux系统的操作和命令有相对深入的了解。对于初学者来说,建议在有经验的用户指导下进行操作,或者在安装之前阅读相关的文档和教程。 另外,银河麒麟操作系统是基于Linux内核的一个国产操作系统,它在兼容性上做了很多工作以适应国内用户的使用习惯和满足特定的安全需求。在这样的系统上进行Qt的安装,可以认为是Linux安装流程的一个具体案例。实际上,不管是在银河麒麟系统还是其他基于Linux的系统上,Qt的离线安装流程大同小异,关键在于对Linux命令行的操作理解和对安装包结构的认识。
2026-01-18 02:53:23 414.35MB
1