资源简介
这是本人写的有关bmp文件的关于车牌字符的代码,请多多指教!

代码片段和文件信息
#include
#include
#include
#include “license.h“
#define size 50 //归一化图像大小
using namespace std;
int nWidth =0nHeight = 0LineByte = 0;
BITMAPFILEHEADER phph0; //文件头指针
BITMAPINFOHEADER ih; //数据头指针
IMAGEDATA *imagedata = NULL;//动态分配存储图片的像素信息的二维数组
IMAGEDATA *imagedata0 = NULL;
void LoadBmp(char *cName)
{
WORD bfType;
FILE *fp;
int i = 0j = 0;
if (cName == nullptr)
{
printf(“loadbmp faile! please right name!“);
return;
}
if ((fp = fopen(cName“rb“)) == nullptr)
{
printf( “open fauliure!\n“ );
return;
}
fread(&bfTypesizeof(WORD)1fp);//读位图文件头
if (0x4D42 != bfType)
{
printf(“this is not bmp!“);
return;
}
fread(&phsizeof(BITMAPFILEHEADER)1fp);//读位图文件头
fread(&ihsizeof(BITMAPINFOHEADER)1fp);//读位图信息头
nWidth = ih.biWidth;//宽
nHeight = ih.biHeight;//高
imagedata = (IMAGEDATA *)(malloc(nWidth*nHeight*sizeof(IMAGEDATA)));//开辟这么多的字节
for(int i = 0;i < nHeight;++i)//初始化
{
for(int j = 0;j < nWidth;++j)
{
(*(imagedata + i * nWidth + j)).blue = 0;
(*(imagedata + i * nWidth + j)).green = 0;
(*(imagedata + i * nWidth + j)).red = 0;
}
}
fread(imagedatasizeof(IMAGEDATA)*nWidthnHeightfp);
fclose(fp);
fp = nullptr;
}
void GrayBinaryBmp()
{
int i = 0j = 0;
FILE *fp;
WORD bfType = 0x4D42;
if((fp = fopen(“binary.bmp““wb“))==nullptr)
{
printf(“error! graybinarybmp!“);
return;
}
fwrite(&bfTypesizeof(WORD)1fp);
fwrite(&phsizeof(BITMAPFILEHEADER)1fp);
fwrite(&ihsizeof(BITMAPINFOHEADER)1fp);
for(i = 0; i {
for(j = 0;j < nWidth;j++)
{
(*(imagedata + i * nWidth + j)).green =(BYTE)( 0.11 * (*(imagedata + i * nWidth + j)).blue + 0.3 * (*(imagedata + i * nWidth + j)).red + 0.59 * (*(imagedata + i * nWidth + j)).green);
(*(imagedata + i * nWidth + j)).blue = (*(imagedata + i * nWidth + j)).red = (*(imagedata + i * nWidth + j)).green;
}
}
//二值化
int yuzhi = 90;
for(int i = 0;i < nHeight;i++)
{
for(int j = 0;j < nWidth; j++)
{
if( (*(imagedata + i * nWidth + j)).green {
(*(imagedata + i * nWidth + j)).green =(*(imagedata + i * nWidth + j)).blue =(*(imagedata + i * nWidth + j)).red = 0;
fwrite(imagedata + i * nWidth + j31fp);
}
else
{
(*(imagedata + i * nWidth + j)).green =(*(imagedata + i * nWidth + j)).blue =(*(imagedata + i * nWidth + j)).red = 255;
fwrite(imagedata + i * nWidth + j31fp);
}
}
}
}
//分割处理
void segment()
{
WORD bfType_w = 0x4D42;
FILE *fp1;
int i = 0j = 0;
int count = 0k = 0;
int T = 1T1 = 1;//阈值
int flag = 0;
int row_start = 0row_end =0;//用来记录车牌开始,结束行
int col_start = 0col_end =0;//用来记录车牌开始,结束列
for( i = 0;i < nHeight;i++) //水平扫描
{
count = 0;
for( j = 0;j < nWidth-1; j++)
{
if ((*(imagedata + i * nWidth + j)).red != (*(imagedata + i * nWidth + j+1)).red)
count
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 77824 2013-12-13 13:51 license\Debug\plc.exe
文件 431464 2013-12-13 13:51 license\Debug\plc.ilk
文件 838656 2013-12-13 13:51 license\Debug\plc.pdb
文件 1152054 2013-10-22 02:51 license\plc\56.bmp
文件 1152054 2013-12-13 13:51 license\plc\binary.bmp
文件 620 2013-12-13 13:51 license\plc\Debug\cl.command.1.tlog
文件 11102 2013-12-13 13:51 license\plc\Debug\CL.read.1.tlog
文件 232 2013-12-13 13:51 license\plc\Debug\CL.write.1.tlog
文件 2 2013-12-13 13:51 license\plc\Debug\li
文件 2 2013-12-13 13:51 license\plc\Debug\li
文件 2 2013-12-13 13:51 license\plc\Debug\li
文件 2 2013-12-13 13:51 license\plc\Debug\li
文件 1522 2013-12-13 13:51 license\plc\Debug\li
文件 3600 2013-12-13 13:51 license\plc\Debug\li
文件 228 2013-12-13 13:51 license\plc\Debug\li
文件 176606 2013-12-13 13:51 license\plc\Debug\platelicenserecognition.obj
文件 682 2013-12-13 13:25 license\plc\Debug\plc.Build.CppClean.log
文件 40 2013-12-13 13:51 license\plc\Debug\plc.lastbuildstate
文件 1742 2013-12-13 13:51 license\plc\Debug\plc.log
文件 257024 2013-12-13 13:51 license\plc\Debug\vc110.idb
文件 339968 2013-12-13 13:51 license\plc\Debug\vc110.pdb
文件 1390 2013-11-27 10:46 license\plc\license.h
文件 10930 2013-12-13 13:51 license\plc\platelicenserecognition.cpp
文件 4092 2013-11-26 18:59 license\plc\plc.vcxproj
文件 1081 2013-11-26 18:59 license\plc\plc.vcxproj.filters
文件 1136970 2013-12-13 13:51 license\plc\quzaosheng.bmp
文件 899214 2013-11-26 19:12 license\plc\segmentall
文件 899214 2013-11-26 19:36 license\plc\segmentall.bmp
文件 3129 2013-11-26 20:02 license\plc.psess
文件 7208960 2013-12-13 14:42 license\plc.sdf
............此处省略10个文件信息
- 上一篇:Gmap鼠标拖拽Marker
- 下一篇:基于SSH三大框架的-档案管理系统.rar
相关资源
- 如何实现bmp位图透明贴图
- bmp文件读出为txt文件 txt文件写入为
- bmp2c
- BmpButton
- Halcon车牌识别
- 百度API车牌识别DEMO.rar
- 基于V4L2的视频采集,能够采集YUVJPE
- AlCl3抑制大鼠骨形成及BMP/Smad信号转导
- 车牌检测训练正样本,共1350张
- ORL_BMP.zip
- 易泊车牌识别停车计费系统介绍
- 基于图像的自动识别技术
- BMP位图文件解析
- 车牌字符库
- 基于OPENCV的车牌识别系统设计
- 编程常用的素材(含png、jif、bmp、j
- jpeglib读取jpeg,转为bmp图,24真彩和灰
- 617张国内车牌60-17bmp图片用于OpenCV正样
- 车牌检测数据集
- 蓝色像素点统计车牌定位程序
- pEGFP-N1/BMP-2真核表达质粒的构建与鉴定
- 夜间车牌识别
- 简单\“(8bit)Raw图像文件转换为(
- 复杂背景下车牌识别系统GUI.zip
- 车牌识别系统的功能评测子库3
- ORL人脸数据集,40个人,共400张bmp格式
- 车牌识别中省份汉字的训练集
- 基于opencv的车牌识别源码
- 车牌识别2400个正样本
- 车牌识别系统原创+详细注释版+少函数
评论
共有 条评论