资源简介
openCV 车牌分割:对图像的读入,二值化,分割
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
#pragma comment(lib“cv.lib“)
#pragma comment(lib“cxcore.lib“)
#pragma comment(lib“highgui.lib“)
#define T 27
#define T1 2
#define S(imagexy) ((uchar*)(image->imageData + image->widthStep*(y)))[(x)] //S
void main()
{
IplImage *src;
IplImage *pImg8u=NULL; //灰度图
IplImage *pImg8uSmooth=NULL; //高斯滤波后的图
IplImage *pImgCanny=NULL; //二值化的图
IplImage *pImgHist=NULL; //直方图
int hist_size=155;
float range_0[]={0256};
float *ranges[]={range_0};
int ijbin_w;
float max_valuemin_value;
int min_dxmax_dx;
int row_startrow_end;//用来记录车牌开始,结束行
int col_startcol_end;//用来记录车牌开始,结束列
int count=0;//用来记录行或列的白点个数
src=cvLoadImage(“12.bmp“-1);
pImg8uSmooth=cvCreateImage(cvGetSize(src)IPL_DEPTH_8U1);
pImg8u=cvCreateImage(cvGetSize(src)IPL_DEPTH_8U1);
pImgCanny=cvCreateImage(cvGetSize(src)IPL_DEPTH_8U1);
cvCvtColor(srcpImg8uCV_RGB2GRAY); //灰度化
cvSmooth(pImg8upImg8uSmoothCV_GAUSSIAN300);//高斯滤波
cvCanny(pImg8uSmoothpImgCanny1002003); //二值化
/*cvDilate(pImgCannypImgCanny01);
cvErode(pImgCannypImgCanny01);*/
row_start=0;
row_end=0;
col_start=0;
col_end=0;
int row[120];
int col[340];
int k;
k=0;
bool flag=false;
for(j=0;jheight;j++) //找到上行开始
{
count=0;
for(i=0;iwidth-1;i++)
{
if(S(pImgCannyij)!=S(pImgCannyi+1j)) //统计行跳数
count++;
if(count>T)
{
row[k]=j;
k++;
break;
}
}
}
for(i=0;i {
if((row[i]==row[i+1]-1)&&(row[i+1]==row[i+2]-1)){
row_start=row[i];
break;
}
}
cout<<“the start row:“< cvLine(pImg8ucvPoint(0row_start)cvPoint(src->widthrow_start)cvScalar(25500)180);
for(i=k-1;i>row_start;i--) //从下边开始,3行连续时认为是起始行
{
if((row[i]==row[i-1]+1)&&(row[i-1]==row[i-2]+1)){
row_end=row[i];
break;
}
}
cout<<“the end row:“< cvLine(pImg8ucvPoint(0row_end)cvPoint(src->widthrow_end)cvScalar(25500)180);
flag=false;
for(i=10;iwidth;i++) //找到左列开始
{
count=0;
for(j=row_start;j {
if(S(pImgCannyij)==255)
count++;
if(count>T1)
{
col_start=i;
flag=true;
break;
}
}
if(flag) break;
}
cout<<“the start col:“< cvLine(pImg8ucvPoint(col_startrow_start)cvPoint(col_startrow_end)cvScalar(25500)180);
flag=false;
for(i=pImgCanny->width-10;i>col_start;i--) //找到右列开始
{
count=0;
for(j=row_start;j {
if(S(pImgCannyij)==255)
count++;
if(count>T1)
{
col_end=i;
flag=true;
break;
}
}
if(flag) break;
}
cout<<“the end col:“< cvLine(pImg8ucvPoint(col_endrow_start)cvPoint(col_endrow_end)cvScalar(25500)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3648 2009-09-28 14:02 车牌识别\车牌识别\车牌识别.vcproj
文件 1427 2009-10-12 22:21 车牌识别\车牌识别\车牌识别.vcproj.01554C3E9EC245B.Administrator.user
文件 9728 2009-10-12 13:56 车牌识别\车牌识别\cvCarRecog.cpp
文件 6566 2009-10-12 13:56 车牌识别\车牌识别\Debug\BuildLog.htm
文件 207872 2009-10-12 13:56 车牌识别\车牌识别\Debug\vc90.idb
文件 249856 2009-10-12 13:56 车牌识别\车牌识别\Debug\vc90.pdb
文件 62239 2009-10-12 13:56 车牌识别\车牌识别\Debug\cvCarRecog.obj
文件 621 2009-10-12 13:56 车牌识别\车牌识别\Debug\车牌识别.exe.intermediate.manifest
文件 67 2009-10-12 13:56 车牌识别\车牌识别\Debug\mt.dep
文件 121078 2009-04-23 14:15 车牌识别\车牌识别\1.bmp
文件 518454 2009-04-15 14:57 车牌识别\车牌识别\9.bmp
文件 344778 2009-04-23 14:17 车牌识别\车牌识别\7.bmp
文件 17747 2009-10-10 09:51 车牌识别\车牌识别\1.jpg
文件 18489 2009-10-10 09:53 车牌识别\车牌识别\2.jpg
文件 39546 2009-10-10 09:53 车牌识别\车牌识别\3.jpg
文件 34002 2009-10-10 09:53 车牌识别\车牌识别\4.jpg
文件 33063 2009-10-10 09:54 车牌识别\车牌识别\5.jpg
文件 4140 2009-10-10 08:42 车牌识别\车牌识别\6.jpg
文件 12110 2009-10-10 09:55 车牌识别\车牌识别\8.jpg
文件 38292 2009-10-10 09:54 车牌识别\车牌识别\7.jpg
文件 169014 2009-10-10 10:07 车牌识别\车牌识别\11.bmp
文件 100242 2009-10-10 10:14 车牌识别\车牌识别\12.bmp
文件 120482 2009-10-10 10:14 车牌识别\车牌识别\13.bmp
文件 2378752 2009-10-12 22:21 车牌识别\车牌识别.ncb
文件 902 2009-09-28 13:54 车牌识别\车牌识别.sln
..A..H. 11264 2009-10-12 22:21 车牌识别\车牌识别.suo
文件 441548 2009-10-12 13:56 车牌识别\Debug\车牌识别.ilk
文件 560128 2009-10-12 13:56 车牌识别\Debug\车牌识别.pdb
文件 48128 2009-10-12 13:56 车牌识别\Debug\车牌识别.exe
目录 0 2009-09-28 14:02 车牌识别\车牌识别\Debug
............此处省略6个文件信息
相关资源
- 基于OpenCV的模拟仪表指针读数识别系
- 指纹提取与识别系统VC源码opencv
-
Measuring size of ob
jects in an image with - opencv实现两幅图像的极线约束匹配
- Criminisi算法OpenCV程序
- Kinect2.0+Opencv人体骨骼捕捉及绘制Vis
- OPENCV实现相机标定程序
- opencv 实现 meanshift 的目标跟踪
- opencv 的knn的训练数据
- 单高斯背景建模opencv
- opencv高斯滤波模板及其滤波
- 基于OpenCV实现Retinex
- 虹膜识别VC2008+opencv2.3.1源码,改编自
- protobuf-cpp-3.1.0.tar.gz 下载192823
- opencv_xxx.310d.lib
- openCV图像检测资源包
- Opencv 下Cascade Classifier实现人脸识别的
-
opencv车牌识别xm
l文件 - Canny算子源代码
- 双目已知图像坐标求空间坐标opencv
- h264+ffmpeg+opencv开发手册
- opencvjs编译后的文件
- OpenCV图像处理教程 - 贾志刚 课程配套
- boostdesc vgg_generated.zip
- 机器视觉标定板选型表-凯林博
- opencv源程序
- 全景拼接_多张图像拼接(stitching_de
- protobuf-cpp-3.1.0.tar.gz 配置文件
- 图像特征点提取与匹配
- opencv获取图像像素值
评论
共有 条评论