Ayase Minori 0edfd693eb Update to 0.9.1 (#46)
* Begin refactor

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Begin IntPtr sweeping changes

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Implement StringPacket

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Implement StringPacket

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Remove factory class to prepare for strongly typed packets

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Finish FloatVectorPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish Anchor3DVectorPacket and BoolPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Make SerializedProto actually IDisposable

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish ClassificationListPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish ClassificationListVectorPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish DetectionPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish DetectionVectorPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish FaceGeometryPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish FaceGeometryVectorPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish FloatArrayPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Fix mismatched extern call for FloatVector

This is potentially lethal and can cause a really bad bug on use

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish FloatPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish FrameAnnotationPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish GpuBufferPacket

Converting the entirety of the GPU PInvoke code was also performed, it was unavoidable

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Update imageFrame

This is kind of butchered but we will have a span-based overload again when I feel like it

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Reintroduce the memory safe iamge handling again

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Porting ImageFrame is an act of god ong

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish ImageFramePacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish IntPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Fix pointer ambiguity in MpResourceHandle

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Let MpResourceHandle use its private property handle

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Finish LandmarkListPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish LandmarkListVectorPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish NoramlizedLandmarkListPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish MatrixPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish NormalizedRectPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish normalizedVectorRect

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish RectPacket

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finsih RectVector

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Finish all Packets

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Fixup CalculatorGraph for generic Packet types

Signed-off-by: Ayane <ayane@vignetteapp.org>

* a

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Deprecate Solutions class

As there is no maintainers for it, it doesn't seem worth keeping it for now. We will put it on it's own package instead

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Forgot to commit this 💀

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Fix more casting issues

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Make sure native methods are marshaled properly

Signed-off-by: Ayane <ayane@vignetteapp.org>

* Update some tests

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Add an even more memory safe ctor for ImageFrame

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Fix tests lmao

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Fix StringPacket not pointing to a ptr

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

* Fix incorrect test facts provided on cases

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>

---------

Signed-off-by: Ayane Satomi <ayane@vignetteapp.org>
Signed-off-by: Ayane <ayane@vignetteapp.org>
2023-02-22 14:01:27 +08:00
2023-02-14 10:41:17 +08:00
2023-02-14 04:48:15 +00:00
2023-02-22 14:01:27 +08:00
2023-02-22 14:01:27 +08:00
2022-01-07 19:43:13 +08:00
2022-01-28 12:07:37 +01:00
2022-01-07 19:43:13 +08:00
2022-01-07 19:43:13 +08:00
2022-01-07 19:47:32 +08:00
2023-02-22 14:01:27 +08:00
2023-02-19 07:57:46 +08:00

MediaPipe.NET

Discord NuGet

Bringing the best of MediaPipe to the .NET ecosystem! Based on MediaPipeUnity, MediaPipe.NET brings Google's MediaPipe into the .NET ecosystem in its fullest.

Installation

You may install via NuGet:

dotnet add --project <Project> Mediapipe.Net

Since this library is mapping off native methods from MediaPipe to the CLR realm, the runtime is not explicitly included in the NuGet package or in this repository. Interested parties who may want to head to the MediaPipe.NET.Runtime repository, where the native code resides.

However, if you just want things to work, You will want to use MediaPipe.Net.Runtime, you have the option of using CPU or GPU:

$ dotnet add --project <Project> Mediapipe.Net.Runtime.Gpu # if you want to use GPU
$ dotnet add --project <Project> Mediapipe.Net.Runtime.Cpu # if you want to use CPU

⚠️ NOTE ⚠️ : Certain features may not work at the moment in GPU, please consult the compatibility matrix.

Compatibility Matrix

We share the same compatibility matrix with MediaPipeUnityPlugin, so this will change depending on whichever party implements what's missing.

Linux (x86_64) macOS (x86_64) macOS (ARM64) Windows (x86_64) Android iOS
Linux (AMD64) 1 ✔️
Intel Mac ✔️
M1 Mac 2 ✔️
Windows 10 (AMD64) 34 ✔️ ✔️

Examples

Coming soon!

MediaPipe.NET is Copyright © The Vignette Authors, Licensed under MIT. Parts of this code is based on MediaPipeUnity, Copyright © homuler, Licensed under MIT.


  1. Tested on Arch Linux. ↩︎

  2. Experimental, because MediaPipe does not support M1 Mac. ↩︎

  3. Windows 11 will be also OK. ↩︎

  4. Running MediaPipe on Windows is experimental. ↩︎

Description
Pure .NET bindings for Google's MediaPipe.
Readme MIT 6.6 MiB
Languages
C# 100%