Development/C#
OpenCvSharp Map to Halcon HObject
우봉수
2023. 5. 3. 19:42
using HalconDotNet;
using OpenCvSharp;
using OpenCvSharp.Extensions;
static HObject MatToHObject(Mat mat)
{
HObject hObject;
int width = mat.Width;
int height = mat.Height;
int channels = mat.Channels();
if (channels == 1)
{
HOperatorSet.GenImage1(out hObject, "byte", width, height, mat.Data);
}
else if (channels == 3)
{
Mat[] splitChannels = mat.Split();
HObject hRed, hGreen, hBlue;
HOperatorSet.GenImage1(out hRed, "byte", width, height, splitChannels[2].Data);
HOperatorSet.GenImage1(out hGreen, "byte", width, height, splitChannels[1].Data);
HOperatorSet.GenImage1(out hBlue, "byte", width, height, splitChannels[0].Data);
HOperatorSet.Compose3(hRed, hGreen, hBlue, out hObject);
}
else
{
throw new NotSupportedException("Unsupported number of channels in Mat");
}
return hObject;
}