Halcon联合编程适应图像的方法(picture)

public void FitSize(string path)

{

HObject ho_Image;// 定义图片

HTuple hv_width, hv_height = null;//定义图片大小

HTuple win_Row, win_Column, win_Width, win_height = null; //窗口的坐标和宽度和高度

HTuple cwin_Width, cwinHeight = null; // 计算出来展示的区域

// 读取图片

HOperatorSet.ReadImage(out ho_Image, path);

//获取图像大小

HOperatorSet.GetImageSize(ho_Image, out hv_width, out hv_height);

HOperatorSet.GetWindowExtents(win_handle, out win_Row, out win_Column, out win_Width, out win_height);//获取窗口的大小

//计算展示的高度 a = c/d * b

cwinHeight = 1.0 * win_height / win_Width * hv_width; // 宽度不变计算高度

if (cwinHeight > hv_height) //上下留相等黑边

{

cwinHeight = 1.0 * (cwinHeight - hv_height) / 2;

//展示图像哪一部分 坐标原点在图像的左上角

HOperatorSet.SetPart(win_handle, -cwinHeight, 0, cwinHeight + hv_height, hv_width);

HOperatorSet.DispObj(ho_Image, win_handle);

}

else // 高度不变 宽度自适应

{

cwin_Width = 1.0 * win_Width / win_height * hv_height;

cwin_Width = 1.0 * (cwin_Width - hv_width) / 2;

HOperatorSet.SetPart(win_handle, 0, -cwin_Width, hv_height, hv_width + cwin_Width);

HOperatorSet.DispObj(ho_Image, win_handle);

}

}

相关推荐
踩着两条虫2 分钟前
VTJ.PRO 新手入门:从环境搭建到 AI 生成首个 Vue3 应用
前端·javascript·数据库·vue.js·人工智能·低代码
十有八七3 分钟前
Resume Agent P1 开发 — 记忆管理 + 用户配置 + 工具系统
前端·后端
他是龙55112 分钟前
63:JS 加密断点调试与逆向实战
开发语言·javascript·状态模式
常利兵13 分钟前
Kotlin类型魔法:Any、Unit、Nothing 深度探秘
android·开发语言·kotlin
莫逸风17 分钟前
【java-core-collections】红黑树深度解析
java·开发语言
2601_9498161618 分钟前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
2601_9491942619 分钟前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
Ulyanov30 分钟前
《玩转QT Designer Studio:从设计到实战》 QT Designer Studio入门实战:智能登录系统开发
开发语言·python·qt·雷达电子对抗
pancakenut31 分钟前
自定义属性:从html到react
前端
hmh1234531 分钟前
录音与音频可视化
前端·javascript