请教下大家冈萨雷斯P528页的细化算法是什么
发布时间:2011-06-27 20:37:24 文章来源:www.iduyao.cn 采编人员:星星草
请问下大家冈萨雷斯P528页的细化算法是什么?
请问这是什么算法!书上没介绍名字!
------解决方案--------------------
一般用在二值图像的图像处理中,使宽度超过1像素的线变成宽度1像素的线条,从而达到提高线条特征的作用,边缘识别中常用.实际应用的话指纹识别是个例子.
------解决方案--------------------
void thinb(){
int s = 1;
int i, j, k,count = 0;
int ff;
int c[10];
int d[9];
float p;
int flag=0;
for(j=1;j<rows;j++){
for(i=1;i<cols;i++){
if(a[i][j]!=0){
count++;
}
}
if(count > 230)
count = 0;
p=(float)count / (float)cols;
count = 0;
if(flag == 0){
if(p>0.2){
ul = j;
//cout<<"ul"<<ul<<endl;
flag++;
}
}
if(flag == 1){
if(p<0.2){
dl = j;
//cout<<"dl"<<dl<<endl;
flag++;
break;
}
}
}
for(i=1;i<cols;i++){
for(j=1;j<rows;j++){
if(a[i][j]!=0)
count++;
}
if(count > 230)
count = 0;
p=(float)count /(float) rows;
count = 0;
if(flag == 2){
if(p>0.2){
ll = i;
//cout<<"ll"<<ll<<endl;
flag++;
}
}
if(flag == 3){
if(p<0.2){
rl = i;
//cout<<"rl"<<rl<<endl;
break;
}
}
}
while(s!=0){
for(i=1;i<rows-1;i++){
for(j=1;j<cols-1;j++){
if(a[i][j]==1){
d[0] = a[i][j];
d[1] = a[i][j+1];
d[2] = a[i-1][j+1];
d[3] = a[i-1][j];
d[4] = a[i-1][j-1];
d[5] = a[i][j-1];
d[6] = a[i+1][j-1];
d[7] = a[i+1][j];
d[8] = a[i+1][j+1];
s=0;
for(k=0;k<9;k++){
if(d[k]==1)
c[k]=1;
else
c[k]=0;
}
c[9]=c[1];
ff=0;
for(k=1;k<=7;k+=2)
ff=ff+(1-c[k])-(1-c[k])*(1-c[k+1])*(1-c[k+2]);
if(ff==1){
s=0;
for(k=1;k<=7;k+=2)
s=s+abs(d[k]);
if(s<=3){
s=0;
for(k=1;k<9;k++)
s=s+abs(d[k]);
if(s>=2)
a[i][j]=-1;
}
}
}
}
}
s=0;
for(j=0;j<rows;j++){
for(i=0;i<cols;i++){
if(a[i][j]==-1){
a[i][j]=0;
s=1;
}
}
}
}
for(i=0;i<cols;i++){
for(j=0;j<rows;j++){
if(i<ll || i>rl || j<ul || j>dl)
a[i][j]=0;
}
}
}
上大学的时候写过一个专用的好像是细化 256*256图像的.
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
关于opengl源码的问题
gluPickMatrix函数的实现在哪?我在glut源码中找了半天没有找到
------解决方案--------------------
这是...
-
关于傅立叶变换的数字水印嵌入算法的问题
需求:
首先对图像和水印图像进行傅里叶变换;
讲数字水印嵌入到图像中;
逆变换显示潜入水印...
-
Matlab和OpenCV的处理速度问题
大家好!我正准备用Windows下的OPENCV实现MSR算法来处理图像,目前已经有在Matlab下面的处理的程序,但...
-
问一个Ghostscript的问题!
我用Ghostscript API将eps转换成pdf,在其他的环境下都能很好的执行。但是在windows server 2008上却不行...
-
求教D3D9.DLL为什么没有被游戏进程加载?
我本来想wrap一下D3D9.DLL给一个3D游戏搞点破坏,但用IcdSword监视一下游戏使用模块,发现连D...
-
请教几个DirectX的问题
1:切线贴图就是法线贴图的意思么?
如果不是,那两者有什么区别?
2:The NPatch mode segments 是什么意思?
原文:
...
-
用OpenCV作的一个车牌识别程序
新手用OpenCV作的一个车牌识别程序,目前只能处理黄底黑字
的车牌图像,供大家交流学习之用。如果感...
-
求助:用matlab实现图像的dct变换
如题
用matlab实现图像的dct变换
不要用自带的dct2函数
多谢了
------解决方案----------------...
-
建了一个群,OCR字符识别技术,欢迎大家加入!
欢迎大家讨论各种字符的识别技术,从图像的预处理到最后分类识别的过程都可以讨论。
qq...
-
Matlab下怎么才能把封闭曲线作为边界判断区域内外
大家好!我对一幅图进行边缘分割,得到了边缘(是一条曲线),下一步想要用得到的边缘曲...