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

相关推荐
互联网中的一颗神经元3 小时前
小白python入门 - 39. 采集流水线小项目
开发语言·python
Wang's Blog4 小时前
Go-Zero 项目开发22:用户群聊功能的实现与完善
开发语言·golang
a1117764 小时前
坦克大战3D Three.js 3D (开源项目)
开发语言·javascript·3d
Wang's Blog6 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
code bean6 小时前
【C#】 `Channel<T>` 深度解析:生产者-消费者模式的现代解法
数据结构·c#
吃好睡好便好8 小时前
MATLAB中图像的读取、写入和显示
开发语言·图像处理·学习·计算机视觉·matlab
yaoxin5211239 小时前
476. Java 反射 - 调用方法
java·开发语言
猫头虎9 小时前
什么是ZCode for GLM-5.2?
开发语言·人工智能·python·科技·算法·ai编程·ai写作
吴可可12310 小时前
C# CAD二次开发:合并首尾重合多段线
c#
bksczm10 小时前
Linux之日志和线程池、内存池
java·开发语言