资源简介
这是一整套的车牌定位程序,其汉字由于作者比较懒做字符集的时候只做了。三个省份的:粤,鄂,湘。这个程序公开是为了向ForeverYang2015致敬,当初是他的公开程序才让我开始接触车牌识别。
代码片段和文件信息
#include “carID_Detection.h“
void RgbConvToGray(const Mat& inputImageMat & outpuImage) //g = 0.3R+0.59G+0.11B
{
outpuImage = Mat(inputImage.rows inputImage.cols CV_8UC1);
for (int i = 0 ;i {
uchar *ptrGray = outpuImage.ptr(i);
const Vec3b * ptrRgb = inputImage.ptr(i);
for (int j = 0 ;j {
ptrGray[j] = 0.3*ptrRgb[j][2]+0.59*ptrRgb[j][1]+0.11*ptrRgb[j][0];
}
}
}
void posDetect_closeImg(Mat &inputImage vector & rects ) //初步找到候选区域 rects
{
Mat img_canny;
Canny(inputImage img_canny 150 220);
Mat img_threshold;
threshold(img_canny img_threshold0255 CV_THRESH_OTSU+CV_THRESH_BINARY); //otsu算法自动获得阈值
Mat element = getStructuringElement(MORPH_RECT Size(17 3)); //闭形态学的结构元素
morphologyEx(img_threshold img_thresholdCV_MOP_CLOSEelement); //形态学处理
morphologyEx(img_threshold img_thresholdMORPH_OPENelement);
//寻找车牌区域的轮廓
vector< vector > contours;
findContours(img_threshold contoursCV_RETR_EXTERNAL CV_CHAIN_APPROX_NONE);//只检测外轮廓
//对候选的轮廓进行进一步筛选
vector< vector > ::iterator itc = contours.begin();
while( itc != contours.end())
{
RotatedRect mr = minAreaRect(Mat( *itc )); //返回每个轮廓的最小有界矩形区域
if(!verifySizes_closeImg(mr)) //判断矩形轮廓是否符合要求
{
itc = contours.erase(itc);
}
else
{
rects.push_back(mr);
++itc;
}
}
}
bool verifySizes_closeImg(const RotatedRect & candidate)
{
float error = 0.4;
const float aspect = 44/14; //长宽比
int min = 20*aspect*20; //最小区域
int max = 180*aspect*180; //最大区域
float rmin = aspect - aspect*error; //考虑误差后的最小长宽比
float rmax = aspect + aspect*error; //考虑误差后的最大长宽比
int area = candidate.size.height * candidate.size.width;
float r = (float)candidate.size.width/(float)candidate.size.height;
if(r <1)
r = 1/r;
if( (area < min || area > max) || (r< rmin || r > rmax) )
return false;
else
return true;
}
void posDetect(Mat &inputImage vector & rects ) //初步找到候选区域 rects
{
Mat img_sobel;
Sobel(inputImage img_sobel CV_8U 10310);
//Sobel(img_sobelimg_sobelCV_8U1310);
Mat img_threshold;
threshold(img_sobel img_threshold0255 CV_THRESH_OTSU+CV_THRESH_BINARY); //otsu算法自动获得阈值
Mat element = getStructuringElement(MORPH_RECT Size(17 3)); //闭形态学的结构元素
morphologyEx(img_threshold img_thresholdCV_MOP_CLOSEelement);
morphologyEx(img_thresholdimg_thresholdMORPH_OPENelement);
//Sobel(img_thresholdimg_thresholdCV_8U10310);
//morphologyEx(img_threshold img_thresholdCV_MOP_CLOSEelement);
//morphologyEx(img_thresholdimg_thresholdMORPH_OPENelement);
namedWindow(“img“CV_WINDOW_NORMAL);
imshow(“img“img_threshold);
//waitKey();
//寻找车牌区域的轮廓
vector< vector > contours;
findContours(img_threshold contoursCV_RETR_EXTERNAL CV_CHAIN_APPROX_NONE);//只检测外轮廓
//对候选的轮廓进行进一步筛选
vector< vecto
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-07-25 20:37 CarNumber\
文件 125522 2016-06-17 11:39 CarNumber\1.jpg
文件 164788 2016-06-17 11:39 CarNumber\10.jpg
文件 152372 2016-06-17 11:39 CarNumber\11.jpg
文件 171524 2016-06-17 11:39 CarNumber\12.jpg
文件 192436 2016-06-17 11:39 CarNumber\13.jpg
文件 109126 2016-06-17 11:39 CarNumber\14.jpg
文件 293362 2016-06-17 11:39 CarNumber\15.jpg
文件 318958 2016-06-17 11:39 CarNumber\16.jpg
文件 153084 2016-06-17 11:39 CarNumber\17.jpg
文件 345177 2016-06-17 11:39 CarNumber\18.jpg
文件 187703 2016-06-17 11:39 CarNumber\19.jpg
文件 168293 2016-06-17 11:39 CarNumber\2.jpg
文件 197126 2016-06-17 11:39 CarNumber\20.jpg
文件 176264 2016-06-17 11:39 CarNumber\21.jpg
文件 144435 2016-06-17 11:39 CarNumber\22.jpg
文件 135291 2016-06-17 11:39 CarNumber\23.jpg
文件 119776 2016-06-17 11:39 CarNumber\24.jpg
文件 335158 2016-06-17 11:39 CarNumber\25.jpg
文件 180912 2016-06-17 11:39 CarNumber\26.jpg
文件 105402 2016-06-17 11:39 CarNumber\27.jpg
文件 158370 2016-06-17 11:39 CarNumber\28.jpg
文件 202602 2016-06-17 11:39 CarNumber\3.jpg
文件 121013 2016-06-17 11:39 CarNumber\4.jpg
文件 232989 2016-06-17 11:39 CarNumber\5.jpg
文件 154374 2016-06-17 11:39 CarNumber\6.jpg
文件 370419 2016-06-17 11:39 CarNumber\7.jpg
文件 137046 2016-06-17 11:39 CarNumber\8.jpg
文件 200607 2016-06-17 11:39 CarNumber\9.jpg
文件 795336 2017-03-21 15:41 CarNumber\ann_xm
文件 61946 2017-03-21 14:26 CarNumber\ann_xm
............此处省略1949个文件信息
- 上一篇:爱快ap.rar
- 下一篇:Eagle7725摄像头野火鹰眼7225摄像头代码启动
相关资源
- 利用EmguCV3.20完成的准确的车牌定位方
- 端到端的中文车牌识别
- 车牌识别训练集
- VC OpenCV车牌识别
- 毕业设计基于Opencv的车牌识别系统
- 基于OpenCV的车牌识别系统
- 车牌识别-opencv
- 车牌_汉字_字母_数字训练集
- 基于OpenCV的车牌识别
- 基于机器学习的车牌识别研究
- 基于颜色车牌识别
- opencv车牌识别
- 一个基于easypr的车牌识别demo
- 车牌识别系统opencv版
- 车牌识别系统的功能评测子库2
- 车牌识别系统的功能评测子库1
- svm-车牌识别正负样本
- 基于opencv车牌识别源码
- 最经典的开源车牌识别代码 OPENCV
- 卷积神经网络车牌识别164048
- vc车牌识别程序源代码
- 卷积神经网络车牌识别
- 可以直接使用的百度文字识别源代码
- 深度学习车牌识别模型.zip
- 基于Halcon的车牌识别技术研究 201811
- 车牌识别基于模板匹配和神经网络.
- 车牌识别数据集中英
- 车牌识别数据汉字数字字母
- SVM训练样本,车牌识别
- 车牌识别模型
评论
共有 条评论