资源简介
这是本人写的有关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
相关资源
- 用OpenCV作的一个车牌识别程序,可以
- 车牌训练图1000张纯手工制作
- 车牌识别含有十几张可识别车牌图片
- LABVIEW设计程序_车牌识别系统
- BMP180数据手册
- 近2000个图标,编程必备
- BMP图像中的LSB信息隐藏方法
- 车牌定位 车牌定位 车牌定位
- 数字和英文字母识别
- rgb565和BMP24位 图片互转
- lena 512*512灰度、彩色图bmpmatpgmtiff)
- 基于卷积神经网络的车牌字符识别_董
- bmp280的Datasheet
- openCV 车牌分割
- 基于车牌识别的课程设计全
- STM32BMP180程序
- 黄色人种人脸数据库bmp格式
- yuv转bmp(16位24位32位)工具与vc工程
- bmp文件转化为dat文件
- 数字图像处理常用图片BMP
-
opencv车牌识别xm
l文件 - 1117325模型车牌生成器.rar
- 毕业设计BP神经网络方法对车牌照字符
- STM32F103硬件i2c读取bmp085串口输出
- 32*32精选最新图标(gif bmp ico png)
- 显示图像并对256灰度图像做伪彩处理
- BMP图像的哈夫曼编码和费诺编码实现
- opencv车牌识别系统可直接运行
- QT OPENCV车牌识别 识别结果输出到Tex
- 飞歌安卓logotools工具支持1024X600分辨率
评论
共有 条评论