【发布时间】:2017-09-03 03:28:24
【问题描述】:
我有一个 12 位图像,我想在 Opencv 中使用,例如检测 blob 等。
图像现在是一个 Uint16 数组。我想将它转换为 Opencv Mat 或 Iplimage。我需要这样做才能阈值和检测 blob。
我所做的是将 ushort 数组转换为位图,然后使用 opencv 扩展转换为 Mat,见下文。
ushort[,] red = new ushort [480,640];
//Grab image in to ushort array
//..
bmpred = U16ArrayToBitmap(red);
Mat redMat = new Mat();
redMat = OpenCvSharp.Extensions.BitmapConverter.ToMat(bmpred);
现在 redMat,我的 Mat 图像是 U8C4,据我了解它的 4 Chanel Unsigned 8 位。 这对我不起作用,因为我想使用所有 12 位!
是否可以将ushort数组或位图转换为16位灰度Mat或iplimage?
谢谢!
【问题讨论】:
标签: c# image opencv opencvsharp ushort