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等)
- 安装Qt 6.10.1(确保包含Qt Widgets模块)
- 安装OpenCV 4.12.0(配置环境变量或编译时指定路径)
克隆或下载项目代码到本地目录
在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在Qt Creator中点击"构建"按钮,或使用命令行:
编译完成后,运行生成的可执行文件即可启动应用
-
打开本地图片:
- 点击界面中的"打开图片"按钮(
btn_openImage) - 在文件选择对话框中选择目标图片文件
- 图片将在主窗口中显示,缩放窗口时会自动保持比例
- 点击界面中的"打开图片"按钮(
-
打开摄像头:
- 点击界面中的"打开摄像头"按钮(
btn_openCamera) - 程序将调用默认摄像头并实时显示画面
- 再次点击该按钮可关闭摄像头
- 点击界面中的"打开摄像头"按钮(
-
窗口操作:
- 拖动窗口边缘调整大小,图像会自动适配窗口并保持宽高比
- 图像始终居中显示,缩放过程中保持平滑过渡
OpenCamera/
├── mainwindow.h # 主窗口类声明
├── mainwindow.cpp # 主窗口类实现(核心逻辑)
├── main.cpp # 程序入口
├── .gitignore # Git忽略文件配置(忽略/build/目录)
└── [UI文件] # Qt Designer生成的.ui文件(未显示,用于界面布局)
- OpenCV与Qt图像转换:通过
cvMatToQImage方法实现OpenCV的Mat与Qt的QImage格式互转 - 图像比例保持:重写
resizeEvent事件,使用fitInView方法实现窗口缩放时的比例适配 - 定时器刷新:通过
QTimer定时获取摄像头帧并更新界面,保证预览流畅性 - 场景图元管理:使用
QGraphicsScene和QGraphicsPixmapItem实现图像的灵活显示与控制
- 确保摄像头设备正常工作且无其他程序占用
- 打开图片时若提示"无法读取",请检查文件路径是否正确或文件是否损坏
- 不同系统下OpenCV库的链接方式可能略有差异,需根据实际环境调整
.pro文件配置