您现在的位置:首页 >> 图像处理 >> 内容

m基于MATLAB的发票数字信息识别算法仿真,通过形态学处理进行字符分割,通过模板匹配实现数字字母识

时间:2023/3/20 22:58:04 点击:

  核心提示:09_038_m,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/ZJaalJ1s

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览






3.算法概述

        形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征,如边界和连通区域等。同时像细化、像素化和修剪毛刺等技术也常应用于图像的预处理和后处理中,成为图像增强技术的有力补充。形态学的基本思想是利用一种特殊的结构元来测量或提取输入图像中相应的形状或特征,以便进一步进行图像分析和目标识别。

        计算机和电子信息技术的高速发展,使得数据处理加工能力逐步增强,为图像处理、计算机视觉和模式识别技术应用于智能交通信息采集提供了强有力的保障。该系统通过摄像机对交通信息流进行摄像,利用图像处理和模式识别技术对连续的交通信息流进行处理,以此达到监测交通信息流的目的。同时,现场的交通视频信号也能够为电视监控共用。近年来,该系统得到快速发展,作为一种检测手段,视频检测技术所提供的丰富交通信息,以及所具有的各种优点,都是其他方法难以比拟的。

4.部分源码

..............................................................

function [Car_Nums,DATEs,DONE_Nums] = func_segment(Car_Num,DATE,DONE_Num,LEN,LL);

alpha    = 0.85;

[r,c]    = size(Car_Num);

Car_Num  = imresize(Car_Num,[100 c]);

[r,c]    = size(DATE);

DATE     = imresize(DATE,[100 c]);

[r,c]    = size(DONE_Num);

DONE_Num = imresize(DONE_Num,[100 c]);

 

I7   = ~im2bw(Car_Num ,alpha*graythresh(Car_Num));

VI7  = sum(I7,1);

tmp7 = find(VI7 > 5);

Ind7 = tmp7(end);

Car_Num7 = Car_Num(:,Ind7-1*LEN+1+LL:Ind7-0*LEN+LL);

Car_Num6 = Car_Num(:,Ind7-2*LEN+1+LL:Ind7-1*LEN+LL);

Car_Num5 = Car_Num(:,Ind7-3*LEN+1+LL:Ind7-2*LEN+LL);

Car_Num4 = Car_Num(:,Ind7-4*LEN+1+LL:Ind7-3*LEN+LL);

Car_Num3 = Car_Num(:,Ind7-5*LEN+1+LL:Ind7-4*LEN+LL);

Car_Num2 = Car_Num(:,Ind7-6*LEN+1+LL:Ind7-5*LEN+LL);

Car_Num1 = Car_Num(:,Ind7-7*LEN+1:Ind7-6*LEN+LL);

Car_Nums{7} = Car_Num7;

Car_Nums{6} = Car_Num6;

Car_Nums{5} = Car_Num5;

Car_Nums{4} = Car_Num4;

Car_Nums{3} = Car_Num3;

Car_Nums{2} = Car_Num2;

Car_Nums{1} = Car_Num1;

 

 

 

 

I8   = ~im2bw(DATE    ,alpha*graythresh(DATE));

VI8  = sum(I8,1);

tmp8 = find(VI8 > 5);

Ind8 = tmp8(end);

DATE11= DATE(:,Ind8-1*LEN+1+LL:Ind8-0*LEN+LL);

DATE10= DATE(:,Ind8-2*LEN+1+LL:Ind8-1*LEN+LL);

DATE9 = DATE(:,Ind8-3*LEN+1+LL:Ind8-2*LEN+LL);

DATE8 = DATE(:,Ind8-4*LEN+1+LL:Ind8-3*LEN+LL);

DATE7 = DATE(:,Ind8-5*LEN+1+LL:Ind8-4*LEN+LL);

DATE6 = DATE(:,Ind8-6*LEN+1+LL:Ind8-5*LEN+LL);

DATE5 = DATE(:,Ind8-7*LEN+1+LL:Ind8-6*LEN+LL);

DATE4 = DATE(:,Ind8-8*LEN+1+LL:Ind8-7*LEN+LL);

DATE3 = DATE(:,Ind8-9*LEN+1+LL:Ind8-8*LEN+LL);

DATE2 = DATE(:,Ind8-10*LEN+1+LL:Ind8-9*LEN+LL);

DATE1 = DATE(:,Ind8-11*LEN+1:Ind8-10*LEN+LL);

 

DATEs{11} = DATE11;

DATEs{10} = DATE10;

DATEs{9} = DATE9;

DATEs{8} = DATE8;

DATEs{7} = DATE7;

DATEs{6} = DATE6;

DATEs{5} = DATE5;

DATEs{4} = DATE4;

DATEs{3} = DATE3;

DATEs{2} = DATE2;

DATEs{1} = DATE1;

 

 

 

I9   = ~im2bw(DONE_Num,alpha*graythresh(DONE_Num));

VI9  = sum(I9,1);

tmp9 = find(VI9 > 5);

Ind9 = tmp9(end);

DONE_Num5 = DONE_Num(:,Ind9-1*LEN+1+LL:Ind9-0*LEN+LL);

DONE_Num4 = DONE_Num(:,Ind9-2*LEN+1+LL:Ind9-1*LEN+LL);

DONE_Num3 = DONE_Num(:,Ind9-3*LEN+1+LL:Ind9-2*LEN+LL);

DONE_Num2 = DONE_Num(:,Ind9-4*LEN+1+LL:Ind9-3*LEN+LL);

DONE_Num1 = DONE_Num(:,Ind9-5*LEN+1:Ind9-4*LEN+LL);

 

DONE_Nums{5} = DONE_Num5;

DONE_Nums{4} = DONE_Num4;

DONE_Nums{3} = DONE_Num3;

DONE_Nums{2} = DONE_Num2;

DONE_Nums{1} = DONE_Num1;

 

figure;

subplot(3,11,1);

imshow(Car_Nums{1},[]);

subplot(3,11,2);

imshow(Car_Nums{2},[]);

subplot(3,11,3);

imshow(Car_Nums{3},[]);

subplot(3,11,4);

imshow(Car_Nums{4},[]);

subplot(3,11,5);

imshow(Car_Nums{5},[]);

subplot(3,11,6);

imshow(Car_Nums{6},[]);

subplot(3,11,7);

imshow(Car_Nums{7},[]);

 

 

subplot(3,11,12);

imshow(DATEs{1},[]);

subplot(3,11,13);

imshow(DATEs{2},[]);

subplot(3,11,14);

imshow(DATEs{3},[]);

subplot(3,11,15);

imshow(DATEs{4},[]);

subplot(3,11,16);

imshow(DATEs{5},[]);

subplot(3,11,17);

imshow(DATEs{6},[]);

subplot(3,11,18);

imshow(DATEs{7},[]);

subplot(3,11,19);

imshow(DATEs{8},[]);

subplot(3,11,20);

imshow(DATEs{9},[]);

subplot(3,11,21);

imshow(DATEs{10},[]);

subplot(3,11,22);

imshow(DATEs{11},[]);

 

 

subplot(3,11,23);

imshow(DONE_Nums{1},[]);

subplot(3,11,24);

imshow(DONE_Nums{2},[]);

subplot(3,11,25);

imshow(DONE_Nums{3},[]);

subplot(3,11,26);

imshow(DONE_Nums{4},[]);

subplot(3,11,27);

imshow(DONE_Nums{5},[]);

09_038_m

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168