Load and store *.pnm image file

Aaeshah
Aaeshah used Ask the Experts™
on
I would like to write two functions to load and store binary (types P5 and P6) “*.pnm” image files but I am new in image processing, can anyone help me or give me some resources that I can use. Furthermore, The image structure should contain following:
type : an integer value specifying the image type. Values Gray = 0 and RGB = 1
width : an integer value specifying the width of the image.
height : an integer value specifying the width of the image.
data : a byte array of image data (stored in row major order).

For example following C++ code shows the headers of required functions.

struct Image {
int type; // an integer value specifying the image type. Values // Gray = 0 and RGB = 1 
int width; // an integer value specifying the width of the image.
int height; // an integer value specifying the height of the image. 
char* data; // an 8-bit array of image data (row major).
 }; 

Image loadImage(string fileName); 
void storeImage(string fileName, Image img);

Open in new window

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
If you decided to use C++ then you may start with this document: http://www.cs.tufts.edu/comp/40/progs/pnmrdr.pdf
Then you should also look at this source code: http://web.eecs.utk.edu/~leparker/Courses/CS594-fall08/Homeworks/inputMap_v2.cc

To look at the PNM files structure and retrieve metadata you may start here: https://en.wikipedia.org/wiki/Netpbm_format and continue on the links at the bottom or here: http://www.imagemagick.org/script/formats.php

Above info should be sufficient for you to start programming.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial