I used ImageJ for this purpose.It is written in java, which is why I used Scala instead of C ++, but there seem to be bindings for C ++ for ImageJ.If you do not find anything better, you can try to use them.Major licenses are Public Domain and BSD-2. - Ariox
Where can I view the ImageJ library? - Optimus
ImageJ is a set of libraries (plug-ins) and final tools in one project.I myself am not sure exactly where it is, I lost my sources.You can download it at imagej.nih.gov/ij/download.html , imagej.net/DICOM can be useful.I did not find information on C ++ bindings, apparently, I’ll have to write a module in java and connect via the Invocation API.In principle, it is not difficult - at the input an array of bytes, at the output an array of bytes, the main thing is to deal with the ImageJ itself.But the option, of course, uncomfortable. - Ariox
I found the source, ImageJ is in Maven, I connected it as "net.imagej" % "ij" % "1.51h" (sbt), or you can see it here: imagej.net/Maven .I opened images through ij.IJ.openImage(fileEntry.getAbsolutePath) , but it seemed to be able to read from the buffer, which I did not need. - Ariox
"net.imagej" % "ij" % "1.51h"(sbt), or you can see it here: imagej.net/Maven . I opened images throughij.IJ.openImage(fileEntry.getAbsolutePath), but it seemed to be able to read from the buffer, which I did not need. - Ariox