C# halcon SubImage的使用

简介: C# halcon SubImage的使用

SubImage(HObject imageMinuend, HObject imageSubtrahend, out HObject imageSub, HTuple mult, HTuple add)

公式

x1=imageMinuend此行此列的灰度

x2=imageSubtrahend此行此列的灰度

则imageSub此行此列的灰度为;(x1-x2)*mult+add

溢出裁剪

以byte图为例,小于0,为0;大于255,为255

源码一

private void butTemp_Click(object sender, EventArgs e)
        {
            var img1 = WHCSHalCon.Base.CreateByteImage(new byte[] { 0 }, 1);
            var img2 = WHCSHalCon.Base.CreateByteImage(new byte[] { 255 }, 1);
            HObject img3;
            HOperatorSet.SubImage(img2, img1, out img3, 2, 0);
            byte[] b1 = WHCSHalCon.Base.ByteImageToArr(img3);
        }

结果为255

源码二

private void butTemp_Click(object sender, EventArgs e)
        {
            var img1 = WHCSHalCon.Base.CreateByteImage(new byte[] { 0 }, 1);
            var img2 = WHCSHalCon.Base.CreateByteImage(new byte[] { 255 }, 1);
            HObject img3;
            HOperatorSet.SubImage(img1, img2, out img3, 2, 0);
            byte[] b1 = WHCSHalCon.Base.ByteImageToArr(img3);
        }

结果为0

注意事项

imageMinuend和imageSubtrahend的CountObj和CountChannel必须相同。否则会崩溃

测试环境

Win7 VS2022 Halcon12


相关文章
|
网络协议 网络虚拟化 网络架构
【华为数通HCIP | 网络工程师】821-BGP高频题、易错题(1)
【华为数通HCIP | 网络工程师】821-BGP高频题、易错题(1)
2425 0
|
机器学习/深度学习 算法 数据挖掘
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
2429 1
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
6561 2
|
Java Serverless 应用服务中间件
Serverless 应用引擎产品使用之在Serverless 应用引擎中跳过AHAS创建如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
259 3
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的实验室管理与排课系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的实验室管理与排课系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
jenkins Java 应用服务中间件
SpringBoot+Jenkins+Github+Docker+Maven持续集成CI与持续部署CD全自动化部署
我们采用tomcat运行war包的这种方式,先来到官网下载war包:https://www.jenkins.io/download/ 然后把war包上传到tomcat的webapps里,自动就解压运行了,访问页面,然后查看并输入密码: cat /root/.jenkins/secrets/initialAdminPassword
483 0
|
C语言
C语言 11 结构体初阶
C语言 11 结构体初阶
105 0
Halcon裁剪图片reduce_domain与crop_domain
Halcon裁剪图片reduce_domain与crop_domain
1755 0
|
消息中间件 自然语言处理 大数据
盘点 常见MQ : 消息队列总览
MQ(message queue),字面上看就是一个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是以中国非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。
盘点 常见MQ : 消息队列总览
|
JavaScript 前端开发
使用 jQuery对象设置页面中 <ul> 元素的标记类型,并使用 DOM 对象设置 <li> 元素的浮动属性和右边距。使用jQuery 对象和 DOM 对象设置页面元素属性
使用 jQuery对象设置页面中 <ul> 元素的标记类型,并使用 DOM 对象设置 <li> 元素的浮动属性和右边距。使用jQuery 对象和 DOM 对象设置页面元素属性
248 0
使用 jQuery对象设置页面中 <ul> 元素的标记类型,并使用 DOM 对象设置 <li> 元素的浮动属性和右边距。使用jQuery 对象和 DOM 对象设置页面元素属性