一个车厢号码识别算法(2005年的老程序----ccc)

一个车厢号码识别算法(2005年的老程序----ccc

2023-09-18 ccc

  • 程序的识别效果

对图中的车厢号码部分用上下两条线限定分为,然后进行识别。

从上面的识别效果可以看出,识别算法具有一定的鲁棒性,能够适应车厢号码的各种形态,并正确是识别。本算法在光照适当的条件下能够达到99%的识别率。

  • 基本算法原理

算法的基本原理就是:

  1. 基本图像块使用128x128归一图块
  2. 使用基本图快的周围趋势,以及左/上的穿透频率
  3. 使用最小二乘的距离运算
  4. 冗余模板计算冗余误差(多模板统计)

这个算法与当前的神经网络和机器学习算法没有任何关系,完全是自己开发出来的(在2004—2005年还没有接触到神经网络和机器学习等概念)。

  1. 周围趋势描述

使用左边缘线段探查图块中目标的左边缘,根据线段长度(像素数)从上到下生成边缘趋势值,用-1表示减小,0表示不变,1表示增大。同理对上边缘,从左到右,对右边缘从上到下,对下边缘从左到右进行处理,获得图块的边缘数据。

  1. 左/上穿透频率描述

用线段从左向右穿透图块,每一次遇到像素从0到1的变化表示一个波动,记录整个线段上的所有波动数,表示为该线段上的频率数,对于左频率,从上到下计算,对于上频率从左到右计算,每个频率值使用4比特表示最大为16。

  1. 冗余误差

对于模板图块使用各种形态的模板,判断比较时采用最小二乘的前n个模板值,统计其中出现的识别种类,以及误差,根据统计规则判定识别结果。

  • 图像处理

对于采集的图像,使用基本的灰度/二值图像处理方式,增加一些滤波手段,主要强调光照的一致性,比如环境光,应遮挡日光照射,夜间应使用照明灯(无影灯)。

一般车厢号码应在一定范围内,因此需要确定要处理的图像范围,没有必要全图处理。

这是一个老程序,在2005年完成的,使用delphi编写。现在拿出来看一下,个人觉得还有点价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/140416.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】NeROIC:在线图像集合中对象的神经渲染

论文连接: NeROIC: Neural Rendering of Objects from Online Image Collections introduction 从在线图像集合中获取对象表示的新颖方法,从具有不同相机、照明和背景的照片中捕获任意对象的高质量几何形状和材料属性。这使得各种以对象为中心的渲染应…

Qt 之元对象

元对象(meta object)意思是描述另一个对象结构的对象,比如获得一个对象有多少成员函数,有哪些属性。在Qt中,我们将要用到的是QMetaObject这个类。 元对象系统基于以下3点: 以QObject作为基类;…

基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码

基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蚁狮优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

【Leetcode Sheet】Weekly Practice 15

Leetcode Test 2586 统计范围内的元音字符串数(11.7) 给你一个下标从 0 开始的字符串数组 words 和两个整数:left 和 right 。 如果字符串以元音字母开头并以元音字母结尾,那么该字符串就是一个 元音字符串 ,其中元音字母是 a、e、i、o、u…

Golang 整合RocketMQ

RocketMQ 相关知识汇总 RocketMQ 是什么 RocketMQ 是阿里巴巴开源的一款 MQ 框架,被广泛的使用于不同的业务场景,同时也有非常好的生态系统支持,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等功能。 RocketMQ核心概念 名称服务(N…

【已验证】php配置连接sql server中文乱码(解决方法)更改utf-8格式

解决数据库中的中文数据在页面显示乱码的问题 在连接的$connectionInfo中设置"CharacterSet" > "UTF-8",指定编码方式即可 $connectionInfo array("UID">$uid, "PWD">$pwd, "Database">$database…

【springboot】Failed to start bean ‘webServerStartStop‘;

新同事新建了一个项目springboot项目,启动时候报错。 具体错误如下: Failed to start bean webServerStartStop; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server 未能启动bea…

(论文阅读26/100)Weakly-supervised learning with convolutional neural networks

26.文献阅读笔记 简介 题目 Weakly-supervised learning with convolutional neural networks 作者 Maxime Oquab,Leon Bottou,Ivan Laptev,Josef Sivic,CVPR,2015 原文链接 http://www.cv-foundation.org/open…

深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点

定点和浮点都是数值的表示(representation),它们区别在于,将整数(integer)部分和小数(fractional)部分分开的点,点在哪里。定点保留特定位数整数和小数,而浮点…

C++——const成员

这里先用队列举例&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <assert.h> using namespace std; class SeqList { public:void pushBack(int data){if (_size _capacity){int* tmp (int*)realloc(a, sizeof(int) * 4);if (tm…

excel记录wFm数值(推理过程)

1 导入计算wfm库2 实例化具体的指标 3 列表循环之前&#xff0c;设置空list 4 单图评测-将图号、图片名、数值记录 列表里面存储dict 5 将excel列表结果逐个存入excel.xlsx文件 完整代码 test_CPD.py ### test_CPD.py ### import torch import torch.nn.functional as Fimpor…

算法leetcode|88. 合并两个有序数组(rust重拳出击)

文章目录 88. 合并两个有序数组&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 88. 合并两个有序数组&#xff1a; …

flv.js在vue中的使用

Flv.js 是 HTML5 Flash 视频&#xff08;FLV&#xff09;播放器&#xff0c;纯原生 JavaScript 开发&#xff0c;没有用到 Flash。由 bilibili 网站开源。它的工作原理是将 FLV 文件流转码复用成 ISO BMFF&#xff08;MP4 碎片&#xff09;片段&#xff0c;然后通过 Media Sour…

​《水经注全国三维离线GIS系统》硬件安装教程

有些工作&#xff0c;是需要一些外在动力才能完成的。 为什么这么讲呢&#xff1f; 因为正是在客户的要求下&#xff0c;我们才撰写了《水经注全国三维离线GIS系统》的硬件安装教程&#xff0c;而且还录制了视频教程。 当用户收到货物以后&#xff0c;就可以通过本教程清点货…

信驰达科技加入车联网联盟(CCC),推进数字钥匙发展与应用

CCC)的会员。 图 1 深圳信驰达正式成为车联网联盟(CCC)会员 车联网联盟(CCC)是一个跨行业组织&#xff0c;致力于推动智能手机与汽车连接解决方案的技术发展。CCC涵盖了全球汽车和智能手机行业的大部分企业&#xff0c;拥有150多家成员公司。CCC成员公司包括智能手机和汽车制造…

chose_xml

import os import shutil # 定义函数&#xff0c;用于遍历文件夹并复制文件 def copy_files(src_folder, dst_folder, file_type): # 遍历文件夹 for root, dirs, files in os.walk(src_folder): # 遍历文件 for file in files: # 判断文…

Springboot+vue的人力资源管理系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的人力资源管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的企业资产管理系统&#xff0c;采用M&#xff08;model&…

react+星火大模型,构建上下文ai问答页面(可扩展)

前言 最近写的开源项目核心功能跑通了&#xff0c;前两天突发奇想。关于项目可否介入大模型来辅助用户使用平台&#xff0c;就跑去研究了最近比较活火的国内大模型–讯飞星火大模型。 大模型api获取 控制台登录 地址&#xff1a;https://console.xfyun.cn/app/myapp 新建应…

迅为龙芯2K1000开发板虚拟机ubuntu启动root用户

作为嵌入式开发人员&#xff0c;系统的所有权限都要为我们打开&#xff0c;所以我们不必像运维那样&#xff0c;对 root 用户非常敏感&#xff0c;所以安装完 ubuntu 系统以后&#xff0c;我们要启用 root 用户。 首先我们打开 ubuntu 控制终端&#xff0c;然后在终端里面输入…

[SOC] MBIST (Memory Built-In Self Test) and Memory Built-in Self Repair (BISR)

存储器构成了 VLSI 电路的很大一部分。存储系统设计的目的 是存储大量数据。[1] 存储器不包括逻辑门和触发器。因此&#xff0c;需要不同的故障模型和测试算法来测试存储器。 MBIST 是一种自测试和修复机制&#xff0c;它通过一组有效的算法来测试存储器&#xff0c;以检测典型…