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


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

相关文章

Unity中的场景加载

1、同步场景 2、异步加载 public class TestScenesLoad : MonoBehaviour {// Start is called before the first frame updatevoid Start(){StartCoroutine(Load());}// Update is called once per framevoid Update(){}private IEnumerator Load() { //异步加载,常…

3. 自定义datasource

一、自定义DataSource ​ 自定义DataSource有两大类:单线程的DataSource和多线程的DataSource 单线程:继承 SourceFunction 多线程:继承 ParallelSourceFunction,继承 RichParallelSourceFunction(可以有其他的很多操…

VUE for循环 默认选中第一条数据

for循环渲染列表默认选中第一条数据 点击其他选项切换数据 <div><div class"Subtitle" style"padding: 5px 40px;">项目清单</div><div class"project-manifest"><div v-for"(item, index) in project" :…

3D视觉测量:计算两个平面之间的夹角(附源码)

文章目录 1. 基本内容2. 代码实现文章目录:形位公差测量关键内容:通过视觉方法实现平面之间夹角的计算1. 基本内容 要计算两个平面之间的夹角,首先需要知道这两个平面的法向量。假设有两个平面,它们的法向量分别为 N 1 和 N 2 N_1 和 N_2

南大通用数据库-Gbase-8a-报错集锦-06-Stack Overflow

目录 一、数据库版本信息 二、报错信息 三、报错SQL 四、解决方法 1、修改参数thread_stack 2、改写SQL &#xff08;1&#xff09;改为内连接 &#xff08;2&#xff09;临时表 一、数据库版本信息 二、报错信息 三、报错SQL SQL包含2000多个or条件。 四、解决方法 1、…

2023-9-8 求组合数(四)

题目链接&#xff1a;求组合数 IV #include <iostream> #include <algorithm>using namespace std;const int N 5010;int primes[N], cnt; bool st[N]; // 每个质数的次数 int sum[N];void get_primes(int n) {for(int i 2; i < n; i){if(!st[i]) primes[cnt]…

09_瑞萨GUI(LVGL)移植实战教程之拓展练习

本系列教程配套出有视频教程&#xff0c;观看地址&#xff1a;https://www.bilibili.com/video/BV1gV4y1e7Sg 9. 拓展练习 本节安排三个实验检验学习成果&#xff0c;实验示例源码在资料包的这个位置&#xff1a; DShanMCU-RA6M5配套学习资料\2_配套源码\02_瑞萨电子MCU GUI(…

营销邮件主题怎么写?编写邮件主题的技巧?

如何创建营销邮件主题&#xff1f;制作EDM邮件主题的方法策略&#xff1f; 营销邮件主题在整个营销邮件中起着至关重要的作用&#xff0c;它是吸引读者打开邮件的第一步。蜂邮EDM将分享一些关于如何撰写令人惊艳的营销邮件主题的技巧&#xff0c;帮助您吸引更多的目标受众。 …