車牌識別(一)BMP檔案讀寫

2021-08-21 20:39:58 字數 2654 閱讀 1000

bmp格式的檔案,也就是沒有任何壓縮的原始位圖,占用的磁碟空間也是最大的,但此檔案結構簡單,運算速度快,很適合初學者學習車牌識別原理,由於目的是為了學習車牌識別,所以下面的**,只支援24位色的bmp檔案,上**。

#include #include typedef unsigned long       dword;

typedef int bool;

typedef unsigned char byte;

typedef unsigned short word;

typedef float float;

typedef unsigned char byte;

//bmp影象結構

struct bmp_img

bmp頭長度,14位元組

//資訊頭結束

//其它資訊

byte *image;//指向一塊記憶體,儲存bmp的內容

dword linebytes;//一行佔多少位元組

};//檔案**件到記憶體中

int read_img(char const *fn, struct bmp_img *img)

printf(" ");

fread(&img->datasize, sizeof(dword), 1, infile);

printf("\nbmp data size :%d ",(int)img->datasize);

fread(&img->bixpm, sizeof(dword), 1, infile);

fread(&img->biypm, sizeof(dword), 1, infile);

fread(&img->clrused, sizeof(dword), 1, infile);

printf("\n實際使用顏色數=%d ",(int)img->clrused);printf(" ");

fread(&img->relclrused, sizeof(dword), 1, infile);

if(img->bmp_type==24)//24位色,這裡只考慮24位色圖,其它的不考慮

}free(temp);

temp=null;

}else return 0;

fclose(infile);

return 1;

}//根據img寫bmp檔案

void writebmp(char const *fn,struct bmp_img *img)

fwrite(&img->bftype,2,1,infile);//b m

fwrite(&img->size,sizeof(dword),1,infile);

fwrite(&img->reser,sizeof(dword),1,infile);

fwrite(&img->header_length,sizeof(dword),1,infile);

fwrite(&img->infoheader_length,sizeof(dword),1,infile);

fwrite(&img->width, sizeof(dword), 1, infile);

fwrite(&img->height, sizeof(dword), 1, infile);

fwrite(&img->biplanes, sizeof(word), 1, infile);

fwrite(&img->bmp_type, sizeof(word), 1, infile);

fwrite(&img->compres, sizeof(dword), 1, infile);

fwrite(&img->datasize, sizeof(dword), 1, infile);

fwrite(&img->bixpm, sizeof(dword), 1, infile);

fwrite(&img->biypm, sizeof(dword), 1, infile);

fwrite(&img->clrused, sizeof(dword), 1, infile);

fwrite(&img->relclrused, sizeof(dword), 1, infile);

fwrite(img->image,img->datasize,1,infile);

fclose(infile);

}int main(int argc, char **argv)

//寫入映象後的資料到2.bmp中

writebmp("2.bmp",&img);

free(img.image);//釋放動態分配的記憶體

printf("請開啟2.bmp進行檢視\n");

system("pause");

return 0;

}

要使**正常執行,首先你編譯後的當前資料夾下,要有1.bmp檔案存在,如下圖

程式執行後,會自動生成2.bmp,與上圖相比,上下顛倒過來了,效果如下圖

到此,bmp讀寫成功了。。。

車牌識別之一 車牌定位

車牌識別大概步驟可分為 車牌定位,字元分割,字元識別三個步驟。細分點可以有以下幾個步驟 1 將灰度化與二值化 2 去噪,然後切割成乙個乙個的字元 3 提取每乙個字元的特徵,生成特徵向量或特徵矩陣 4 分類與學習。將特徵向量或特徵矩陣與樣本庫進行比對,挑選出相似的那類樣本,將這類樣本的值作為輸出結果。...

車牌識別一體機 尊貴

1 使用大功率,大廠家電源,功率為50w 2 合金外殼,防塵 防水 防潮 3 自動保護,避免過熱過壓過流短路 4 安裝簡便 5 低光衰,壽命更長久 6 掛接方便 規格引數 執行環境 windows linux 典型行業整合商應用 一 機關事業單位車輛智慧型管理解決方案 機關事業單位卡口 市政交管系統...

檔案讀寫(一)

目錄 檔案讀寫之c語言 讀寫字元 讀寫字串 讀取資料塊 其他常用 讀取字元 file pfile null if null pfile fopen strfile1,r fclose pfile while eof getchar fgetc pfile 寫入字元 file pfile null i...