该项目基于 Qt5 和 OpenCV,实现了以下功能:
- 利用摄像头进行实时视频捕捉。
- 用户可以从捕捉的帧中截取图像。
- 在一个新的窗口中,用户可以框选一个区域。
- 通过 OpenCV 的 模板匹配 算法,查找图像中与所选区域相似的部分,并在图像上框出匹配位置。
-
选择摄像头:
- 启动程序后,可以从界面上的下拉框选择一个摄像头。
- 程序将会自动打开摄像头实时捕捉内容。
-
捕捉图像:
- 当您查看到想要捕捉的内容时,点击“拍照”按钮。
- 程序会截取当前帧,并在新对话框中显示。
-
框选匹配区域:
- 在新的对话框中,使用鼠标拖动选择需要作为匹配模板的区域
-
进行模板匹配:
- 释放鼠标完成选择后,程序会自动在彩色图像中找出与选择区域相似的部分,并以黑色矩形框出。
- 单击图像时,图像回到彩色的初始状态,可以再次选择新的区域。
该项目的源代码文件如下:
main.cpp
: QT 程序的入口点imagewidget.cpp
: 处理图像的显示与用户的选择区域操作mainwindow.cpp
: 主窗口的实现,负责摄像头选择、图像捕捉及显示selectiondialog.cpp
: 显示已捕捉到的图像并允许用户选择区域,进行模板匹配操作templatematcher.cpp
: 模板匹配算法的实现类