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

相关推荐
JSON_L4 分钟前
PHP使用Intervention Image图像处理
图像处理·php·intervention
茉莉玫瑰花茶8 分钟前
LangGraph 拓展核心知识点
开发语言·windows·python
老鱼说AI20 分钟前
现代 LangChain 开发指南:从 LCEL 原理到企业级 RAG 与 Agent 实战
java·开发语言·人工智能·深度学习·神经网络·算法·机器学习
Michelle802321 分钟前
25大数据 11-1 函数
开发语言·python
aini_lovee28 分钟前
C#与倍福PLC(通过ADS协议)通信上位机源程序实现
开发语言·c#
fie888932 分钟前
基于 MATLAB 的前景背景分割系统
开发语言·matlab
霍夫曼vx_helloworld735239 分钟前
字符提取与字符识别
图像处理·人工智能·计算机视觉
郝学胜-神的一滴41 分钟前
Qt 入门 01-02: 开发环境搭建指南
开发语言·c++·qt·客户端
2501_930707781 小时前
使用C#代码压平 PDF 表单字段
数据库·pdf·c#
铅笔小新z2 小时前
【C语言】数据类型和变量
c语言·开发语言