资源简介
作者历经小半年的调试 才把程序调试好 完全可以实现车牌的字符识别,分割,提取,采用了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个文件信息
相关资源
- 连续hopfield神经网络解决TSP问题
- 改进的BP神经网络算法
- 基于bp神经网络的表情识别
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- 神经网络仿真工具源代码
- opencv环境配置
- 使用卷积神经网络在e + e-对撞机上改
- win10 64位下编译的opencv4.5.5库,opencv
- Halcon车牌识别
- 用labview编写的一个神经网络Vi图
- 百度API车牌识别DEMO.rar
- opencl编程指南随书代码
- OPENCL编程指南随书源码
- 基于改进的SOM神经网络在产品配置中
- 深度学习卷积神经网络可检测和分类
- 标量场理论的回归和生成神经网络
- 基于ARIMA、BP神经网络与GM的组合模型
- 车辆自适应神经网络编队控制
- 基于RBF神经网络在线辨识的永磁同步
- 移远OpenCPU快速开始指导手册
- 基于BP人工神经网络的SmFeN永磁材料工
- 融合粗糙集和人工神经网络的产品敏
- 基于粗糙集神经网络的数据挖掘在门
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- Google OCR API源代码和神经网络识别OC
- opencv_contrib-3.4.0.zip
- 信息融合、神经网络-模糊推理理论及
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
评论
共有 条评论