【HALCON】如何实现hw窗口自适应相机拍照成像的大小

news/2024/7/8 1:29:34 标签: halcon, C#

前言

在开发一个喷码检测软件的时候碰到相机成像和hw窗体的大小不一致,hw太小显示不完全成像的图片,这使得成像不均匀,现场辨别起来比较不直观,因此需要对其进行一个调整。

解决

省略掉读取图片的环节,我们只需要将我们设置的窗体大小和图片大小的比例算出来然后在用setpart这个算子去设置即可。具体代码如下:

			read_image(Image_original,Imagepath)
            HOperatorSet.GetImageSize(Image_original, out hv_Width, out hv_Height);
            //自适应窗口
            double ratioWidth = (1.0) * hv_Width[0].I / hWindowControl_main.Width;
            double ratioHeight = (1.0) * hv_Height[0].I / hWindowControl_main.Height;
            HTuple row1, column1, row2, column2;
            if (ratioWidth <= ratioHeight)
            {
                row1 = -(1.0) * ((hWindowControl_main.Height * ratioWidth) - hv_Height) / 2;
                column1 = 0;
                row2 = row1 + hWindowControl_main.Height * ratioWidth;
                column2 = column1 + hWindowControl_main.Width * ratioWidth;
                HOperatorSet.SetPart(hWindowControl_main.HalconWindow, row1, column1, row2, column2);
            }
            //显示图片
     HOperatorSet.DispObj(Image_original, hWindowControl_main.HalconWindow);

最后

显示全面
在这里插入图片描述
搞定收工~


http://www.niftyadmin.cn/n/5535840.html

相关文章

【C#】函数方法、属性分文件编写

1.思想 分文件编写是面向对象编程的重要思想&#xff0c;没有实际项目作为支撑很难理解该思想的精髓&#xff0c;换言之&#xff0c;一两个函数代码量因为太少无法体现分文件编写减少大量重复代码的优势。 2.项目结构介绍 整项目的名称叫AutoMetadata&#xff0c;是一个基于W…

git使用遇到的问题记录

文章目录 1. 记录以下问题*error: RPC failed; HTTP 307 curl 22 The requested URL returned error: 307* 1. 记录以下问题 error: RPC failed; HTTP 307 curl 22 The requested URL returned error: 307 第一种&#xff1a;clone的仓库地址或者账户密码发生改变&#xff1b;…

oracle如何判定数据库的时区并进行时间的时区转换

在Oracle数据库中&#xff0c;判断和设置时区以及进行时区的转换是很重要的功能。以下是一些基本的步骤和方法&#xff1a; 1. 判定数据库的时区 要查看Oracle数据库的时区&#xff0c;你可以查询DBTIMEZONE。例如&#xff1a; sql SELECT DBTIMEZONE FROM DUAL; 这将返回…

【操作系统期末速成】 EP01 | 学习笔记(基于五道口一只鸭)

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、正文&#xff1a;☀️☀️☀️1.1 考点一&#xff1a;操作系统的概率及特征 三、总结&#xff1a;&#x1f353;&#x1f353;&#x1f353; 一、前言&#x1f680;&#x1f680;&#x1f680; ☀️ 回报不在行动…

ios CCNSDate.m

// // CCNSDate.h // CCFC // // Created by xichen on 11-12-17. // Copyright 2011年 ccteam. All rights reserved. //#import <Foundation/Foundation.h>interface NSDate(cc)// 获取系统时间(yyyy-MM-dd HH:mm:ss.SSS格式)(NSString *)getSystemTimeStr;// prin…

Kotlin中的关键字

Kotlin 中的关键字可分为几个大类&#xff1a; 声明/定义关键字&#xff1a; class&#xff1a;用于定义类interface&#xff1a;用于定义接口object&#xff1a;用于声明对象&#xff0c;Kotlin中实现单例模式的关键字fun&#xff1a;用于声明函数var&#xff1a;用于声明可变…

没有使用Redis相关的代码或依赖,但在 `application.yaml` 配置文件中配置了Redis参数,项目启动时是否会报错

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

深入学习 Kafka(3)- SpringBoot 整合 Kafka

1. 引入 jar <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency>2. yml 配置 spring:kafka:bootstrap-servers: localhost:9092,localhost:9093,localhost:9094 # kafka 服…