MemeFactory.Matting.Onnx
1.0.0-alpha.47
dotnet add package MemeFactory.Matting.Onnx --version 1.0.0-alpha.47
NuGet\Install-Package MemeFactory.Matting.Onnx -Version 1.0.0-alpha.47
<PackageReference Include="MemeFactory.Matting.Onnx" Version="1.0.0-alpha.47" />
<PackageVersion Include="MemeFactory.Matting.Onnx" Version="1.0.0-alpha.47" />
<PackageReference Include="MemeFactory.Matting.Onnx" />
paket add MemeFactory.Matting.Onnx --version 1.0.0-alpha.47
#r "nuget: MemeFactory.Matting.Onnx, 1.0.0-alpha.47"
#addin nuget:?package=MemeFactory.Matting.Onnx&version=1.0.0-alpha.47&prerelease
#tool nuget:?package=MemeFactory.Matting.Onnx&version=1.0.0-alpha.47&prerelease
MemeFactory
A meme processing utility based on ImageSharp.
Install
<PackageReference Include="MemeFactory.Core" Version="1.0.0-alpha.39" />
Design
sequenceDiagram
participant Service
participant Sequence as Sequence
participant Processor as AsyncLinq Operations
Service ->> Service: prepare images
Service ->> Sequence: convert Image to Sequence
Sequence ->> Service: IAsyncEnumerable<Frame>
Service ->> Processor: transform frames
Processor ->> Processor: (optional) draw other image into frame
Processor ->> Processor: (optional) expand frame
Processor ->> Processor: (optional) or redraw every frame using AI!
Processor ->> Service: final IAsyncEnumerable<Frame>
Service ->> Sequence: Compose frame sequence to Image
Sequence ->> Service: Image/Encoder/File Extensions
Usage
Matting image using AI
<PackageReference Include="MemeFactory.Matting.Onnx" Version="1.0.0-alpha.39" />
IAsyncEnumerable<Frame> frames;
var model = new RmbgConfiguration("your_model_path");
using var result = frames.ApplyModel(model).AutoComposeAsync();
await result.Image.SaveAsync("result." + result.Extension, result.Encoder);
See also: RMBG-2.0 / ModNet / PaddleSeg/Matting
⚠ Note: This package does not include any ONNX runtime package, please reference at least one ONNX runtime native package in your project.
Processing image with ffmpeg
<PackageReference Include="MemeFactory.Ffmpeg" Version="1.0.0-alpha.39" />
IAsyncEnumerable<Frame> frames;
frames.SpeedUp(1.0f);
⚠ Note: This package does not include any ffmpeg library or executable file, please install ffmpeg on your system.
Processing image with OpenCv
<PackageReference Include="MemeFactory.OpenCv" Version="1.0.0-alpha.39" />
IAsyncEnumerable<Frame> frames;
frames.OpenCv(MemeCv.RadialBlur())
⚠ Note: This package does not include any OpenCV binary file, please reference
OpenCvSharp4
runtime package in your project.
MemeFactory.OpenCv built-in filters
Use
MemeCv
to access all built-in filters
Method | Description |
---|---|
RadialBlur | Apply a radial blur filter to every frame |
FloodMatting | Select a point and matting image using the color of the selected point |
Core built-in filters
Method | Description |
---|---|
DuplicateFrame | Duplicate every frame in sequence, e.g. 1234 to 1122334 |
Loop | Loop the entire sequence, e.g. 1234 to 12341234 |
FrameBasedZipSequence | Merge two sequences frame by frame |
AutoComposeAsync | Evaluate all processors and generate the final image, and the output format is determined by the count of the final sequence |
EachFrame | Apply a FrameProcessor to every frame |
Rotation | Rotate the sequence frame by frame while incrementing the angle each frame |
Sliding | Slide sequence from edge to edge |
TimelineSliding | Not only sliding the canvas, also including the timeline |
Flip | Flip every frame |
Resize | Resize every frame |
BackgroundColor | Replace the background color of every frame |
Glow | Apply a radial glow to every frame |
Vignette | Apply a radial vignette to every frame |
BokehBlur | Apply a Bokeh blur filter to every frame |
GaussianBlur | Apply a Gaussian blur filter to every frame |
GaussianSharpen | Apply a Gaussian sharpen filter to every frame |
BlackWhite | Apply a black white filter to every frame |
Invert | Apply a invert color filter to every frame |
Kodachrome | Apply a Kodachrome filter to every frame |
Polaroid | Apply a Polaroid filter to every frame |
Pixelate | Apply a pixelate filter to every frame |
Contrast | Adjust the contrast of every frame |
Opacity | Adjust the opacity of every frame |
Hue | Adjust the hue of every frame |
Saturate | Adjust the saturate of every frame |
Lightness | Adjust the lightness of every frame |
Brightness | Adjust the rightness of every frame |
ProjectiveTransform | Apply projective transform matrix to every frame |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- MemeFactory.Core.Abstraction (>= 1.0.0-alpha.33)
- Microsoft.ML.OnnxRuntime.Managed (>= 1.21.0)
- SixLabors.ImageSharp (>= 3.1.7)
- System.Linq.Async (>= 6.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-alpha.47 | 84 | 3/21/2025 |
1.0.0-alpha.46 | 123 | 3/19/2025 |
1.0.0-alpha.45 | 120 | 3/19/2025 |
1.0.0-alpha.44 | 125 | 3/19/2025 |
1.0.0-alpha.43 | 116 | 3/19/2025 |
1.0.0-alpha.42 | 117 | 3/19/2025 |
1.0.0-alpha.41 | 122 | 3/19/2025 |
1.0.0-alpha.40 | 119 | 3/19/2025 |
1.0.0-alpha.39 | 115 | 3/18/2025 |
1.0.0-alpha.38 | 112 | 3/18/2025 |
1.0.0-alpha.36 | 118 | 3/17/2025 |
1.0.0-alpha.35 | 119 | 3/17/2025 |
1.0.0-alpha.34 | 118 | 3/17/2025 |
1.0.0-alpha.32 | 115 | 3/17/2025 |
1.0.0-alpha.31 | 118 | 3/17/2025 |
1.0.0-alpha.30 | 124 | 3/16/2025 |
1.0.0-alpha.29 | 119 | 3/16/2025 |
1.0.0-alpha.28 | 117 | 3/16/2025 |
1.0.0-alpha.27 | 114 | 3/16/2025 |