Halcon10 与 VC++交互,通过picture control显示图像

2024-05-31 05:18

本文主要是介绍Halcon10 与 VC++交互,通过picture control显示图像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

vs2010运行通过。VC++做的。

这个程序大概时这样的,左边是一个picture control,点击识别,通过调用halcon读图片,显示在vc++的mfc的picture control控件上。


步骤:

1》》》》》》》》》》》》》》》》》》

添加halcon头文件


2》》》》》》》》》》》》》》》》》》

添加一些类库


3》》》》》》》》》》》》》》》》》

写一个picture control窗口,你再在OnInitDialog里调用来初始化呀。

[plain]  view plain copy print ?
  1. void CHalconOCRExampleDlg::InitHalconWindow(void)  
  2. {  
  3.     //定义显示的起点和长宽高   
  4.     HTuple HWindowRow,HWindowColumn,HWindowWidth,HWindowHeight;    
  5.     //定义窗口ID     
  6.     HTuple HWindowID;  
  7.   
  8.     //定义一个CRect类的对象,用于获取图像框的尺寸和位置     
  9.     CRect Rect;    
  10.     CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC_HWINDOW);    
  11.   
  12.     CDC *pDC = pWnd->GetDC();    
  13.     pWnd->GetWindowRect(&Rect);    
  14.   
  15.     //设置显示窗口的起点和宽高     
  16.     HWindowRow = 0;    
  17.     HWindowColumn = 0;    
  18.     HWindowWidth = Rect.Width();    
  19.     HWindowHeight = Rect.Height();  
  20.     //设定固定的窗口大小,而不是根据控件大小设定     
  21.     //GetDlgItem(IDC_PIC_HWINDOW)->SetWindowPos(NULL,0,0,Rect.Width(),Rect.Height(),SWP_NOZORDER | SWP_NOMOVE);     
  22.     try    
  23.     {    
  24.         set_window_attr("border_width",0);    
  25.         HWindowID = (Hlong)pWnd->m_hWnd;    
  26.         open_window(HWindowRow,HWindowColumn,HWindowWidth,HWindowHeight,HWindowID,"visible","",&m_HWindowID);    
  27.         set_draw(m_HWindowID, "margin"/*,"margin"*/);//设置显示模式是margin(边缘)     
  28.     }    
  29.     catch (HException& except)    
  30.     {    
  31.         TRACE(except.message);    
  32.     }    
  33. }  

嗯,对了,你还要在类里声明几个变量,如下:

[plain]  view plain copy print ?
  1. HTuple m_HWindowID;//picture control经过处理之后标示符,以后显示图像时,直接显示在m_HWindowID即可。  
  2. HTuple m_FGHandle,m_ImageWidth, m_ImageHeight;//m_FGHandle是视频设备  
  3. Hobject m_LiveImage;//从图片或视频中抓取图像到这个变量里面  

4、这时,我们需要显示图片的时候就可以调用

[plain]  view plain copy print ?
  1. disp_obj(m_LiveImage, m_HWindowID);  

比如说像我的这个小程序:

[plain]  view plain copy print ?
  1. read_image(&m_LiveImage, "C:/Users/longx-app/Desktop/Images/lena.bmp");  
  2.   
  3. CRect Rect;    
  4. CStatic* pWnd = (CStatic*)GetDlgItem(IDC_PIC_HWINDOW);    
  5.   
  6. CDC *pDC = pWnd->GetDC();    
  7. pWnd->GetWindowRect(&Rect);   
  8.   
  9. get_image_pointer1(m_LiveImage, NULL, NULL, &m_ImageWidth, &m_ImageHeight);//得到图像的宽高和指针  
  10. set_part(m_HWindowID, 0, 0, m_ImageHeight - 1, m_ImageWidth -1);//使图像显示适应窗口大小  
  11.   
  12. disp_obj(m_LiveImage, m_HWindowID);  

ok!我是一个没耐心写东西的人,就当做笔记。代码下载:


http://download.csdn.net/detail/loveq369/5984609

这篇关于Halcon10 与 VC++交互,通过picture control显示图像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017436

相关文章

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

Python与Java交互出现乱码的问题解决

《Python与Java交互出现乱码的问题解决》在现代软件开发中,跨语言系统的集成已经成为日常工作的一部分,特别是当Python和Java之间进行交互时,编码问题往往会成为导致数据传输错误、乱码以及难... 目录背景:为什么会出现乱码问题产生的场景解决方案:确保统一的UTF-8编码完整代码示例总结在现代软件

python+OpenCV反投影图像的实现示例详解

《python+OpenCV反投影图像的实现示例详解》:本文主要介绍python+OpenCV反投影图像的实现示例详解,本文通过实例代码图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前言二、什么是反投影图像三、反投影图像的概念四、反向投影的工作原理一、利用反向投影backproj

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll