Skip to content

Fang0000420/OpenCamera

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenCamera - 基于OpenCV与Qt的图像查看工具

项目简介

OpenCamera是一个轻量级图像查看工具,基于OpenCV 4.12.0和Qt 6.10.1开发,支持本地图片浏览和摄像头实时预览功能,并具备窗口缩放时自动保持图像比例的特性,避免图像拉伸变形。

功能特点

  • 支持打开本地图像文件(支持格式:.jpg、.jpeg、.png、.bmp、.ppm)
  • 支持摄像头实时预览(默认调用设备默认摄像头)
  • 窗口缩放时自动保持图像原始宽高比,避免拉伸
  • 图像平滑缩放与居中显示,提升视觉体验
  • 简洁直观的操作界面,一键切换图片/摄像头模式

环境要求

  • 操作系统:Windows/macOS/Linux(支持Qt与OpenCV运行的系统)
  • 开发框架:Qt 6.10.1
  • 图像处理库:OpenCV 4.12.0
  • 编译器:支持C++11及以上标准的编译器(如GCC、MSVC等)

编译与运行步骤

1. 准备依赖

  • 安装Qt 6.10.1(确保包含Qt Widgets模块)
  • 安装OpenCV 4.12.0(配置环境变量或编译时指定路径)

2. 获取代码

克隆或下载项目代码到本地目录

3. 配置Qt项目

在Qt Creator中打开项目,需在.pro文件中配置OpenCV路径(示例配置):

# 配置OpenCV路径(根据实际安装路径修改)
OPENCV_DIR = YOUR_OPENCV_DIR

INCLUDEPATH += $$OPENCV_DIR/include
INCLUDEPATH += $$OPENCV_DIR/include/opencv2

LIBS += -L$$OPENCV_DIR/x64/vc16/lib

4. 编译项目

在Qt Creator中点击"构建"按钮,或使用命令行:

5. 运行程序

编译完成后,运行生成的可执行文件即可启动应用

使用说明

  1. 打开本地图片

    • 点击界面中的"打开图片"按钮(btn_openImage
    • 在文件选择对话框中选择目标图片文件
    • 图片将在主窗口中显示,缩放窗口时会自动保持比例
  2. 打开摄像头

    • 点击界面中的"打开摄像头"按钮(btn_openCamera
    • 程序将调用默认摄像头并实时显示画面
    • 再次点击该按钮可关闭摄像头
  3. 窗口操作

    • 拖动窗口边缘调整大小,图像会自动适配窗口并保持宽高比
    • 图像始终居中显示,缩放过程中保持平滑过渡

项目结构

OpenCamera/
├── mainwindow.h        # 主窗口类声明
├── mainwindow.cpp      # 主窗口类实现(核心逻辑)
├── main.cpp            # 程序入口
├── .gitignore          # Git忽略文件配置(忽略/build/目录)
└── [UI文件]            # Qt Designer生成的.ui文件(未显示,用于界面布局)

核心技术点

  • OpenCV与Qt图像转换:通过cvMatToQImage方法实现OpenCV的Mat与Qt的QImage格式互转
  • 图像比例保持:重写resizeEvent事件,使用fitInView方法实现窗口缩放时的比例适配
  • 定时器刷新:通过QTimer定时获取摄像头帧并更新界面,保证预览流畅性
  • 场景图元管理:使用QGraphicsSceneQGraphicsPixmapItem实现图像的灵活显示与控制

注意事项

  • 确保摄像头设备正常工作且无其他程序占用
  • 打开图片时若提示"无法读取",请检查文件路径是否正确或文件是否损坏
  • 不同系统下OpenCV库的链接方式可能略有差异,需根据实际环境调整.pro文件配置

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors