资源简介
作者历经小半年的调试 才把程序调试好 完全可以实现车牌的字符识别,分割,提取,采用了SVM分类器和ANN神经网络,若下载后实现不了相应的功能,可以找作者把积分退还给大家
代码片段和文件信息
#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_CHAI
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 125522 2018-05-24 02:55 车牌识别最终版\1.jpg
文件 164788 2018-05-24 02:55 车牌识别最终版\10.jpg
文件 152372 2018-05-24 02:55 车牌识别最终版\11.jpg
文件 171524 2018-05-24 02:55 车牌识别最终版\12.jpg
文件 192436 2018-05-24 02:55 车牌识别最终版\13.jpg
文件 109126 2018-05-24 02:55 车牌识别最终版\14.jpg
文件 293362 2018-05-24 02:55 车牌识别最终版\15.jpg
文件 318958 2018-05-24 02:55 车牌识别最终版\16.jpg
文件 153084 2018-05-24 02:55 车牌识别最终版\17.jpg
文件 345177 2018-05-24 02:55 车牌识别最终版\18.jpg
文件 187703 2018-05-24 02:55 车牌识别最终版\19.jpg
文件 168293 2018-05-24 02:55 车牌识别最终版\2.jpg
文件 197126 2018-05-24 02:55 车牌识别最终版\20.jpg
文件 176264 2018-05-24 02:55 车牌识别最终版\21.jpg
文件 144435 2018-05-24 02:55 车牌识别最终版\22.jpg
文件 135291 2018-05-24 02:55 车牌识别最终版\23.jpg
文件 119776 2018-05-24 02:55 车牌识别最终版\24.jpg
文件 335158 2018-05-24 02:55 车牌识别最终版\25.jpg
文件 180912 2018-05-24 02:55 车牌识别最终版\26.jpg
文件 105402 2018-05-24 02:55 车牌识别最终版\27.jpg
文件 158370 2018-05-24 02:55 车牌识别最终版\28.jpg
文件 202602 2018-05-24 02:55 车牌识别最终版\3.jpg
文件 121013 2018-05-24 02:55 车牌识别最终版\4.jpg
文件 232989 2018-05-24 02:55 车牌识别最终版\5.jpg
文件 154374 2018-05-24 02:55 车牌识别最终版\6.jpg
文件 370419 2018-05-24 02:55 车牌识别最终版\7.jpg
文件 137046 2018-05-24 02:55 车牌识别最终版\8.jpg
文件 200607 2018-05-24 02:55 车牌识别最终版\9.jpg
文件 13186 2018-05-24 02:55 车牌识别最终版\a.jpg
文件 795336 2018-05-24 02:55 车牌识别最终版\ann_xm
............此处省略2008个文件信息
相关资源
- opencv实现多角度重建
- 基于深度神经网络的语音分离算法
- 车辆识别项目.rar
- 张正友相机标定Opencv实现完整程序+棋
- OpenCV计算机视觉编程攻略 (第2版)
- 关于svm和神经网络相结合的论文-svm
- opencv视频行人检测1HOG+SVM
- 神经网络结构设计的理论和方法.pdf
- OpenCV手势动作识别--石头剪刀布
- 图像匹配 目标轮廓匹配 基于OPENCV库
- opencv视觉导航小车寻迹
- BP神经网络实现函数拟合
- 对图像的一维高斯滤波操作
- 神经网络与深度学习pdf
- opencv420_boostdesc_bgm_vgg_generated.zip
- VS2010 Opencv-2.4.3的配置
- 基于opencv的三维重建代码
-
Robust Real-time ob
ject Detection 论文 整理 - 《图卷积神经网络》中文综述论文
- opencv2.1+VS2008实现维纳滤波复原
- 神经网络及其应用全文.pdf
- opencv3.2交叉编译出来的库文件
- 基于opencv人脸识别的封装
- 基于卷积神经网络的图像识别
- xfeatures2d.rar
- 车牌识别字符识别图片集
- 基于OpenCV的视频车牌识别
- BP预测温度模型_2019.10.14.rar
- 基于PCA和BP神经网络的人脸识别
- 基于卷积神经网络的图像识别算法的
评论
共有 条评论