我使用的是EmguCV 3.4.1和eBUS SDK。我有视频通过GigE进来,我想把PvBuffer转换成垫子,这样我就可以使用OpenCV来创建直方图的显示。
发布于 2018-06-05 06:31:40
我遵循了一种类似于在C++中创建Mat的风格。不幸的是,这个解决方案需要将项目标记为不安全。
unsafe private Mat convertPvBufferToMat(PvBuffer aBuffer)
{
PvImage lImage = aBuffer.Image;
lImage.Alloc(lImage.Width, lImage.Height, PvPixelType.Mono16);
int[] sizes = new int[2] { (int)lImage.Height, (int)lImage.Width };
Mat aMat = new Mat(sizes, DepthType.Cv16U, (IntPtr)lImage.DataPointer);
return aMat;
}
我从输出16位灰度图像的红外相机中获取图像。
https://stackoverflow.com/questions/50689619
复制相似问题