• 大小: 6.24MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-22
  • 语言: 其他
  • 标签: 车牌识别  

资源简介

基于OpenCV2.4.7的车牌识别系统。 Author:LinJianmin

资源截图

代码片段和文件信息

// LPRmain.cpp : 快速车牌识别系统的主文件
// 本文件是系统的车牌定位和字符分割部分的代码,本系统引用的是OpenCV2.4.7,IDE是VS2012
// Author:LinJianmin
// Email: jianmin1990@outlook.com
// University:Huaqiao University
// Date:  2014-1

#include “LPR.h“
int main()
{
//////////////////////////////////////////////////////////////////////////////////////////////
//第一部分:图像采集/图像载入(本系统直接读取图像)

//若采用camera采集示例如下:
/* VideoCapture cap(0);
if (!cap.isOpened())
{
return -1;
}
Mat car_frame;
cap >> car_frame;
*/

//图像载入
Mat car_img;
car_img = imread(“E:\\LPR\\car.bmp“);

if (!car_img.data)
{
cout<<“Please check the input image“< }

/////////////////////////////////////////////////////////////////////////////////////////////////
// 第二部分:车牌定位

//转变成灰度图像
Mat gray;
cvtColor(car_imggrayCV_BGR2GRAY);

//高斯滤波器滤波去噪(可选)
/* int ksize = 3;
Mat g_gray;
Mat G_kernel = getGaussianKernel(ksize0.3*((ksize-1)*0.5-1)+0.8);
filter2D(grayg_gray-1G_kernel);
//Sobel算子(x方向和y方向)
 Mat sobel_xsobel_y;
 Sobel(g_graysobel_xCV_16S103);
 Sobel(g_graysobel_yCV_16S013);
 Mat abs_xabs_y;
 convertScaleAbs(sobel_xabs_x);
 convertScaleAbs(sobel_yabs_y);
 Mat grad;
 addWeighted(abs_x0.5abs_y0.50grad);
 Mat img_bin;
 threshold(gradimg_bin0255CV_THRESH_BINARY |CV_THRESH_OTSU);
*/
//二值化
Mat gray_bi;
threshold(graygray_bi0255CV_THRESH_OTSU);

//灰度拉伸
// Mat equ_img;
// equalizeHist(gray_biequ_img);
float num[256] p[256]p1[256];
memset(num0sizeof(num));// 清空三个数组
memset(p0sizeof(p));
memset(p10sizeof(p1));
long wMulh = gray_bi.cols * gray_bi.rows;
for (int i = 0; i < gray_bi.cols; i++)
{
for (int j = 0; j < gray_bi.rows; j++)
{
int v = gray_bi.at(ji);
num[v]++;
}
}
for (int i = 0; i < 256; i++)//存放图像各个灰度级的出现概率
{
p[i] = num[i] / wMulh;
}
for (int i = 0; i < 256; i++)//求存放各个灰度级之前的概率和
{
for (int k = 0; k <= i; k++)
{
p1[i]+=p[k];
}
}
for (int x = 0; x < gray_bi.cols; x++)
{
for (int y = 0; y < gray_bi.rows; y++)
{
int v = gray_bi.at(yx);
gray_bi.at(yx) = p1[v]*255 + 0.5;
}
}
//边缘增强
Mat gray_c;
Canny(gray_bigray_c501503);

//水平投影和垂直投影
int imgR[400] = {0};
bool tag = false;
int imgTop =0;int imgBottom = 0;
int img_h1img_h2;
for (int ht = 0; ht < gray_c.rows; ht++)
{
for (int wt = 0; wt < gray_c.cols; wt++)
{
if (gray_c.at(htwt) != 0)
{
imgR[ht]++;
}
}
if ( (!tag)&& imgR[ht] > 10)
{
img_h1 = ht;
tag = true;
}
if (tag && imgR[ht] <10)
{
img_h2 =ht;
tag = false;
}
if (img_h2-img_h1<50 && img_h2 - img_h1 >25)
{
imgTop = img_h1;
imgBottom = img_h2;
break;
}
}

int imgR_w[300] = {0};
int img_w1 = 0;
int img_w2 = 0;
int imgRight = 0;
int imgLeft = 0;
bool tag2 = false;
for (int wt_new = 2; wt_new < gray_c.cols; wt_new++)
{
for (int ht_new = imgTop; ht_new < img

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-01-05 21:12  LicensePlateRecognition1\
     目录           0  2014-01-05 21:12  LicensePlateRecognition1\Debug\
     目录           0  2014-01-04 16:06  LicensePlateRecognition1\LicensePlateRecognition1\
     目录           0  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\
     文件       12868  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\CL.read.1.tlog
     文件         444  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\CL.write.1.tlog
     文件      254203  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\LPRmain.obj
     文件          65  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\LicensePlateRecognition1.lastbuildstate
     文件        2092  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\LicensePlateRecognition1.log
     文件           0  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\LicensePlateRecognition1.unsuccessfulbuild
     文件         686  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\cl.command.1.tlog
     文件           2  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\link.command.1.tlog
     文件           2  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\link.read.1.tlog
     文件           2  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\link.write.1.tlog
     文件      625664  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\vc110.idb
     文件     1208320  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\Debug\vc110.pdb
     文件         516  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\LPR.h
     文件        5623  2014-01-05 21:11  LicensePlateRecognition1\LicensePlateRecognition1\LPRmain.cpp
     文件        8540  2014-01-04 16:06  LicensePlateRecognition1\LicensePlateRecognition1\LicensePlateRecognition1.vcxproj
     文件        1061  2014-01-04 16:05  LicensePlateRecognition1\LicensePlateRecognition1\LicensePlateRecognition1.vcxproj.filters
     目录           0  2014-01-04 16:06  LicensePlateRecognition1\LicensePlateRecognition1\x64\
     目录           0  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\
     文件       12824  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\CL.read.1.tlog
     文件         460  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\CL.write.1.tlog
     文件      285683  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\LPRmain.obj
     文件          63  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\LicensePlateRecognition1.lastbuildstate
     文件        2187  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\LicensePlateRecognition1.log
     文件         672  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\cl.command.1.tlog
     文件           2  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\link-cvtres.read.1.tlog
     文件           2  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\link-cvtres.write.1.tlog
     文件           2  2014-01-05 20:37  LicensePlateRecognition1\LicensePlateRecognition1\x64\Debug\link-rc.read.1.tlog
............此处省略39个文件信息

评论

共有 条评论