首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

VS2022+OpenCV4.6.0+MFC环境配置

  • 23-10-09 11:02
  • 4622
  • 11014
blog.csdn.net

一、环境安装

        OpenCV:Releases - OpenCVhttps://opencv.org/releases/        VS2022:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器Visual Studio 开发工具和服务让任何开发人员在任何平台和语言的应用开发都更加轻松。 随时随地免费使用代码编辑器或 IDE 进行开发。https://visualstudio.microsoft.com/zh-hans/?rr=https://www.microsoft.com/zh-cn/        查阅相关安装教程安装。

二、OpenCV安装

        安装OpenCV保存到固定地址,我一般装到C盘,方便设置路径,也不会误删除。安装时标注版本,防止后续升级版本覆盖。

   

三、环境变量

        告诉计算机安装的OpenCV在哪里。右键单击“我的电脑”->【属性】->【高级系统设置】->【环境变量】->“path”路径下添加如下路径:

         C:opencv4.6.0opencvuildx64vc15in

此处装在了C盘,根据实际安装路径添加bin文件至path中。添加完成后一路“确定”退出环境配置。

 

 四、VS2022包含路径

       运行VS2022新建MFC基本对话框,单击菜单栏【项目】->【属性】,对工程进行设置。

        1、VC++目录:

                包含目录:C:opencv4.6.0opencvuildinclude;

                                 C:opencv4.6.0opencvuildincludeopencv2;

                库目录:C:opencv4.6.0opencvuildx64vc15lib;

        2、连接器->输入:

                附加依赖项:opencv_world460d.lib;opencv_world460.lib;

                注:opencv_world460d.lib;是在Debug模式下调用,opencv_world460.lib;是在Release模式下调用,此处配置为Debug模式,因此只配置opencv_world460d.lib;即可。

 五、MFC下打开图片

        1、基本对话框中填加picture基本控件,修改属性ID为IDC_picWND。

        2、添加头文件及命名空间         

  1. #include // OpenCV头文件
  2. #include // OpenCV_GUI头文件
  3. using namespace cv;
  4. using namespace std;

        3、头文件中定义一个CRect变量m_picRect,xxDlg::OnInitDialog()中添加一下代码,

  1. Dlg::OnInitDialog()
  2. {
  3. ****
  4. // TODO: 在此添加额外的初始化代码
  5. SetWindowText(L"testOpenCV"); // 设置窗口名
  6. cv::namedWindow("picView", WINDOW_AUTOSIZE); // 设置窗口名
  7. HWND hWnd = (HWND)cvGetWindowHandle("picView"); // 获取窗口句柄
  8. HWND hParent = ::GetParent(hWnd); // 指定子窗口的父窗口句柄
  9. ::SetParent(hWnd, GetDlgItem(IDC_picWND)->m_hWnd);
  10. ::ShowWindow(hParent, SW_HIDE);
  11. CWnd* pWnd = GetDlgItem(IDC_picWND);
  12. pWnd->GetClientRect(&m_picRect); // 获取图片控件大小
  13. return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
  14. }

        4、双击“确定”按钮控件,添加图片读取显示代码。

  1. void CopencvtestDlg::OnBnClickedOk()
  2. {
  3. // TODO: 在此添加控件通知处理程序代码
  4. Mat src = imread("山水.png");
  5. if (src.empty())
  6. {
  7. AfxMessageBox(L"读取图片失败!");
  8. return;
  9. }
  10. cv::resize(src, src, cv::Size(m_picRect.Width(), m_picRect.Height()));
  11. imshow("picView", src);
  12. waitKey(0);
  13. CDialogEx::OnOK();
  14. }

六、运行效果

 注:初始化运行时,cv窗口创建会闪一下,初始化完成后会在picture空间中留下一个阴影,留待后续解决,此处主要为环境配置测试。

 

 

 

注:本文转载自blog.csdn.net的Aqder的文章"https://blog.csdn.net/cc891/article/details/128292456"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top