halcon界面开发系列 —— get_part与set_part
get_part( : : WindowHandle : Row1, Column1, Row2, Column2),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、计算图像被缩放了多少
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?