自写图像标注工具 QT+Opencv

一款基于QT+Opencv实现的图像像素级标注工具,支持手动绘制轮廓和利用GrabCut进行半自动标注,提供了多种轮廓类型及快捷键操作,能够记录标注进度及所用时间。

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

前段时间由于工作需要对图像中目标进行像素级标注,自己写的小工具,在此分享给大家

环境:

QT+Opencv实现

实现功能:

1 标注任意格式的图像

2 可手动绘制轮廓进行标注

3 可利用GrabCut进行半自动标注

4 支持Hull类型及Poly类型多种轮廓

5 支持各种后退重做等快捷键功能

6 可记录标注进度及标注所用时间

软件截图如下:


左侧第一个目标为GrabCut进行标注的示例,第二个为手动标注的结果

快捷键说明:

1 CTRL+S Save,保存标注的图像

2 CTRL+R Redo,重新进行标注

3 CTRL+U Undo,后退一步

4 手动模式下,鼠标左键进行轮廓绘制,鼠标中键也可进行后退一步的操作,绘制完成后右键进行填充完成

5 自动模式下,鼠标左键直接在目标周围拖出一个矩形-->右键-->Ctrl+右键进行轮廓绘制-->Ctrl+右键填充;为了更精确的提取轮廓,可为GrabCut提供更多的信息:Shift+左键: GC_FG,Ctrl+左键: GC_BG,Alt+左键: GC_PR_FG,LeftClick: GC_PR_BG,参数相关信息可以查阅Opencv文档


小工具地址:https://github.com/lanbing510/ImageLabel


<think>我们正在寻找使用QtOpenCV的开源项目。Qt是一个跨平台的C++图形用户界面应用程序框架,而OpenCV是一个开源的计算机视觉库。结合两者可以开发出强大的图像处理和计算机视觉应用程序。 根据引用[2]和[3],我们可以看到在Qt项目中配置OpenCV的方法,这通常是开发此类项目的第一步。引用[4]展示了一个简单的Qt程序(使用纯C++工程)读取并显示图像的例子。以下是一些使用QtOpenCV的开源项目示例: 1. **OpenCV GUI**:这是一个基于QtOpenCV图形用户界面,提供了图像处理、特征提取、目标检测等功能的图形化操作界面。项目地址:https://github.com/amroamroamro/opencv-gui2.**PhotoMatch**:一个用于摄影测量和三维重建的开源工具,使用QtOpenCV开发。它提供了图像匹配、特征点提取、三维点云生成等功能。项目地址:https://github.com/openpm/pm3. **OpenCV-Computer-Vision-Programming-Cookbook**:虽然这不是一个完整的应用程序,但这本书的源代码示例中包含了使用QtOpenCV构建的多个示例程序。项目地址:https://github.com/laganiere/OpenCV3ComputerVision4.**OpenCVQt**:一个简单的示例项目,展示了如何将OpenCVQt结合使用,包括实时视频处理和图像显示。项目地址:https://github.com/bsdnoobz/opencvqt5. **CamScanner**:一个类似于扫描全能王的开源项目,使用QtOpenCV实现文档扫描、图像增强和PDF导出功能。项目地址:https://github.com/git-yusteven/open_source_camscanner6.**OpenCV ImageAnnotator**:一个用于图像标注工具,支持使用OpenCV进行图像处理,并使用Qt提供用户界面。项目地址:https://github.com/opencv/cvat7.**Qt-OpenCV-Multithreaded**:该项目展示了如何在Qt中使用多线程处理OpenCV视频流,以提高实时视频处理的性能。项目地址:https://github.com/amir-saniyan/Qt-OpenCV-Multithreaded这些项目涵盖了从简单的示例到复杂的应用程序,可以帮助你了解如何将QtOpenCV结合使用。你可以通过它们的代码库学习实际的项目结构和实现细节。 另外,在配置QtOpenCV环境时,可以参考引用[2]和[3]中的方法,在.pro文件中添加包含路径和库文件,或者如引用[1]所述在Visual Studio中配置(如果使用Windows平台)。§§相关问题§§1.如何在Qt项目中配置OpenCV? 2.有哪些使用QtOpenCV的实时视频处理项目? 3.如何学习使用QtOpenCV开发图像处理应用程序?</think>### 使用QtOpenCV的开源项目推荐 以下是结合Qt(图形界面框架)和OpenCV(计算机视觉库)的知名开源项目,涵盖图像处理、机器视觉、医学影像等领域: #### 1. **PhotoScan (Agisoft Metashape 社区版)** - **功能**:3D建模与摄影测量 - **技术栈**:Qt GUI + OpenCV多视图几何算法 - **特点**:支持从照片生成点云/纹理模型 - **项目地址**:[GitHub - PhotoScan Community](https://github.com/agisoft-llc/photoscan-community) #### 2. **LabelImg (图像标注工具)** - **功能**:目标检测数据集标注 - **技术栈**:Qt界面 + OpenCV图像变换 - **特点**:支持YOLO/PascalVOC格式导出 - **项目地址**:[GitHub - LabelImg](https://github.com/heartexlabs/labelImg) #### 3. **OpenCVQt (实时视频处理框架)** - **功能**:摄像头实时滤镜与目标跟踪 - **技术栈**:Qt多线程 + OpenCV DNN模块 - **特点**:集成人脸识别/边缘检测算法 - **项目地址**:[GitHub - OpenCVQt](https://github.com/bsdnoobz/opencvqt) #### 4. **MITK (医学影像工具包)** - **功能**:医学图像分割与可视化 - **技术栈**:Qt插件架构 + OpenCV图像处理 - **特点**:支持DICOM/CT/MRI数据 - **项目地址**:[GitHub - MITK](https://github.com/MITK/MITK) #### 5. **Cameraman (无人机视觉系统)** - **功能**:无人机自主导航 - **技术栈**:Qt地面站 + OpenCV SLAM算法 - **特点**:实时障碍物检测与路径规划 - **项目地址**:[GitHub - Cameraman](https://github.com/ethz-asl/cameraman) --- ### 开发环境配置要点 参考您提供的配置信息[^1][^2][^3],关键步骤包括: 1. **路径配置** 在Qt的`.pro`文件中添加OpenCV库路径: ```qmake INCLUDEPATH += /usr/local/include/opencv4 LIBS += -L/usr/local/lib -lopencv_core -lopencv_highgui ``` 2. **跨平台注意** - Windows需配置`opencv_xxx.lib`[^1] - Linux需链接`.so`动态库[^3] - 注意x86/x64架构匹配[^1] 3. **测试代码** 参考引用[^4]的简单OpenCV图像显示示例: ```cpp #include <opencv2/opencv.hpp> int main() { cv::Mat img = cv::imread("image.jpg"); cv::imshow("Display", img); cv::waitKey(0); return 0; } ``` --- ### 学习资源建议 1. **官方示例** OpenCV源码中的`samples/qt`包含10+Qt+OpenCV示例项目。 2. **实战教程** [Qt-OpenCV-Tutorial](https://github.com/dbzhang800/Qt-OpenCV-Tutorial) 包含摄像头采集/滤镜处理的完整案例。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值