我一直用VC来做我的毕设,前天老师说让我改用C,呃~~~,这个我不会,我没有学过用C语言来对位图进行处理,有哪位可以帮帮我吗。
我的毕设是这样的:对两幅图进行显示,画直方图,比较波峰波谷(用欧式距离好像),判断匹配是否成功。
我都不知道如何显示位图,55555~~,网上有一篇文章说要把bmp先转为turboc的格式,这是事么意思啊,有必要吗?
希望大侠们帮帮我啊,下周就要交了,急死我了。谢谢。
嗯~~`,

解决方案 »

  1.   

    建议查一下图形格式,
    位图最简单,无非是一个文件头,后面跟一堆图形数据。文件头嘛,无非此图片的信息,格式啊,大小,长度和宽度,调色板之类的……
    查查格式,用struct写一个BMP文件头,
    然后根据文件头的休息,把图形数据读出来,就差不多了。至于图形文件的匹配,就看你怎么设计算法了。
      

  2.   

    是说这么做吗?
    #include <stdio.h>
    typedef struct
    {
        char id[2];
        long filesize;
        int reserved[2];
        long headersize;
        long infosize;
        long width;
        long depth;
        int biPlanes;
        int bits;
        long biCompression;
        long biSizeImage;
        long biXPelsPerMeter;
        long biYPelsPerMeter;
        long biClrUsed;
        long biClrImportant;
    } BMPHEAD;int main()
    {
        char name[20] = "picture.bmp";
        unsigned char buf[1024];
        FILE  *fp;
        BMPHEAD bmp;
        
        fp = fopen(name,"rb");    fread(&bmp,sizeof(BMPHEAD),1,fp);
        while(fread(buf,1024,1,fp1))
        {
                     //////////////////
        }
        fclose(fp);
        return 0;
    }