Skip to content

Proposal for minimalistic imaging platform #16307

@dajuric

Description

@dajuric

Proposal for minimalistic imaging platform

.NET does not provide a truly portable image format nor portable image IO operations.
For example System.Drawing.Bitmap nor WPF's BitmapSource and does not provide generic interface which imposes compile-time constraints. EmguCV's generic image provides the generic interface but is heavily coupled with OpenCV.

All mentioned image types do not provide a unified interoperability needed when mixing image-processing algorithms from different libraries.

Goals:

  • to create a portable module for image reading/writing
  • to create a portable, slim image format such as DotImaging has (native array Bgr<byte>[,])
  • to create system drawing primitives - such as in DotImaging.Primitives2D
  • optionally to create portable video reading and web-camera access module

Proposal

To leverage existing structure and components of DotImaging framework, but to replace the backing OpenCV part needed for image IO.
The first step would be to create a portable image reading/writing module with the most simplistic API (e.g. ImageIO.LoadColor(), LoadGray()...).
Options:

Related issues

Proposal for Cross-plat Server-side Image Manipulation Library - proposal of much broader scale - this proposal resolves the core issue and levaes out separates image processing part managed by other libraries Accord.NET, Accord.NET Extensions, EmguCV.

.NET core should have primitive drawing types - already done in DotImaging.Primitives2D

Metadata

Metadata

Assignees

No one assigned

    Labels

    api-needs-workAPI needs work before it is approved, it is NOT ready for implementationarea-System.Drawing

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions