专栏中心

EEPW首页 > 专栏 > LED图像识别原理

LED图像识别原理

发布人:xiajiashan 时间:2012-08-28 来源:工程师 发布文章

 

 

作者:下家山(转载,请注明)

  一:专业图像识别方法

专业图像识别技术常用:OpenCV和MatLab;

OpenCV

1:是由Intel公司资助的开源计算机视觉库;

2:包含300多个C/C++函数的跨平台的中高层API。它不依赖于其他外部库,但也可以使用某些外部库。

3:对非商业应用和商业应用都是免费的。

MatLab

1:Mathworks公司开发的一款工程数学计算软件。

2:对数学操作(矩阵变换,正,反余玄函数等)进行更直接的描述。它也是一种语言,但不同于C,C++,Java等高级语言是对机器行为进行描述。

//Matlab的for语句

for I =1:1:5

//循环体

End

VC

但并不是说不能用VC,如果掌握成像规律,bmp图片格式原理,用什么语言都可以。VC中的CImg类可以很方便的操作位图文件。

2222.jpg
图像识别说到复杂会很复杂,比如人脸识别,要红外成像,要做很多模板匹配,两个瞳孔之间的距离,颧骨之间的距离,眉骨之间的距离等等很多个人特征值要做很细致的分析。

说到简单,其实很简单,比如下面我在实际工作中做得一个led自动测试(应用在路由器生产线中判别led灯态),我什么工具(matlab,opencv,vc)都没有用完全是C++来实现的。

二:我们要识别的图形
23.jpg
三:第一步去杂讯

用专业术语说就是“二值化”,其结果如下:

24.jpg
四:行分割

定格每一行led的上下边缘,结果如下:

25.jpg
五:列分割

定格每一列led的左右边缘,结果如下:

26.jpg
六:行列分割结果
27.jpg
 

从上面这个图,我们可以取得每个LED四个顶点坐标

七:LED框定结果
28.jpg
八:LED坐标精确定位结果

在第六步得到的结果中,有些位置不够精确,如第一行的第四个,其右边缘框定结果并不精确,可以往左移。

29.jpg
九:使用接口部分

只要在配置文件里面给出要识别的是几行几列,每个灯的颜色。

如:有12个灯(最多可以识别12个灯);

那么在配置文件里应该写成

[OCRConfig]

LedLn = 3

LedCol = 4

LedLnColor_1 = 0x67676767

LedLn1Color_2 = 0x72727272

LedLn1Color_3 = 0x67676767

这里67为’g’的ASCII码,72为’r’的ASCII码,这样每行可以用一个32位16进制数来表示,其中32为可以表示4个字节,每个字节代表一列。

转载:请注明,作者,下家山 请尊重原创!

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

恩智浦PurpleBox分布式雷达架构推动智驾核心技术

车用电气和电子元件测试标准ISO 16750

Numonyx 封装概况

视频 2010-01-14

创新设计高速艇进入美海军视野

视频 2010-01-14

不依赖空气的动力装置—AIP

视频 2010-01-14

采用电平位移驱动器和碳化硅SiC MOSFET交错调制图腾柱5kW PFC评估板

CoolSiC™肖特基二极管G5 10-80A 2000V,TO-247-2封装

驱动电路设计(六)——驱动器的自举电源动态过程

自动驾驶安全的关键标准 SOTIF(ISO/PAS 21448)

动图秒懂常用通信传输协议,收藏!

从“维斯比”舰看舰艇全隐身

视频 2010-01-14

驱动电路设计(七)——自举电源在5kW交错调制图腾柱PFC应用

功能安全开发标准ISO 26262

汽车电子 2025-03-26

CMOS可靠性测试新趋势:脉冲技术如何助力AI、5G、HPC?

存储器的混乱

视频 2010-01-14
更多 培训课堂
更多 焦点
更多 视频

技术专区