图像识别去除孤立点方法
来源:互联网 发布:天才白痴梦寓意知乎 编辑:程序博客网 时间:2024/05/01 00:41
在图像识别时,如果一些孤立的噪声点在识别字符附近,将会影响识别的正确性,现在介绍怎样去除这样的孤立点。
1. 原图像,圈内为噪声点。
2. 边缘检测
3. 提取识别点矩形
4. 对矩形面积小于一定阈值的认为是噪声点,并对其区域内的像素值改为背景色。
5. 处理后图像
6. 代码
void CImageOCRDlg::SmoothImage(char* strFileName) { //去孤立小点 const int NOISE_MAX_AREA=100;//噪声点最大值,像素 const int CONTOUR_MAX_AREA=800; //数字矩形一般为19*55 const int MAXCHARCOUNT=20; //最多矩形的个数 int intRealCharCount=0; IplImage* src; IplImage* dst; IplImage* tmpsrc1; IplImage* tmpsrc2; IplImage* tmpsrc3; if((src=cvLoadImage(strFileName,0))!= 0) { dst=cvCloneImage(src); tmpsrc1=cvCloneImage(src); tmpsrc2 = cvCreateImage( cvGetSize(tmpsrc1), 8,3 ); cvZero(tmpsrc2 ); tmpsrc3 = cvCreateImage( cvGetSize(tmpsrc1), 8,3 ); cvZero(tmpsrc3); cvNot(tmpsrc3,tmpsrc3); //取反,使全白 //去噪声 cvSmooth(tmpsrc1,tmpsrc1,CV_MEDIAN,3,3,0); //边缘检测 cvCanny(tmpsrc1, tmpsrc1, 50, 150, 3); //画矩形 CvMemStorage* storage = cvCreateMemStorage(0); CvSeq* contour = 0; //二值化图像 cvThreshold( tmpsrc1, tmpsrc1, 1, 255, CV_THRESH_BINARY ); cvFindContours( tmpsrc1, storage, &contour, sizeof(CvContour), CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE ); for(;contour;contour=contour->h_next) { CvRect r=((CvContour*)contour)->rect; if(r.width*r.height <NOISE_MAX_AREA) { CvScalar s1; for(int i=r.y;i<r.y+r.height ;i++) { for(int j=r.x;j<r.x+r.width ;j++) { s1=cvGet2D(tmpsrc3,i,j); cvSet2D(dst,i,j,s1); } } } if(r.height*r.width>CONTOUR_MAX_AREA) { cvRectangle(tmpsrc2,cvPoint(r.x,r.y),cvPoint(r.x+r.width ,r.y+r.height),CV_RGB(255,0,0),1,CV_AA,0); } } //cvNamedWindow( "dst", 1 ); //cvShowImage( "dst", dst ); cvSaveImage(strFileName,dst); cvReleaseImage(&src); cvReleaseImage(&tmpsrc1); cvReleaseImage(&tmpsrc2); cvReleaseImage(&tmpsrc3); } }
- 图像识别去除孤立点方法
- 孤立点分析常用方法
- 孤立点检测的几种方法
- 图像验证码识别(五)——去除噪点
- 图像验证码识别(一)——去除噪点
- 离群点(孤立点、异常值)检测方法
- 孤立点分析
- 孤立点挖掘算法
- 去除二值化图像横向离散点
- 孤立词语音识别系统
- java-BufferedImage 图片验证码去除干扰线的方法( 用于OCR tesseract图像智能字符识别)
- 去除pdf水印图像的简单方法
- 离群点(孤立点)检测
- HTK孤立词语音识别小系统
- HTK实现孤立词语音识别
- sqlserver处理孤立用户方法
- 孤立
- 判断sqlserver 孤立用户的注意点
- 经典SQL语句大全
- Notes类的继承和包含
- SVN:解决冲突
- apt-get(软件安装包管理)
- 大整数的乘法(分治法)
- 图像识别去除孤立点方法
- lotus domino/notes权限控制文档
- sort用法示例
- 二分搜索技术(分治法)
- SQL另类注入之绕过后台登陆验证
- 内核补丁制作与提交
- Debian Lenny上Eclipse的安装
- 【zz】U-boot的环境变量: bootcmd 和bootargs
- IP多播概述