Linux+C语言:数字图像处理源程序

凉茶微凉 2009-03-26

这个是我将原来的用C语言写的数字图像处理改写在可以通过G++编译了。原来的程序是通过的VC++6的编译,但是没有通过GCC的编译,这次经过更改之后,已经完整的通过了VC6和GCC的编译,因此,可以用在Windows下和Linux下。我的Linux的C C++的编程环境是Code Blocks,很不错的。下面是更改之后的源程序,全部的源程序哦。随后,我会增加一些图像处理的算法上去的。现在,只是简单的读图和保存图。

BMP.h的全部源程序:
#ifndef BMP_H_INCLUDED
#define BMP_H_INCLUDED

typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef long LONG;
typedef unsigned char BYTE;

typedef struct tagBITMAPFILEHEADER
{ // bmfh
    WORD bfType;
    DWORD bfSize;
    WORD bfReserved1;
    WORD bfReserved2;
    DWORD bfOffBits;
}BITMAPFILEHEADER;

typedef struct tagBITMAPINFOHEADER
{ // bmih
    DWORD biSize;
    LONG biWidth;
    LONG biHeight;
    WORD biPlanes;
    WORD biBitCount;
    DWORD biCompression;
    DWORD biSizeImage;
    LONG biXPelsPerMeter;
    LONG biYPelsPerMeter;
    DWORD biClrUsed;
    DWORD biClrImportant;
}BITMAPINFOHEADER;

typedef struct tagRGBQUAD
{ // rgbq
    BYTE rgbBlue;
    BYTE rgbGreen;
    BYTE rgbRed;
    BYTE rgbReserved;
}RGBQUAD;

typedef struct tagBITMAPINFO
{
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
}BITMAPINFO;

#endif // BMP_H_INCLUDED

相关推荐