C++ MFC打开图片并进行简单处理黑白图显示

本文介绍了如何使用C++ MFC工程打开图片并在picture控件中显示,以及进行简单的二值化处理。通过CFileDialog选择.png图片,使用CImage类加载图片并显示,接着对图片进行灰度值处理,实现黑白显示效果。
摘要由CSDN通过智能技术生成

一、VS2010
新建一个MFC工程,添加两个picture控件和一个按钮控件。
在这里插入图片描述

二、添加变量
1、为两个picture控件添加control变量,类型为CStatic,变量名分别为m_picture1和m_picture2.
在这里插入图片描述

2、添加保存图片路径和名称变量,CString类型,变量名strFilePath,strFileName
三、添加按钮消息映射函数
双击“打开图片”按钮进入消息映射函数,添加以下代码:
1、为按钮添加打开文件的功能,并默认打开.png格式的文件,并在打开文件右下角添加文件类型选项。
CFileDialog fileDlg(TRUE, _T(“png”), NULL, 0, _T(“image Files(.bmp; .jpg;.png)|.JPG;.PNG;.BMP|All Files (.) |.|”), this);
fileDlg.DoModal();
strFilePath=fileDlg.GetPathName(); //文件路径
strFileName = fileDlg.GetFileName(); //文件名
if (strFilePath == _T(""))
{
retur

要在Visual Studio 2022中使用MFC和OpenCV打开图片,你需要按照以下步骤进行操作: 1. 首先,确保你已经在Visual Studio 2022中安装了MFC和OpenCV库。你可以从官方网站下载并安装它们。 2. 在你的项目中创建一个新的MFC应用程序,并选择对话框作为应用程序类型。 3. 在对话框上添加一个按钮控件,并给它一个适当的标识符。 4. 双击按钮,调用按钮的点击事件处理程序。 5. 在事件处理程序中,添加代码以打开图片。你可以使用OpenCV的cv::imread函数来加载图片。例如,你可以使用以下代码: ```cpp CString strImagePath; // 图片路径 CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Image Files (*.bmp; *.jpg; *.png)|*.bmp;*.jpg;*.png||")); // 打开文件对话框 if (dlg.DoModal() == IDOK) { strImagePath = dlg.GetPathName(); // 获取选择的图片路径 // 使用OpenCV加载图片 cv::Mat image = cv::imread(CT2CA(strImagePath)); if (!image.empty()) { // 将图片显示在对话框上的图片控件中 CImage img; img.Attach(image.data, image.cols, image.rows, image.step, image.elemSize()); CRect rect; GetDlgItem(IDC_STATIC_IMAGE)->GetClientRect(rect); img.Draw(GetDlgItem(IDC_STATIC_IMAGE)->GetDC(), rect); } } ``` 上述代码中,我们首先打开一个文件对话框以选择要加载的图片。然后,使用OpenCV的cv::imread函数加载选择的图片。如果成功加载了图片,我们将其显示在对话框上的一个图片控件中。 6. 运行程序,点击按钮选择要打开图片。选择的图片将在对话框中显示出来。 通过以上步骤,你可以在Visual Studio 2022中使用MFC和OpenCV打开图片。记得在代码中添加适当的错误处理机制,以确保图片能够成功加载和显示
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值