图像处理 C语言 文本图像的字符分割
来源:互联网 发布:网络安全生产会议内容 编辑:程序博客网 时间:2024/05/17 12:21
这个程序的功能是把文本图片里面的文字 进行 分割,便于文字识别(这也是熬了一夜啊)
这个算法完全是自己设计的;
算法步骤:
1、 扫描每行白点的个数;累加起来
for(i=0;i<img.height;i++) //img.height 原图高度
{
for(j=0;j<img.width;j++) //img.width 原图宽度
{
if(temp1[i*img.width+j]==255) //原图数据存放在temp中temp是一位数组
xnum[i]++; //累加每行出现的白点数存放在xnum[]中
}
}
2、 根据每行的累加值可以找出每行字符上下两层的边界
for(i=0;i<img.height;i++)
{
if(flag==0) //flag 用来标记
{
if(xnum[i]>10) //当出现白点数大于10个时,把相应行作为这行文字的上边缘
{
x1[xn]=i; //x1[xn]记录xn行字符的上边界
flag=1;
}
}
if(flag==1)
{
if(xnum[i]==0) //扫描上边界后继续扫描当出现某行白点为0时,即为这行文字下边缘
{
x2[xn]=i; //x2[xn]记录xn行字符的下边界
flag=0;
xn++; //xn 用来记录第几行;
}
}
}
3、 填充每行每个字所占的空间,使其全为白色
for(m=0;m<xn;m++) //xn为第xn行字符串
for(i=x1;i<=x2;i++) //行 覆盖文字区域 成为矩形;
{
for(j=0;j<img.width;j++)
{
if(*(temp1+img.width*i+j)==255)//处理后的数据放在temp中
{
for(k=x1;k<=x2;k++) //x2记录m行字符的下边界
*(temp+img.width*k+j)=255; //x1记录m行字符的下边界
}
}
}
4、利用sobel算子边缘检测使其成为方框,即为文字的边界
for(i =0; i<=img.height-1; i++) //sob算子边缘检测;取出边界;
{
for(j=0;j<=img.width-1;j++)//由于使用2×2的模板,为防止越界,所以不处理最下边和最右边的两列像素
{
if(i==img.height-1)
temp2[i*img.width+j]=0; //边缘检测后的数据存放在temp2数组中
else if(j==img.width-1)
temp2[i*img.width+j]=0;
else
{
p1[0] = (byte)*(temp+i*img.width+j);//p1[0]p1[2]p1[2]p1[3]表示某个像
p1[1] = (byte)*(temp+i*img.width+j+1);//素周围四个像素的灰度值
p1[2] = (byte)*(temp+(i+1)*img.width+j);
p1[3] = (byte)*(temp+(i+1)*img.width+j+1);
result = sqrt(( p1[0] - p1[3] )*( p1[0] - p1[3] )+(p1[1] - p1[2] )*( p1[1] - p1[2] )); //边缘检测算子
if(result>0)
result=255;
temp2[i*img.width+j] = (byte)result; //存在temp2中
}
}
}
4、 最终图像为
- 图像处理 C语言 文本图像的字符分割
- 图像处理 C语言 文本图像的倾斜校正
- 图像处理 C语言 文本图像的倾斜校正
- C语言关于图像处理的函数
- 图像分割总结,图像处理
- 图像处理之分割图像
- 【OpenCV3图像处理】图像分割
- 【图像处理】MATLAB:图像分割
- C语言图像处理方法
- c语言图像处理方法
- C语言图像处理方法
- C语言图像处理方法
- C语言处理BMP图像
- 图像分割简单处理
- 我要一篇图像处理中的图像分割的论文
- 灰度图像--图像分割 阈值处理综述
- 图像处理之--图像分割10.1基础知识
- 图像处理--图像分割算法介绍
- 悟道。
- 控制传输服务层
- 11个有用的移动网页开发App和HTML5框架
- 向大家推荐几本正统C++的好书
- Singleton单例模式
- 图像处理 C语言 文本图像的字符分割
- 人人都玩开心网:Ext JS+Android+SSH整合开发Web与移动SNS
- Linux syslog日志监控服务器
- 图像处理 C语言 文本图像的倾斜校正
- Linxu之静态库生成和使用
- Evernote进军Web阅读,推出Clearly为你格式化网页
- Android make: How to control which module is built
- 图像处理 C语言 hough变换 检测直线
- 杨毅:不够优秀就不要腆着脸继续占便宜