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 分钟前
【Rust】20-Rust 编译器架构与 MIR/LLVM 优化管线
开发语言·架构·rust
在放️3 分钟前
Python 爬虫 · XML、xpath 与 lxml 模块基础
开发语言·爬虫·python
我要打打代码5 分钟前
C# 扩展方法
开发语言·c#
JackSparrow4145 分钟前
彻底理解Java NIO(三)Java实现 I/O多路复用+Reactor模式及开源框架代码解读
java·c语言·开发语言·后端·nio·reactor模式
曹牧7 分钟前
Java:Xml中的大、小于
java·开发语言
zavoryn9 分钟前
Jackson 序列化踩坑:LocalDateTime、Long 精度丢失和 boolean isXxx 字段
java·开发语言·后端
曹牧9 分钟前
Java:XML转义
xml·java·开发语言
leo_yu_yty12 分钟前
Go语言分布式计算(并发Debug)
开发语言·笔记·后端·golang
椒颜皮皮虾྅12 分钟前
OpenVINO™ C# API 3.3 全新发布!正式接入 OpenVINO GenAI,C# 本地大模型开发全面启航!
人工智能·开源·c#·openvino
我认不到你13 分钟前
【开源、教程】RAG全流程实现(java+完整代码):第一弹
java·开发语言·人工智能·深度学习·ai·语言模型·开源