I need to process large images (20,000x20,000pixels) in C#. Opening these images directly isn't the way to go because of memory limitations, but what I want to do is split the image into smaller pieces (cropping). I was looking for a 3rd party library that could the trick, but so far no result. I tried FreeImage and ImageMagick, but they cannot open an 20,000x20x000 pixel image. How can I achieve this?
+2
A:
Don't know if this would help, but here is an article on image processing with C# lambda expressions.
jjclarkson
2009-06-19 15:14:34
+1
A:
My current project at work consists of an image viewer/analyzing program capable of loading images in excess of 16 gb. You have to use manual file IO, pull the header information out and create your subimages on-demand (or if you're processing the image, you can create a single tile and process it in-place). Very few libraries are going to give you the capability to load/modify a 20k by 20k image (1.2gb at 24bpp) and the ones that do will rarely do so with anything resembling performance (if that is a concern).
Ron Warholic
2009-06-19 15:23:24
16gb+ images? Thats awesome, where are they coming from?
Allen
2009-06-19 17:16:16
We work with synthetic aperture radar imagery which can generate very huge images :P
Ron Warholic
2009-06-19 17:22:05
hah, thats badass (google has some great images on that), what languages do you use. I'm curious if C# could handle that kind of workload
Allen
2009-06-19 17:38:04
We use C# to display everything and we P/Invoke to C++ with OpenGL to do the heavy lifting. It works surprisingly well :P
Ron Warholic
2009-06-19 18:29:25