MFC,halcon混合编程 遍历目录文件夹下的图像并显示在对话框上

原创 2016年05月31日 13:58:10
配置略,可参考这篇博客点击打开链接
http://blog.csdn.net/bettyshasha/article/details/51544203
1.新建一个基于对话框的工程,在对话框类中定义如下变量
	// Local iconic variables
	HObject  ho_Image;

	// Local control variables
	HTuple  hv_ImageFiles, hv_Index;
	afx_msg void OnBnClickedButton1();

	//open window and show 
	HTuple hv_WindowHandle;
2.在初始化函数中,添加如下代码,打开控件窗口,窗口大小可设置,我设置的是200,150.读者可根据需要设定成需要的大小。
BOOL CshowTestDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();
//openWindowOpenWindow(0, 0, 200, 150, (Hlong)m_hWnd, "", "", &hv_WindowHandle);
	
	
}

	

3.新建一个按钮,并在按钮响应函数中添加如下代码:
void CshowTestDlg::OnBnClickedButton1()
{
//在此添加读入图像和显示代码
}

将这段代码嵌入到OnBnClickedButton1()
函数

//手动添加图片所在文件夹路径,遍历该文件夹下图像
	char* pfilefilter= "图片文件(*.bmp *.png *.jpg)|*.bmp;*.png;*jpg|All Files (*.*)|*.*||";
	CFileDialog  OpenDialog(TRUE, NULL, 0, OFN_OVERWRITEPROMPT, pfilefilter, NULL);
	CString str;
	if (OpenDialog.DoModal() == IDOK)
	{
		str = OpenDialog.GetPathName();
		int nIndex = str.ReverseFind('\\');
		str = str.Left(nIndex);	// 获取当前打开文件的所在目录
	}
	char* ch = (char*)LPCTSTR(str);

	HTuple htp;
	htp = ch; /*"E:/course/solder/6"*/
	//Image Acquisition 01: Code generated by Image Acquisition 01
	ListFiles(htp, ((HTuple("files").Append("follow_links")).Append("recursive")),
		&hv_ImageFiles);
	TupleRegexpSelect(hv_ImageFiles, (HTuple("\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$").Append("ignore_case")),
		&hv_ImageFiles);
	{
		HTuple end_val3 = (hv_ImageFiles.TupleLength()) - 1;
		HTuple step_val3 = 1;
		for (hv_Index = 0; hv_Index.Continue(end_val3, step_val3); hv_Index += step_val3)
		{
			ReadImage(&ho_Image, HTuple(hv_ImageFiles[hv_Index]));
			//Image Acquisition 01: Do something
			
			//clear window
			ClearWindow(hv_WindowHandle);
			//SetPart(hv_WindowHandle, 0, 0, hv_Width, hv_Height);
			
			//display image
			DispObj(ho_Image, hv_WindowHandle);
			Sleep(1000);

		}
	}
效果如图

如果要在控件如,picture control里面实现,将1,2修改如下:
配置略,可参考
1.新建一个基于对话框的工程,在对话框类中定义如下变量
	// Local iconic variables
	HObject  ho_Image;

	// Local control variables
	HTuple  hv_ImageFiles, hv_Index;
	afx_msg void OnBnClickedButton1();

	//open window and show 
	HTuple hv_WindowHandle;
 	//pcture control 控件上显示图像
	 CRect rtWindow;
 	HWND hImgWnd;
2.在对话框中添加picture control控件,并将ID号改为,IDC_MY_PIC.
在初始化函数中,添加如下代码,打开控件窗口,窗口大小可设置,我设置的是200,150.读者可根据需要设定成需要的大小。
BOOL CshowTestDlg::OnInitDialog()
{
	CDialogEx::OnInitDialog();
//在picture control上显示
 hImgWnd = GetDlgItem(IDC_MY_PIC)->m_hWnd;
 GetDlgItem(IDC_MY_PIC)->GetClientRect(&rtWindow);
 OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Width(), rtWindow.Height(), (Hlong)hImgWnd, "visible", "", &hv_WindowHandle);
	
}
效果如图

在MFC中用halcon读图像,显示在主窗口和picture control中

1.建立对话框工程(字符集:多字节字符集) 2.配置属性: (1)配置属性-》c++-》常规-》附加库目录,加入: D:\Program Files\MVTec\HALCON-12.0\incl...
  • Bettyshasha
  • Bettyshasha
  • 2016年05月28日 18:00
  • 5620

Halcon/MFC混合编程入门

为方便初学者,尽量写的详细。 一  新建一个项目,命名为halconVC,步骤如下: 二  配置MFC/halcon编程环境 1 在 项目-》属性-》c/c++-》常规的 附加包含目录中加入 ...
  • u010418035
  • u010418035
  • 2016年01月18日 21:13
  • 4814

MFC利用halcon以及cimage在picture control控件上面显示图片

本文为利用halcon做软件开发的新手,提供在picture control控件上面显示图片的两种简单方法 一、利用cimage 程序如下:        char* pcsun = "图片文件(*....
  • sinat_35570625
  • sinat_35570625
  • 2017年05月22日 11:14
  • 926

Halcon MFC混合编程-图像显示随鼠标滚动放大缩小

MFC Halcon配置详见博客点击打开链接 1.新建基于对话框工程,工程名取为image 2.在类中定义如下变量和函数: public: HTuple m_hWnd; //显示窗口句柄 ...
  • Bettyshasha
  • Bettyshasha
  • 2016年06月13日 19:56
  • 5915

MFC/Halcon之halcon的安装及在vs2013中的配置

halcon的安装及在vs2013下的配置
  • menshu1892
  • menshu1892
  • 2017年04月19日 20:49
  • 1431

VS2010/MFC 配置Halcon12 并显示图片

工具/原料 · win7 x64 · Visual Studio 2010 · Halcon12第一步(halcon部分)先在halcon中新建一个...
  • shenhuan1104
  • shenhuan1104
  • 2017年04月10日 22:33
  • 1528

MFC调用HALCON实现相机采图和图像显示

一、相机采图 二、图像显示 1、抓取单帧图像 m_Camera.SingleGrab(GetImage()); 2、显示图片 CHalconBase::uShowImageOrSize(GetMy...
  • surui_555
  • surui_555
  • 2015年04月03日 17:24
  • 3611

MFC&HALCON开发环境配置

最近对HALCON颇为感兴趣,本文写下MFC调用HALCON开发环境的配置。 本文基于: VS2013   HALCON12 1)首先建立一个基于对话框的MFC工程 2)生成 -> 配置管理器   ...
  • spades_k
  • spades_k
  • 2016年12月08日 01:13
  • 1047

在MFC中使用Halcon

在 Halcon 的 HDevelop 中点击【文件】——【导出】——【导出文件及格式】,文件格式选择: C++ - HALCON/C++ 在导出的 cpp 代码中: void ac...
  • xingziying
  • xingziying
  • 2014年03月24日 10:03
  • 1428

halcon与MFC基于对话框程序

halcon如何在MFC中使用,这里我举了一个利用halcon作为动态链接库打开位图的程序   1.载入halcon动态链接库 由于笔者使用的是VC++2008开发软件编写的,其他版本的VC++大致类...
  • fengdingha
  • fengdingha
  • 2014年03月21日 22:01
  • 6895
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC,halcon混合编程 遍历目录文件夹下的图像并显示在对话框上
举报原因:
原因补充:

(最多只允许输入30个字)