public void CopyToFloatBuffer_ShouldReturnFloatArray_When_BufferSizeIsLargeEnough() { using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Vec32F1, 10, 10)) { var normalBuffer = new float[100]; var largeBuffer = new float[120]; imageFrame.CopyToBuffer(normalBuffer); imageFrame.CopyToBuffer(largeBuffer); Assert.IsEmpty(normalBuffer.Where((x, i) => Math.Abs(x - largeBuffer[i]) > 1e-9)); } }
public void CopyToUshortBuffer_ShouldReturnUshortArray_When_BufferSizeIsLargeEnough() { using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray16, 10, 10)) { var normalBuffer = new ushort[100]; var largeBuffer = new ushort[120]; imageFrame.CopyToBuffer(normalBuffer); imageFrame.CopyToBuffer(largeBuffer); Assert.IsEmpty(normalBuffer.Where((x, i) => x != largeBuffer[i])); } }
public void CopyToFloatBuffer_ShouldThrowException_When_BufferSizeIsTooSmall() { using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Vec32F1, 10, 10)) { #pragma warning disable IDE0058 Assert.Throws <MediaPipeException>(() => { imageFrame.CopyToBuffer(new float[99]); }); #pragma warning restore IDE0058 } }
public void CopyToFloatBuffer_ShouldThrowException_When_BufferDepthIsWrong() { using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10)) { #pragma warning disable IDE0058 Assert.Throws <MediaPipeException>(() => { imageFrame.CopyToBuffer(new float[100]); }); #pragma warning restore IDE0058 } }
public void SetToZero_ShouldSetZeroToAllBytes() { using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Gray8, 10, 10)) { imageFrame.SetToZero(); var bytes = new byte[100]; imageFrame.CopyToBuffer(bytes); Assert.True(bytes.All((x) => x == 0)); } }
public void Ctor_ShouldInstantiateImageFrame_When_CalledWithPixelData() { var pixelData = new NativeArray <byte>(32, Allocator.Temp, NativeArrayOptions.UninitializedMemory); var srcBytes = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, }; pixelData.CopyFrom(srcBytes); using (var imageFrame = new ImageFrame(ImageFormat.Types.Format.Sbgra, 4, 2, 16, pixelData)) { Assert.AreEqual(4, imageFrame.Width()); Assert.AreEqual(2, imageFrame.Height()); Assert.False(imageFrame.IsEmpty()); var bytes = new byte[32]; imageFrame.CopyToBuffer(bytes); Assert.IsEmpty(bytes.Where((x, i) => x != srcBytes[i])); } }