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


相关文章
|
8月前
halcon的灰度变换(图像增强)
halcon的灰度变换(图像增强)
498 1
Halcon找圆系列(1)如何检测圆形
Halcon找圆系列(1)如何检测圆形
1999 0
Halcon找圆系列(1)如何检测圆形
|
8月前
|
编解码 对象存储 UED
[Halcon&标定] 单相机标定
[Halcon&标定] 单相机标定
332 1
|
8月前
|
算法
[Halcon&标定] 相机自标定
[Halcon&标定] 相机自标定
194 1
|
8月前
|
大数据 计算机视觉
Halcon 学习笔记三:形态学
Halcon 学习笔记三:形态学
361 0
|
8月前
|
计算机视觉
Halcon 学习笔记八:颜色识别
Halcon 学习笔记八:颜色识别
609 0
|
8月前
|
C++
Halcon 学习笔记九:MFC+halcon联合
Halcon 学习笔记九:MFC+halcon联合
194 0
Halcon找圆系列(3)找金属表面的圆孔
Halcon找圆系列(3)找金属表面的圆孔
534 0
Halcon找圆系列(3)找金属表面的圆孔
Halcon标定系列(2):使用Halcon算子制作标定板
Halcon标定系列(2):使用Halcon算子制作标定板
556 0
Halcon标定系列(2):使用Halcon算子制作标定板