VS2022+OpenCV4.6.0+MFC环境配置

2023-11-14

一、环境安装

        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.0\opencv\build\x64\vc15\bin

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

 

 四、VS2022包含路径

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

        1、VC++目录:

                包含目录:C:\opencv4.6.0\opencv\build\include;

                                 C:\opencv4.6.0\opencv\build\include\opencv2;

                库目录:C:\opencv4.6.0\opencv\build\x64\vc15\lib;

        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、添加头文件及命名空间         

#include<opencv2/opencv.hpp>             // OpenCV头文件
#include<opencv2/highgui/highgui_c.h>    // OpenCV_GUI头文件

using namespace cv;
using namespace std;

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

Dlg::OnInitDialog()
{
    ****
    // TODO: 在此添加额外的初始化代码
	SetWindowText(L"testOpenCV");	// 设置窗口名
	cv::namedWindow("picView", WINDOW_AUTOSIZE);	// 设置窗口名
	HWND hWnd = (HWND)cvGetWindowHandle("picView");	// 获取窗口句柄
	HWND hParent = ::GetParent(hWnd);				// 指定子窗口的父窗口句柄
	::SetParent(hWnd, GetDlgItem(IDC_picWND)->m_hWnd);
	::ShowWindow(hParent, SW_HIDE);

	CWnd* pWnd = GetDlgItem(IDC_picWND);
	pWnd->GetClientRect(&m_picRect);		// 获取图片控件大小
    
    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

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

void CopencvtestDlg::OnBnClickedOk()
{
	// TODO: 在此添加控件通知处理程序代码
	
	Mat src = imread("山水.png");
	if (src.empty())
	{
		AfxMessageBox(L"读取图片失败!");
		return;
	}
	cv::resize(src, src, cv::Size(m_picRect.Width(), m_picRect.Height()));
	imshow("picView", src);
	waitKey(0);

	CDialogEx::OnOK();
}

六、运行效果

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

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VS2022+OpenCV4.6.0+MFC环境配置 的相关文章

随机推荐

  • 【51单片机】:定时器的详解(包括对单片机定时解释、各类定时方式,以及中断方式)

    学习目标 51定时 计数器的详解 码字不易 如有帮助请收藏 点赞哦 学习内容 背景知识 了解一下对以后学习有帮助 前提 首先我们知道51单片机内部有21 26个特殊功能寄存器 P x口寄存器 P0 P1 P2 P3 数据指针寄存器 DP0H
  • STM32 GPIO 详解

    0 实验平台 基于STM32F407ZG 1 GPIO 简介 1 1 简介 GPIO全称 General Purpose Input Output 即通用输入输出端口 一般用来采集外部器件的信息或者控制外部器件工作 即输入输出 1 2 ST
  • 前端系列——jquery.i18n.properties前端国际化解决方案“填坑日记”

    前言 最近 新的平台还没有开发完成 原来的老项目又提出了新的需求 系统国际化 如果是前后端完全分离的开发模式 要做国际化 真的太简单了 有现成的解决方案 基于Node构建的时下热门的任何一种技术选型都有成熟的方案 比如 vue vue i1
  • delphi 通过TNetHTTPClient解析抖音无水印高清视频原理及解决X-Bogus签名验证2023-5-1

    一 杂谈 最近有很多热心网友反馈抖音去水印又不行了 之前是时不时被blocked 现在直接连内容都没有了 返回直接就是空了 我们今天简要给大家分析一下请求过程 附上delphi 源码 及生成签名验证 成功请求到json数据的解决方法 二 请
  • 损失函数:IoU、GIoU、DIoU、CIoU、EIoU、alpha IoU、SIoU、WIoU超详细精讲及Pytorch实现

    前言 损失函数是用来评价模型的预测值和真实值不一样的程度 损失函数越小 通常模型的性能越好 不同的模型用的损失函数一般也不一样 损失函数的使用主要是在模型的训练阶段 如果我们想让预测值无限接近于真实值 就需要将损失值降到最低 在这个过程中就
  • 苹果官网序列号查询

    苹果官网 https checkcoverage apple com cn zh locale zh CN 官换机要怎么鉴别是正品新机 https www zhihu com question 44779845
  • 基于C++的OpenCV项目实战——零部件的自动光学检测

    基于C 的OpenCV项目实战 零部件的自动光学检测 一 背景 首先任务背景是AOI 自动光学检测 最重要的目的在于 将前景和物体进行分割与分类 场景示意图 需要注意 在螺母的传送带上 需要有前光和背光 给物体打光才能够拍摄清晰的图像 二
  • LeetCode4. 寻找两个正序数组的中位数

    题意 给定长度为 n n n的数组 A A A和长度为 m m m的数组
  • 小P学区块链(一):区块链到底是什么?该如何去学习

    2018年3月25日 CSDN 副总裁孟岩老师在北京联合大学商务学院举办了一场关于区块链及智能合约相关的公开课 在课程的三个小时里 受益匪浅 我会对课程的理解和对区块链及智能合约的概念做一个总结 同样我也会继续学习这方面的知识 将定期更新相
  • sonarqube主要功能概览

    sonarqube质量标准 sonarqube通过可靠性 安全性 安全复审 可维护性 覆盖率 重复度等方面来评价代码质量 分别使用bugs 漏洞等指标 如图 有项目状态为正常 有项目状态为错误 点进项目可以看具体 可以对问题进行分配 处理
  • 【剑指Offer】(字符串)左旋转字符串(翻转操作)

    题目链接 https www nowcoder com practice 12d959b108cb42b1ab72cef4d36af5ec tpId 13 tqId 11196 tPage 1 rp 1 ru ta coding inter
  • python游戏编程培训

    准备好了吗 我们即将开始激动人心的游戏编程之旅 或许你之前学习过一点编程 但若是你从没接触过游戏编程 那么你仍然会对游戏程序的运行感到不解 游戏程序不像计算一个公式或谜题 得到答案之后程序就结束了 游戏程序一直是处于运行中的 只要你不主动退
  • 递归行为时间复杂度计算:master公式

    master公式 T N a T N b O N d 公式解释 N是初始问题的负责度 a是次数的意思 也就是调用相同规模的递归次数 b是递归的划分 也就是将原问题划分成相同规模的b份 O N d d是除去递归代码外的其他运算的时间复杂度 例
  • python爬虫系列6--模拟登陆相关

    方式原理 爬虫爬取数据时 有些数据并不能让游客访问到 这时候就需要进行登录 再爬取数据 登录后再爬取的手段很多 但核心都是通过cookie的方式来记录身份信息 因此模拟登录的核心在于对cookie的使用 参考链接 https www cnb
  • Android Kotlin的学习

    1 kotlin简介 Kotlin是一种在Java虚拟机上运行的静态类型编程语言 它也可以被编译成为JavaScript源代码 它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言 其名称来自于圣彼得堡附近的科特林岛 3
  • 【CLIP速读篇】Contrastive Language-Image Pretraining

    CLIP速读篇 Contrastive Language Image Pretraining 0 前言 Abstract 1 Introduction and Motivating Work 2 Approach 2 1 Natural L
  • 从元宇宙角度看社交出海产品新体验

    提到社交产品 不可避免的会涉及元宇宙方向 那么元宇宙距离落地还有哪些问题 解决这些问题是否会是新的产品机会 社交作为元宇宙赛道的细分领域之一 如何在未来几年向元宇宙产品发展 打造产品新体验 实现用户增长 本文整理自拍乐云行业解决方案专家奚振
  • 《普林斯顿微积分》读书笔记

    写在前面 并不完整 只有零散的记忆 二 三刷的时候再补充吧 一些初等函数的导数 例如 x n n x n 1 sin x cos x 积分等于反导数 其他 待补充
  • games101 作业3

    遇到的问题 1 项目才打开时无法运行 解决方法 切换成c 17 解决方法引用 Games101 作业3 环境问题 知乎 注 知乎里面的关于越界限制的控制不适用 虽然可以解决部分作业的问题 但是在bump里面依然会出现越界错误 应该用以下大佬
  • VS2022+OpenCV4.6.0+MFC环境配置

    一 环境安装 OpenCV Releases OpenCVhttps opencv org releases VS2022 Visual Studio 面向软件开发人员和 Teams 的 IDE 和代码编辑器Visual Studio 开发