HALCON error #5190: Invalid window parameter的解决办法(需要hcanvas.dll文件)

简介: HALCON error #5190: Invalid window parameter的解决办法(需要hcanvas.dll文件)

Halcon对窗口的操作有两类:


1、dev_open_window 打开实体的窗体,显示图像


2、open_window 打开虚拟的窗体,实际是图像放入缓存


*参见官方例程advanced_visualization_settings.hdev
dev_close_window()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
set_window_param (WindowHandle, 'graphics_stack', 'true') //default value: 'false'
set_window_param(WindowHandle, 'flush', 'false') //default value: 'true'
dev_clear_window()
read_image (Image, 'printer_chip/printer_chip_01')
dev_display(Image)
disp_message(WindowHandle, '0', 'window', 12, 12, 'black', 'true')
set_window_param(WindowHandle, 'flush', 'true')
disp_cross(WindowHandle, 32, 32, 6, 0)
stop()
*参见官方例程projective_trans_image.hdev
*参见官方文档C:/Program Files/MVTec/HALCON-19.11-Progress/doc/html/reference/operators/HWindow.html
*a buffer window to create
open_window (0, 0, 256, 256, 0, 'buffer', '', WindowHandleBuffer)//注意参数是'buffer'
get_window_param (WindowHandleBuffer, 'graphics_stack', Value1)
get_window_param (WindowHandleBuffer, 'flush', Value2)
set_window_param (WindowHandleBuffer, 'graphics_stack', 'true') //default value: 'false'
set_window_param (WindowHandleBuffer, 'flush', 'true') //default value: 'true'
get_window_param (WindowHandleBuffer, 'graphics_stack', Value1)
get_window_param (WindowHandleBuffer, 'flush', Value2)
*flush_buffer (WindowHandleBuffer)
clear_window (WindowHandleBuffer)
read_image (Image, 'printer_chip/printer_chip_01')
get_image_size (Image, Width, Height)
disp_obj (Image, WindowHandleBuffer)
* Display contour of a rectangle
Row1:=10
Column1:=10
Row2:=100
Column2:=100
set_color (WindowHandleBuffer, 'red')
disp_line(WindowHandleBuffer,Row1,Column1,Row1,Column2)
disp_line(WindowHandleBuffer,Row1,Column2,Row2,Column2)
disp_line(WindowHandleBuffer,Row2,Column2,Row2,Column1)
disp_line(WindowHandleBuffer,Row2,Column1,Row1,Column1)
dev_close_window()
dev_open_window (0, 0, 256, 256, 'black', WindowHandle)
*Display the image in the buffer window and copy it to the visible window.
copy_rectangle (WindowHandleBuffer, WindowHandle, 0, 0, Height - 1, Width - 1, 0, 0)
close_window (WindowHandleBuffer)
stop()
我在Visual C++项目中,遇到了这个问题,SetWindowParam函数执行时,总是报异常:
HALCON error #5190: Invalid window parameter
QScopedPointer<HalconCpp::HWindow> halconBuffer;
try {
        // initialize HALCON buffer window
        halconBuffer.reset(new HWindow(0, 0,  256, 256, 0, "buffer", ""));
        // turn on graphics stack, so image and regions stay even after zooming or
        // resizing
        halconBuffer->SetWindowParam("graphics_stack", "true");
        // turn on explicit flushing
        halconBuffer->SetWindowParam("flush", "false");
        // register update callback
        halconBuffer->SetContentUpdateCallback((void *) &ContentUpdateCallback, this);
    } catch (HException &except) {
        qDebug(except.ErrorMessage().Text());
}

解决办法如下:

SetWindowParam函数需要依赖动态库文件hcanvas.dll,把该库从

C:\Program Files\MVTec\HALCON-xxx\bin\x64-win64

拷贝到自己的项目路径。


相关文章
|
算法 数据可视化 数据挖掘
C# | DBSCAN聚类算法实现 —— 对直角坐标系中临近点的点进行聚类
聚类算法是一种常见的数据分析技术,用于将相似的数据对象归类到同一组或簇中。其中,DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,能够有效地识别出不同形状和大小的簇,同时还能标识出噪声数据。本篇博客将介绍聚类算法的概念、DBSCAN算法的原理,并通过提供的C#代码逐步解析DBSCAN算法的实现过程。
953 0
C# | DBSCAN聚类算法实现 —— 对直角坐标系中临近点的点进行聚类
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
6833 2
|
12月前
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
311 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
编译器 程序员 C++
Qt之自定义属性Q_PROPERTY专题(1)充分理解其概念以及用途
Qt之自定义属性Q_PROPERTY专题(1)充分理解其概念以及用途
2997 0
Qt之自定义属性Q_PROPERTY专题(1)充分理解其概念以及用途
|
Java 应用服务中间件 Redis
十年架构师总结:SSM+微服务+Nginx+Redis+MySQL的PDF文档
SSM 第1部分入门和技术基础 第1章认识SSM框架和Redis 第2章Java设计模式 第2部分互联网持久框架- -MyBatis 第3章认识MyBatis核心组件 第4章MyBatis配置 第5章映射器 第6章动态SQL 第7章MyBatis的解析和运行原理 第8章插件 第3部分Spring基础 第9章Spring IoC的概念 第10章装配Spring Bean 第11章面向切面编程 第12章Spring和数据库编程 第13章深入Spring数据库事务管理 第4部分Spring MVC框架 第14章Spring MVC的初始化和流程 第15章深入Spring MVC组件开发 ......
|
Windows
解决“ACCESS_MASK不明确”错误
本文讨论了在编译过程中遇到的“ACCESS_MASK不明确”错误的原因和解决方法。错误通常由头文件冲突引起,解决方法包括去除自定义的命名空间、调整包含static函数的类头文件顺序,以及去除多余的#include指令。文章还提供了一些编程规范和参考链接。
517 1
|
计算机视觉
使用QT显示OpenCV读取的图片
使用QT显示OpenCV读取的图片
335 1
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
1307 0
|
C# C++
halcon联合c#、WPF学习笔记一(WPF配置halcon)
halcon联合c#、WPF学习笔记一(WPF配置halcon)
1310 1
|
定位技术 开发工具 C++
C++绘图库matplotlibcpp在Visual Studio中的配置方法
C++绘图库matplotlibcpp在Visual Studio中的配置方法
614 1

热门文章

最新文章