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

相关推荐
踏着七彩祥云的小丑几秒前
Go学习第8天:接口 + 泛型 + 错误处理
开发语言·学习·golang·go
聆风吟º3 分钟前
Python基础数据类型(一):数字类型
开发语言·python·float·int·bool·数字类型
小灰灰搞电子10 分钟前
C++ boost::container 详解:高性能容器库完全指南
开发语言·c++·boost
Brilliantwxx13 分钟前
【C++】 C++11 知识点梳理(上)
开发语言·c++
飞天狗11113 分钟前
零基础JavaWeb入门——第4课:表单处理 —— 浏览器怎么把数据发给服务器
java·开发语言·前端·后端·servlet
多彩电脑20 分钟前
向AIDE(安卓设备上的Android Studio)导入aar库
android·java·开发语言·androidx
江屿风30 分钟前
C++图论基础单源最短路-常规版dijkstra算法/堆优化版dijkstra算法/bellman-ford 算法/spfa 算法流食般投喂
开发语言·c++·笔记·算法·图论
摇滚侠32 分钟前
MyBatis 入门到项目实战 MyBatis 逆向工程 62
java·开发语言·mybatis
ch.ju36 分钟前
Java Programming Chapter 4——Multi-level inheritance
java·开发语言
Molesidy39 分钟前
【Linux】【C++】Linux下的C++编程以及基于GDB的VSCode的C++调试
开发语言·c++