• 大小: 15.47MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-13
  • 语言: 其他
  • 标签: 图像处理  

资源简介

压缩包内附完整的车牌识别系统代码以及测试图片(编译环境为vs2015+OpenCV3.4.0),另外也详细的阐述了车牌识别系统的编写流程。

资源截图

代码片段和文件信息

#include“source.h“
Mat Image_Preprocessing(Mat temp)//图像预处理
{
Mat kernel = getStructuringElement(MORPH_RECT Size(25 25) Point(-1 -1));
Mat open_gray_blur_Image;
morphologyEx(temp open_gray_blur_Image MORPH_OPEN kernel);
Mat rst;
subtract(temp open_gray_blur_Image rst Mat());
imshow(“rst“ rst);
Mat Canny_Image;
Canny(rst Canny_Image 400 200 3);
return Canny_Image;
}
Mat Morphological_Processing(Mat temp)//形态学处理
{
//图片膨胀处理
Mat dilate_image erode_image;
//自定义核:进行 x 方向的膨胀腐蚀
Mat elementX = getStructuringElement(MORPH_RECT Size(25 1));
Mat elementY = getStructuringElement(MORPH_RECT Size(1 19));
Point point(-1 -1);
dilate(temp dilate_image elementX point 2);
erode(dilate_image erode_image elementX point 4);
dilate(erode_image dilate_image elementX point 2);
//自定义核:进行 Y 方向的膨胀腐蚀
erode(dilate_image erode_image elementY point 1);
dilate(erode_image dilate_image elementY point 2);
//平滑处理 中值滤波
Mat median_Image;
medianBlur(dilate_image median_Image 15);
medianBlur(median_Image median_Image 15);
//imshow(“中值滤波“ median_Image);
return median_Image;
}
Mat Locate_License_Plate(Mat temp Mat src Mat gray_src)//车牌定位
{
vector> contours;
findContours(temp contours RETR_EXTERNAL CHAIN_APPROX_SIMPLE);
//画出轮廓
drawContours(temp contours -1 Scalar(255) 1);
//轮廓表示为一个矩形
Mat Roi;
for (int i = 0; i < contours.size(); i++)
{
RotatedRect rect = minAreaRect(Mat(contours[i]));
Point2f p[4];
rect.points(p);
double axisLongTemp = 0.0 axisShortTemp = 0.0;//矩形的长边和短边
axisLongTemp = sqrt(pow(p[1].x - p[0].x 2) + pow(p[1].y - p[0].y 2));  //计算长轴(勾股定理)
axisShortTemp = sqrt(pow(p[2].x - p[1].x 2) + pow(p[2].y - p[1].y 2)); //计算短轴(勾股定理)
double LengthTemp;     //中间变量
if (axisShortTemp > axisLongTemp)   //短轴大于长轴,交换数据
{
LengthTemp = axisLongTemp;
axisLongTemp = axisShortTemp;
axisShortTemp = LengthTemp;
}
double rectArea = axisLongTemp*axisShortTemp;//计算矩形面积
double Area = contourArea(Mat(contours[i]));//轮廓面积
double rectDegree = Area / rectArea;//计算矩形度
//这部分的条件判断可视实际情况做调整
if (axisLongTemp / axisShortTemp >= 2.2 && axisLongTemp / axisShortTemp <= 5.1 && rectDegree > 0.63 && rectDegree < 1.37 && rectArea>2000 && rectArea < 50000)
{
for (int i = 0; i < 4; i++)       //划线框出车牌区域
line(src p[i] p[((i + 1) % 4) ? (i + 1) : 0] Scalar(0 0 255) 2 8 0);

float width_height = (float)rect.size.width / (float)rect.size.height;
float angle = rect.angle;
if (width_height < 1)//处理图像中旋转角度大于90度的车牌
angle = angle + 90;
Mat rotMat = getRotationMatrix2D(rect.center angle 1);//获得矩形的旋转矩阵
Mat warpImg;
warpAffine(gray_src warpImg rotMat src.size() INTER_CUBIC);
//imshow(“仿射变换“ warpImg);
//图像切割
Size minRectSize = rect.size;
if (width_height < 1)
swap(minRectSize.width minRectSize.height);
getRectSubPix(warpImg minRectSize rect.center Roi);
}
}
imshow(“test“ src);
imshow(“车牌

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-06-11 15:23  SC19023029  雷腾\
     文件      211007  2020-06-11 15:18  SC19023029  雷腾\关于程序的一些说明.pdf
     文件      738635  2020-06-11 14:54  SC19023029  雷腾\车牌号码识别.pdf
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\.vs\
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\.vs\车牌识别系统强化版(分文件编写)\
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\.vs\车牌识别系统强化版(分文件编写)\v14\
     文件       39424  2020-06-11 15:21  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\.vs\车牌识别系统强化版(分文件编写)\v14\.suo
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\x64\
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\x64\Debug\
     文件      247296  2020-06-11 15:21  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\x64\Debug\车牌识别系统强化版(分文件编写).exe
     文件     5863604  2020-06-11 15:21  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\x64\Debug\车牌识别系统强化版(分文件编写).ilk
     文件     5746688  2020-06-11 15:21  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\x64\Debug\车牌识别系统强化版(分文件编写).pdb
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\
     文件       27329  2020-03-18 10:00  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\1.jpg
     文件       41725  2020-03-21 11:57  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\2.jpg
     文件       31805  2020-03-21 15:18  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\3.jpg
     文件       32514  2020-03-22 15:10  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\4.jpg
     文件       41410  2020-03-22 18:43  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\5.jpg
     文件       96225  2020-03-22 18:49  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\5_1.jpg
     目录           0  2020-06-11 15:23  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\
     文件      161078  2020-03-25 01:34  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_0.bmp
     文件      161078  2020-02-25 16:41  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_1.bmp
     文件        9001  2020-03-19 20:04  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_10.bmp
     文件       15490  2020-03-19 20:06  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_11.bmp
     文件      161078  2020-03-19 21:37  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_12.bmp
     文件      161078  2020-03-23 18:27  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_13.bmp
     文件      161078  2020-03-23 18:35  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_14.bmp
     文件      161078  2020-03-23 18:48  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_15.bmp
     文件      161078  2020-03-23 22:33  SC19023029  雷腾\车牌识别系统\车牌识别系统强化版(分文件编写)\车牌识别系统强化版(分文件编写)\pictures\num_16.bmp
............此处省略43个文件信息

评论

共有 条评论