提问:为什么不能直接read_image后在窗口中操作,而总是要重新get_image_size再重新open_window
Halcon入门问题(一)
提问:为什么不能直接read_image后在窗口中操作,而总是要重新get_image_size再重新open_window
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
在Halcon的编程逻辑中,
read_image()
函数用于读取图像文件并将其存储到变量Image
中。然而,当您想在窗口中显示这个图像时,通常需要知道图像的尺寸,即宽度(Width)和高度(Height)。这是因为dev_open_window()
函数需要这些尺寸参数来创建一个足够大的窗口来容纳整个图像。这里的原因是,虽然
read_image()
函数已经加载了图像数据,但它不会自动更新当前的工作环境或者窗口设置。因此,为了确保窗口大小正确地匹配图像的大小,你需要分别调用get_image_size()
函数获取图像尺寸,然后用这些尺寸信息调用dev_open_window()
来创建一个新的窗口。下面是修改后的代码,展示了如何在同一个窗口中直接显示读入的图像,而不需要先关闭再打开窗口:
# 读取图像 read_image(Image, "your_image_file_path") # 获取图像尺寸 get_image_size(Image, Width, Height) # 在指定位置、大小和颜色背景下打开窗口 dev_open_window(0, 0, Width, Height, 'black', WindowHandle) # 直接在新窗口中显示图像,无需关闭后再打开 dev_display(Image)
在这个版本中,我们省略了不必要的
dev_close_window()
和再次打开窗口的步骤,因为这可能会导致图像在窗口中的显示不连续,尤其是在处理多个图像时。通过这种方式,您可以更高效地在一个持续的窗口中显示图像。只需确保替换"your_image_file_path"为您的实际图像文件路径即可。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图
- ¥15 UE5.1局部变量对蓝图不可见
- ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
- ¥20 sentry如何捕获上传Android ndk 崩溃
- ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
- ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?