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


相关文章
|
6月前
halcon的灰度变换(图像增强)
halcon的灰度变换(图像增强)
371 1
|
6月前
|
算法 计算机视觉
LabVIEW开发3D颈动脉图像边缘检测
LabVIEW开发3D颈动脉图像边缘检测
35 0
|
6月前
|
计算机视觉
Halcon 学习笔记八:颜色识别
Halcon 学习笔记八:颜色识别
520 0
|
6月前
|
大数据 计算机视觉
Halcon 学习笔记三:形态学
Halcon 学习笔记三:形态学
236 0
|
6月前
|
C++
Halcon 学习笔记九:MFC+halcon联合
Halcon 学习笔记九:MFC+halcon联合
163 0
|
6月前
|
算法 计算机视觉
OpenCV(图像处理)-图片搜索
1.知识介绍 Opencv进行图片搜索需要的知识有:特征点匹配+单应性矩阵知识,特征点匹配作者前面文章有记录。 单应性矩阵:两个不同视角上的点所对应的单应性矩阵可以用同一个射影变换来表述可以简单理解为变换矩阵H,x1 = h*x2
106 0
|
传感器 算法 开发工具
Baumer工业相机堡盟万兆网相机如何在联合Halcon中对图像进行平场校正功能(Halcon)
Baumer工业相机堡盟万兆网相机如何在联合Halcon中对图像进行平场校正功能(Halcon)
235 0
|
人工智能 JavaScript 生物认证
Opencv 图像处理:数字图像的必会知识
Opencv 图像处理:数字图像的必会知识
234 0
Opencv 图像处理:数字图像的必会知识