halcon界面开发系列 —— get_part与set_part

get_part( : : WindowHandle : Row1Column1Row2Column2),set_part同理。

GetPart官方解释:返回窗口中显示的图像部分的左上角和右下角。

这个图像,就是窗中图。它的左上角、右下角就是上图绿色箭头所示(体会下上图坐标的负值)。

窗中图在处理位置信息时黑暗区域也是图像的一部分(只不过有坐标无像素)

Halcon中图的行列是从0开始的,row=0即第1行。

【代码举例】注意其中的文字描述

复制代码
dev_close_window ()
read_image (Image, 'D:/lena512.bmp')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, 300, 300, 'black', WindowHandle)
*图像的全部,展示在窗体中
set_part (WindowHandle, 0, 0, Height-1, Width-1)
disp_image (Image, WindowHandle)
*获取“窗中图”的左上角、右下角位置坐标
get_part (WindowHandle, Row1, Column1, Row2, Column2)
*向上、下各拉取100的黑暗区域,作为图的一部分。展示在窗体中(产生缩放的错觉)
set_part (WindowHandle, Row1-100, Column1, Row2+100, Column2)
clear_window (WindowHandle)
disp_obj (Image, WindowHandle)
复制代码

【用处】建立起电脑桌面坐标系统、图像坐标系统的联系。

鼠标、电脑桌面、控件(MFC或Qt)的坐标都是电脑桌面坐标系统(下图紫色字体)。

图像的坐标是图像坐标系统(下图橙色字体),lena是512*512,即使缩放的再小,也是512*512。

黑色区域是窗中图,属于图像坐标系统。宽、高:Column2-Column1+1,Row2-Row1+1

 

 以上内容的用处如下:

1、鼠标拖动图片平移

2、鼠标所指的图像像素位置(get_grayVal就可以获得灰度值了)

3、计算图像被缩放了多少

 

 

posted @   夕西行  阅读(1422)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示