车牌识别的matlab程序(程序_讲解_模板),车牌识别的matlab程序(程序讲解模板).doc...

news/2025/2/25 23:09:17

文档介绍:

learcloseallI=imread('chepai.jpg');subplot(3,2,1);imshow(I),title('原始图像');I_gray=rgb2gray(I);subplot(3,2,2),imshow(I_gray),title('灰度图像');%======================形态学预处理======================I_edge=edge(I_gray,'sobel');subplot(3,2,3),imshow(I_edge),title('边缘检测后图像');se=[1;1;1];I_erode=imerode(I_edge,se);subplot(3,2,4),imshow(I_erode),title('腐蚀后边缘图像');se=strel('rectangle',[25,25]);I_close=imclose(I_erode,se);%图像闭合、填充图像subplot(3,2,5),imshow(I_close),title('填充后图像');I_final=bwareaopen(I_close,2000);%去除聚团灰度值小于2000的部分subplot(3,2,6),imshow(I_final),title('形态滤波后图像');%==========================车牌分割=============================I_new=zeros(size(I_final,1),size(I_final,2));location_of_1=[];fori=1:size(I_final,1)%寻找二值图像中白的点的位置forj=1:size(I_final,2)ifI_final(i,j)==1;newlocation=[i,j];location_of_1=[location_of_1;newlocation];endendendmini=inf;maxi=0;fori=1:size(location_of_1,1)%寻找所有白点中,x坐标与y坐标的和最大,最小的两个点的位置temp=location_of_1(i,1)+location_of_1(i,2);iftempmaximaxi=temp;b=i;endendfirst_point=location_of_1(a,:);%和最小的点为车牌的左上角last_point=location_of_1(b,:);%和最大的点为车牌的右下角x1=first_point(1)+4;%坐标值修正x2=last_point(1)-4;y1=first_point(2)+4;y2=last_point(2)-4;I_plate=I(x1:x2,y1:y2);I_plate=OTSU(I_plate);%以OTSU算法对分割出的车牌进行自适应二值化处理I_plate=bwareaopen(I_plate,50);figure,imshow(I_plate),title('车牌提取')%画出最终车牌%=========================字符分割============================X=[];%用来存放水平分割线的横坐标flag=0;forj=1:size(I_plate,2)sum_y=sum(I_plate(:,j));iflogical(sum_y)~=flag%列和有变化时,记录下此列X=[Xj];flag=logical(sum_y);endendfigureforn=1:7char=I_plate(:,X(2*n-1):X(2*n)-1);%进行粗分割fori=1:size(char,1)%这两个for循环对分割字符的上下进行裁剪ifsum(char(i,:))~=0top=i;breakendendfori=1:size(char,1)ifsum(char(size(char,1)-i,:))~=0bottom=size(char,1)-i;breakendendchar=char(top:bottom,:);subplot(2,4,n);imshow(char);char=imresize(char,[32,16],'nearest');%归一化为32*16的大小,以便模板匹配eval(strcat('Char_',num2str(n),'=char;'));%将分割的字符放入Char_i中end%==========================字符识别=============================char=[];store1=strcat('京','津','沪','渝',

内容来自淘豆网www.taodocs.com转载请标明出处.


http://www.niftyadmin.cn/n/3860000.html

相关文章

Mysql中的临时表使用方法讲解

当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后多这些表运行查询。 创建临时表…

未来手机发展方向

随着新技术的出现,手机将会出现更多的功能,我来预测一下: 一、更大的内存随着内存颗粒价格的降低,5年内手机的内存大小将会普遍使用G级内存并支持内存扩展卡。20年内,随着新技术的出现,手机将会…

php 字符串排序算法,PHP排序算法

排序算法排序算法.jpg冒泡排序(数组排序)$arr [1,2,3,6,5,4];$resArr bubble_sort($arr);var_dump($resArr );function bubble_sort( $array) {$count count( $array);if ($count < 0 ) return false;for($i0 ; $ifor($j$i1 ; $jif ($array[$i] < $array [$j]){$tmp …

EXCHANGE2003个人笔记

Exchange 2003 Exchange与活动目录的对应关系 Exchange组织----------活动目录的森林 Exchange管理组-------活动目录的域 Exchange路由组-------活动目录的站点 Exchange2003的前后端服务器 前端服务器可以做一个NLB的负载均衡&#xff0c;后端服务器可以做Cluster。 如何确认…

VMware虚拟化之VSA(vSphere Storage Appliance)群集(一)部署详解

一、VSA简介 VMware vSphere Storage Appliance (VSA) 是包含 SUSE Linux Enterprise Server 11 和存储群集服务的VMware 虚拟设备。VSA 虚拟机在多个 ESXi 主机上运行&#xff0c;可对主机上安装的存储资源进行抽象并创建 vSphere Storage Appliance 群集&#xff08;VSA 群集…

冒泡排序的代码java,Java冒泡排序代码示例

Java冒泡排序代码示例代码如下&#xff1a;↓package com.coding.learn;import java.util.Arrays;/*** author 老菜鸟* version 1.1* Description 冒泡排序* date 3/19/21*/public class BubbleSort {public static void main(String[] args) {//定义示例数组int[] intArray {…

[翻译]Scott Mitchell 的ASP.NET 2.0数据教程之二:创建一个业务逻辑层

在ASP.NET 2.0中操作数据&#xff1a;创建一个业务逻辑层英文原版 | 本教程的代码(C#) | 翻译目录 | 原文目录导言 本教程的第一节所描述的数据访问层&#xff08;Data Access Layer&#xff0c;以下简称为DAL&#xff09;已经清晰地将表示逻辑与数据访问逻辑区分开…

mybatis参数

分是不是用Param注解的这两种情况&#xff0c; 1&#xff0c;使用Param注解&#xff0c;就不用理parameterType xml文档直接用 字符串的值&#xff0c;若是一个类&#xff0c;class.property 2&#xff0c; 不使用Param注解&#xff0c;MyBatis的传入参数parameterType类型分两…