- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并行图像细化算法和C代码实现并行图像细化算法和C代码实现
并行图像细化算法和C代码实现
图像细化一般作为一种图像预处理技术出现,目的是提取源图像的骨架,即是将原图像中线条宽度大于1个象素的线条细化成只有一个象素宽,形成骨架,形成骨架后能比较容易的分析图像,如提取图像的特征.
细化分成串行细化和并行细化2中,串行细化即是一遍检测满足细化条件的点一边删除细化点,并行细化即是检测细化点的时候不进行点的删除只进行标记,而在检测完整幅图像后一次性去除要细化的点.
细化基本思想是层层剥夺,即从线条边缘开始一层一层向里剥夺,直到线条剩下一个象素的为止.
进行细化算法前要先对图像进行2值化,即图像中直包含黑和白2中颜色.
细化算法:
在微观上取检测点的8个临域(由于是并行细化,有些模板要扩展为12临域),如下
xxx
xox
xxx
其中o为检测点x为其相邻点
以下用1代表黑色点,用0代表白色点,用x代表任意颜色的点,要剥夺(删除)的点应满足一下8个模板中的一个.
模板a(向右扩大)
0x1x
0111
0x1x
模板b(向右扩大)
00xx
0111
x11x
模板c(向右扩大)
x11x
0111
00xx
模板d
111
x1x
000
模板e
1x0
110
1x0
模板f
x00
110
x1x
模板g
x1x
110
x00
模板h(向下扩大)
000
x1x
111
x1x
符合以上8个模板的点为要剥夺的点,因为符合这8个模板的点可以确认为线条边沿上的点.
而试事实上经过这8个模板并行细化后还有下面2种特殊的边沿点保留了下来,
特殊边沿点1
000
010
111
特殊边沿点2
001
011
001
造成这种2种特殊点的原因扩大后的模板a和扩大后的模板h,扩大的的本意是防止偶数列(行)的线条被完全消去(并行细化并然的).
解决方法是在并行细化后再进行一次串行细化,选取缩小后的模板a和模板h
模板a(缩小后)
0x1
011
0x1
模板h(缩小后)
000
x1x
111
其中缩小后的模板a解决了特殊情况1,缩小后的模板h解决了特殊情况2,注意这次是串行细化了.一下根据这个原理用C++Builder6.0实现,关键代码如下.
//--------------------------------BCB6 代码
#include vcl.h
#pragma hdrstop
#includestdio.h
#include Unit1.h
#includeFile1.h
#includemath.h
#includetime.h
#includevector
#pragma pack(1)
using namespace std;
/*
程序:图像细化
作者:sboom(Lingch)
日期:05年1月18日
*/
//BMP文件头
struct BITMAPFILEHEADER_
{
short type;
int bfSize;
short re1,re2;
int Offbits;
};
//BMP信息头
struct BITMAPINFO_
{
long size;
long width,height;
short planes,bitCount;
long comp,sizeImg;
long xpels,ypels;
long used,important;
};
//------将BMP彩色表的数据校正到BCB 的TColor的数据。
TColor* SwitchColor(unsigned char r,unsigned char g,unsigned char b)
{
TColor *re=new TColor;
*re=(r | g8 | b16 );
*re=*re 0x00ffffff;
return re;
}
void xxx()
{
FILE *f=fopen(f:\\1.bmp,rb);
if(f==NULL) /*判断文件是否打开成功*/
{
ShowMessage(File open error);
return;
}
fseek(f,0,0);//移动到开头
//----------读BMP文件头
BITMAPFILEHEADER_ *bmph=new BITMAPFILEHEADER_();
if(fread((char*)bmph,sizeof(BITMAPFILEHEADER_),1
您可能关注的文档
最近下载
- 必威体育精装版最完整的的厂房设施确认实施方案.pdf
- 工程造价专业大学生职业生涯规划书.docx VIP
- 档案管理10号令解读(网).ppt
- 重庆《轻质隔墙条板应用技术标准》DBJ50T 338-2019.pdf
- (冀人版)科学五年级上册全册知识点.docx
- 电子工业版信息科技七年级上册3-1 “互联网+”在学习中的应用 教案.pdf VIP
- 2024-2025学年高中生物 第4章 种群和群落 第4节 群落的演替说课稿 新人教版必修3.docx
- 10 数学史问题与一元一次方程(含答案析) -七年级数学之专攻一元一次方程各种类型题的解法(人教版).docx
- 锅炉本体焊接作业指导书.pdf
- 钣金加工:折弯工艺手册.doc VIP
文档评论(0)