适宜用与非均匀光照条件的边缘检测方法
2016-04-20 09:28
309 查看
一直在做车牌识别算法的研究实现和实现,我是真的很想给做车牌识别算法研究的人正个名。在图像识别相关研究如火如荼之时,一提到车牌识别,往往都是被鄙视的。车牌识别近四十年的发展,技术确实很成熟,但是车牌识别应用环境自由度那么大,目前市面上商用系统能搞得定几种场景?个人觉得,对于任何一个研究课题,即便是技术都烂透了的东西,在没有深入去了解它之前,就应该保持一个谨慎的态度,认真对待! 稍微发下牢骚,发泄一下在车牌识别研究的时候被鄙视的郁闷心情!开始正题,在CSDN记录一下,车牌识别研究中接触到的图像处理方法的实现。 本篇介绍一种边缘检测算子——类拉普拉斯算子。论文参考“A new and robust method of character segmentation and recognition in license plate images”本篇提供基于opencv的实现!
/************************************************************************/ /* A method to binarize image 1. blur image using gaussian 2. filter image with laplacian_like kernel, size of which is 10 *10 3. RGB converts to gray and binarizes image with otsu parameters: input: rgb image; output: binary image return: int, 0 means failed, or 1; */ /************************************************************************/ int speBinarizeMethod(const Mat src, Mat &dest) { if (src.empty()||src.channels()!=3) { return 0; } float laplcian_like_kernel[81] = {0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1,-1,-1,-1,16,-1,-1,-1,-1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0}; float med_blur_kernel[10] = {1,1,1,1,1,1,1,1,1,1}; Mat laplcianLkernel = Mat(9, 9, CV_32FC1, laplcian_like_kernel); Mat medblurKernel = Mat(5, 2, CV_32FC1, med_blur_kernel); Mat srcClone = src.clone(); Mat grayImg, lSrcClone; Mat gaussKernel = getGaussianKernel(5, 2); GaussianBlur(srcClone, srcClone, Size(5,5),0,2); filter2D(srcClone, lSrcClone, srcClone.depth(), laplcianLkernel); cvtColor(lSrcClone, grayImg, CV_RGB2GRAY); medianBlur(grayImg, grayImg, 3); threshold(grayImg, dest, 0, 255, CV_THRESH_BINARY+CV_THRESH_OTSU); return 1; }
其处理效果:
第二列是利用该算子检测的二值图像,第三列是sobel算子的结果。从图可以看出,该算子对处理光照不均的情况较好!(http://img.blog.csdn.net/20160420092414843)
相关文章推荐
- java的反编译器
- Android开发-API指南-<application>
- spring mvc显示图片(个人记录)
- CQOI2016 K远点对 计算几何
- BZOJ 4510|USACO 2016 Jan Gold|Ratio Contact|动态规划
- unity各种路径
- 小马哥----山寨高仿小米5 图片1:1机型 机型曝光 与真假鉴别方法
- A Morphable Model For The Synthesis of 3D Faces
- 查看一些权限问题oracle(自己备忘)
- 十条jQuery代码片段助力Web开发效率提升
- SE Springer小组之《Spring音乐播放器》需求分析说明书二
- iOS两个App应用之间的跳转
- J2SE(十)Java之修饰符
- Red Hat修复Samba服务中的Badlock缺陷
- 图解OS和Linux的基础知识
- Android基础:Activity转场动画:overridePendingTransition(...)
- 232. Implement Queue using Stacks
- WEB自动化测试通过xpath定位的精度问题
- 2015阿里巴巴D2前端联合会之nodejs
- Linux驱动虚拟地址和物理地址的映射