freudi74 / mfimage Goto Github PK
View Code? Open in Web Editor NEWLibrary for reading / writing images from multiple file formats in a way suitable for color management and manipulating them.
License: GNU General Public License v3.0
Library for reading / writing images from multiple file formats in a way suitable for color management and manipulating them.
License: GNU General Public License v3.0
Although rarely used, it would be desireable to be able to read and write Windows BMPv5 files with embedded ICC profiles (or other chromaticy information).
Read CIELAB TIFFs and store them internally in 32 bit (float) per channel (although image files might be 8, 16 bit). Always write as 16 bit ?
my code is using Exceptions. However, no exception should go through the interface to avoid crashes due to uncaught exceptions. Also, improve exception Throwing process. Add Error Enumeration and error text extraction.
Really want to go with GPL? Does this go well with the fact that there are Non-GPL (MIT, BSD, PNG) licenses in depencies?
Currently TIFF files can not be written in planar order, only contiguous. Add support for that
Write a BitmapInfoHeaderV5 header if there is an Alpha channel or an embedded ICC Profile. Otherwise, write a BitmapInfoHeaderV1 (as we do no).
This adds support to write BMP files with alpha and ICC profile.
Something is fishy with ICC profiles ind JPEG2000 images; it almost looks as if OpenJPEG would use embedded ICC to already convert the image data to sRGB (?). Not verified in code, potentially also the test file with embedded ICC simply was bad.
For some reason, JPEG2000 read gives bad results on Windows. Looks like a color channel issue. Might be something related to my homebrew build of OpenJPEG. Need to check. Did I say, that OpenJPEG is a mess?
Need resolution from JPEG2000 header. Seems to be not supported by OpenJPEG, at least not doing the high-level stuff. Need to get into OpenJPEG, but need time for that. For now it works, but no guarantees in terms of the colors.
Need alpha channel support in JPEG2000; however, need sample images to do it.
OpenJPEG seems to be a total mess, especially in the way it handles colors. And it's extremely slow. Consider something else (try JasPer)
Add a base class for filtering images, that can be extended by the user to implement actual filters.
Later, perhaps, distribute some filters mfImage.
Typical filters would be: Level + gamma filter, brighness, sharpening, blur, gaussian blur, unsharpen mask, invert, Hue+Saturation, ...
Note that all those filters should be implemented for:
RGB, CMYK, GRAY, LAB
in 8,16,32 bit depth! Or perhaps need a "canFilter" that returns false for unsupported image types.
Currently, a JPEG2000 can only be read through a file, not from a stream. The API that takes a stream writes that to a temp file and reads it from there. Fix that.
Currently, a JPEG can only be read through a file, not from a stream. The API that takes a stream writes that to a temp file and reads it from there. Fix that.
Currently, a GIF can only be read through a file, not from a stream. The API that takes a stream writes that to a temp file and reads it from there. Fix that.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.