运行环境VS2017,需要配置库为:opencv
题目:样本采集小工具
需求:
用MFC和opencv完成样本采集小工具。
界面功能
1、选中原图片集的目录。
2、选择当前是正样本还是负样本?并选中其目录。
3、通过上一张下一张更换原图片集的图片显示。
鼠标点击图片显示区域功能
1、左击图片选中,以鼠标点击处为中心,宽W*高H的区域。
2、鼠标滚轮上滚扩大选中区域。
3、鼠标滚轮下滚缩小选中区域。
4、右击保存选中区域的图片在正样本或负样本的目录下,取决于当前选中正样本还是负样本。
完成界面如图:
第一步:把MFC界面的那些控件都拖动好并且绑定好opencv图形框
在MFC的初始化函数中添加我们的绑定代码:
复制代码
BOOL CpicroiDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
//InitializeSkin(("Minimized.ssk"));//初始化
// TODO: 在此添加额外的初始化代码
namedWindow("ImageShow", CV_WINDOW_KEEPRATIO); // 用OpenCV创建一个窗口
CRect cWindowRect;
m_PictureControl.GetClientRect(&cWindowRect); // 获取控件窗口大小
//int nWindowWidth = cWindowRect.Width();
//int nWindowHeight = cWindowRect.Height();
//resizeWindow("ImageShow", 200, 100);
HWND hPictureWindow = (HWND)cvGetWindowHandle("ImageShow"); // 获取OpenCV窗口的句柄
HWND hParentWindow = ::GetParent(hPictureWindow);
::SetParent(hPictureWindow, GetDlgItem(IDC_PIC)->m_hWnd); // 关联OpenCV窗口和MFC的控件窗口
::ShowWindow(hParentWindow, SW_HIDE);
GetDlgIt
OpenCV与MFC实战之图像处理 样本采集小工具制作 c++MFC课程设计
最新推荐文章于 2024-03-30 15:49:38 发布
本文介绍了如何使用MFC和OpenCV创建一个图像处理样本采集小工具。工具允许用户选择原图片目录,设定正负样本目录,通过鼠标操作选取和调整图像区域,并保存选中区域到对应的样本目录。详细步骤包括界面控件绑定、选择图片目录、鼠标操作处理等。
摘要由CSDN通过智能技术生成