Initial Qt OpenCV image tool
This commit is contained in:
39
readme.md
Normal file
39
readme.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Qt + OpenCV 图像显示与处理
|
||||
|
||||
本工程使用 Qt Widgets 设计界面,使用 OpenCV 完成图像处理。程序支持打开图片、保存图片、另存图片,支持缩放、平移、旋转,并提供目标提取和简单图像分类功能。图像显示使用 Qt 的 `QLabel`/`QWidget`,没有使用 `cv::imshow`。
|
||||
|
||||
## 文件说明
|
||||
|
||||
- `CMakeLists.txt`:CMake 工程配置。
|
||||
- `main.cpp`:程序入口。
|
||||
- `MainWindow.h`:主窗口类和处理参数声明。
|
||||
- `MainWindow.cpp`:界面、图像读写、Qt 线程和 OpenCV 处理实现。
|
||||
|
||||
## 功能
|
||||
|
||||
- 打开图片:读取 `png/jpg/bmp/tif` 等常见格式。
|
||||
- 保存图片:保存当前处理结果。
|
||||
- 另存图片:将处理结果保存为新文件。
|
||||
- 显示对比:左侧显示处理前图像,右侧显示处理后图像。
|
||||
- 基本处理:缩放、水平平移、垂直平移、旋转。
|
||||
- 目标提取:使用灰度化、Otsu 阈值、形态学处理和轮廓检测提取前景目标,并用绿色矩形框标记目标。
|
||||
- 图像分类:根据平均亮度和主色通道给出简单分类,同时显示目标数量。
|
||||
- 线程处理:图像处理工作对象运行在 `QThread` 中,避免阻塞界面。
|
||||
|
||||
## 编译运行
|
||||
|
||||
需要先安装 Qt5 或 Qt6、OpenCV、CMake 和 C++17 编译器。
|
||||
|
||||
```bash
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build .
|
||||
./QtOpenCVImageTool
|
||||
```
|
||||
|
||||
Windows 下可以使用 Qt Creator 打开本目录的 `CMakeLists.txt`,配置好 Qt 和 OpenCV 后直接构建运行。
|
||||
|
||||
## 说明
|
||||
|
||||
本示例中的分类属于简单规则分类,适合作为课程作业演示:根据图像整体亮度判断“偏亮/偏暗/亮度适中”,根据 BGR 平均值判断主色。若需要更高精度分类,可替换为训练好的 OpenCV DNN 或传统机器学习模型。
|
||||
Reference in New Issue
Block a user