diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e59e1fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +build/ +cmake-build-*/ +.qt/ +.qtc/ +CMakeUserPresets.json +*.user +*.suo +*.vcxproj* +*.sln +*.exe +*.dll +*.pdb diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d1d11f..611ff0e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) find_package(OpenCV REQUIRED) -add_executable(QtOpenCVImageTool +add_executable(QtOpenCVImageTool WIN32 main.cpp MainWindow.h MainWindow.cpp @@ -24,3 +24,7 @@ target_link_libraries(QtOpenCVImageTool PRIVATE ) target_include_directories(QtOpenCVImageTool PRIVATE ${OpenCV_INCLUDE_DIRS}) + +if(QT_VERSION_MAJOR EQUAL 6) + qt_finalize_executable(QtOpenCVImageTool) +endif() diff --git a/QtOpenCVImageTool.zip b/QtOpenCVImageTool.zip index 116fd4d..194aacc 100644 Binary files a/QtOpenCVImageTool.zip and b/QtOpenCVImageTool.zip differ diff --git a/readme.md b/readme.md index 422bfad..a261511 100644 --- a/readme.md +++ b/readme.md @@ -20,19 +20,60 @@ - 图像分类:根据平均亮度和主色通道给出简单分类,同时显示目标数量。 - 线程处理:图像处理工作对象运行在 `QThread` 中,避免阻塞界面。 -## 编译运行 +## Windows 编译运行 -需要先安装 Qt5 或 Qt6、OpenCV、CMake 和 C++17 编译器。 +本工程用于构建 Windows 桌面应用程序。建议使用 Qt Creator 打开 `CMakeLists.txt` 构建,编译器可选择 MSVC 或 MinGW,但 Qt、OpenCV 和编译器位数必须一致,例如全部使用 64 位。 -```bash -mkdir build -cd build -cmake .. -cmake --build . -./QtOpenCVImageTool +### 环境准备 + +1. 安装 Qt for Windows,推荐 Qt 6.x,并安装对应的 MinGW 64-bit 或 MSVC 64-bit 组件。 +2. 安装 OpenCV for Windows,或自行用相同编译器编译 OpenCV。 +3. 安装 CMake。Qt Creator 通常会自带可用的 CMake。 + +### Qt Creator 构建 + +1. 打开 Qt Creator。 +2. 选择“打开项目”,打开本目录下的 `CMakeLists.txt`。 +3. 选择 Windows Kit,例如 `Desktop Qt 6.x MinGW 64-bit` 或 `Desktop Qt 6.x MSVC 64-bit`。 +4. 如果 CMake 找不到 OpenCV,在 CMake 配置中加入: + +```text +OpenCV_DIR=C:/opencv/build/x64/vc16/lib ``` -Windows 下可以使用 Qt Creator 打开本目录的 `CMakeLists.txt`,配置好 Qt 和 OpenCV 后直接构建运行。 +实际路径以你的 OpenCV 安装目录为准。MinGW 自编译 OpenCV 时,应填写包含 `OpenCVConfig.cmake` 的目录。 + +5. 点击“构建”并运行。 + +### 命令行构建示例 + +MinGW 示例: + +```bat +mkdir build +cd build +cmake .. -G "MinGW Makefiles" -DCMAKE_PREFIX_PATH=C:\Qt\6.6.0\mingw_64 -DOpenCV_DIR=C:\opencv\build +cmake --build . --config Release +``` + +MSVC 示例: + +```bat +mkdir build +cd build +cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=C:\Qt\6.6.0\msvc2019_64 -DOpenCV_DIR=C:\opencv\build\x64\vc16\lib +cmake --build . --config Release +``` + +### 运行和发布 + +在 Windows 上运行生成的 `QtOpenCVImageTool.exe` 时,需要能找到 Qt 和 OpenCV 的 DLL。调试阶段可在 Qt Creator 中直接运行;发布时可使用: + +```bat +windeployqt QtOpenCVImageTool.exe +``` + +然后把 OpenCV 的运行库 DLL 一并复制到 exe 所在目录,例如 `opencv_world*.dll` 或相关 `opencv_*.dll`。 ## 说明