【发布时间】:2023-02-16 13:53:28
【问题描述】:
HalconDotNet.HOperatorSet.ReadImage(out HObject image, srcPath);
//...
//(graphic stuff)
//...
HalconDotNet.HOperatorSet.WriteImage(imagePart, "png", 0, tmpImgPath); // skip these steps
Image = File.ReadAllBytes(path) // skip these steps
这段代码被执行了数千次。最后两个步骤只是为了在 Halcon 和 .NET 之间进行兼容性步骤,因为我不知道如何组合它们。
我需要的是一种将 HImage(HObject) 转换为 byte[] 的方法,就像 WriteImage() + File.ReadAllBytes(path) 一样。最后一点很重要,因为这段代码会为图像分类模型生成输入。
由于模型是使用File.ReadAllBytes(path)从磁盘加载的数据进行训练的,我假设我需要在使用模型时以相同的方式准备数据。当我使用 File.ReadAllBytes() 读取 100*100 彩色 PNG 时,我得到的不是 30000 字节,而是更少,所以我假设数据仍然被压缩,并进一步假设我需要在使用模型时保证类似的数据.
这个问题与this one 有一些重叠,但我需要一个 byte[] 而不是位图,只是无法让它工作。
【问题讨论】:
标签: c# machine-learning halcon