朱朋海 宋超 陈华
摘要: 测井曲线的数字化与可视化有助于测井数据的信息化。利用曲线的轮廓特征,提取出曲线中的轮廓,利用次轮廓特征还原出原曲线。实验表明,还原出来的曲线和原曲线基本一致,包含的信息没有丢失,可以应用于提取图纸中测井曲线,并加以推广到一般图之中曲线的提取。
关键词:图像处理;扫描;像素追踪;曲线数字化;灰度值
中图分类号:TP301.6 文献标识码:A 文章编号:1009-3044(2015)10-0225-03
在社会很多领域,过去,很多数据信息是以曲线行驶绘制在图纸上的,例如石油测井,地震波记录等。现在为了能使这些数据信息更统一保存、共享和分析,往往需要把他们从图纸上的曲线中恢复出来,即图纸曲线数字化。目前,国内有许多的类似研究,如四川大学余艳梅所做的测井曲线智能数字化系统的设计与开发,为提高测井曲线数字化的智能化能力,基于图像处理和模式识别等理论设计并开发了一套测井曲线智能数字化系统。提出了一种基于局部和整体相结合的实线智能识别算法和一种基于形态学预处理和自适应参数调整的虚线智能识别算法[1]。四川大学的王玲璐提出一种利用BP神经网络进行曲线自动提取的方法。 这种方法先提取曲线段的宽度、走向、分支特征,然后利用BP 神经网络识别跟踪曲线交织处的分支,正确预测曲线的下一段[2]。
1 问题提出
现在大部分油田的老式测井结果只有图纸,没有矢量化的结果。但是纸质结果在保存和使用方面存在很大的缺陷[3]。为提高测井曲线的数字化与可视化的能力,基于图像处理与可视化理论设计并开发了一款测井曲线数字化与可视化的软件,提出了一种像素矢量追踪的算法来提高追踪速度,试验表明这种算法极大的提高了软件运行速度。
2 问题分析
此方法针对测井曲线的特点提出的,因为测井曲线都是连续的并且都具有很好的平滑性,这样的特性十分利于像素追踪,所以我们可以根据这样的特性并且利用它。像素轮廓追踪法的提出便是对像素的八方向追踪算法进行简化而得到的,我们舍去了其中向上以及向左向右五个方向,只利用向下的三个方向,大大简化之前的八方向的繁琐。我们首先对图片中的像素进行二值化处理[4],方便后面对像素的筛选。之后对筛选后像素的下一行像素进行追踪,边追踪边记录,最后对所有这些筛选出的像素信息都保存在我们想要的文档里。
3 算法原理
3.1算法步骤
(1)采用行扫描得到的起始的轮廓点,记录下该点坐标为valuesx,valuesy,以该两点为当前点;
(2)扫描当前点的下方像素点,如果两点像素值均大于阈值,以该起始点为当前点,转步骤(4),如果只有一个像素点大于阈值转步骤(3),如果两点像素值均小于阈值则转(5);
(3)对当前点的左右两个方向进行扫描,扫描出这一行的轮廓点valuesx,valuesy并且以这两点为当前点执行步骤(2);
(4)对当前点的左右两个方向进行扫描,扫描出这一行的两种轮廓点d1,e1,d2,e2,判断|e1-d1|和|e2-d2|,取长度较长的一组作为这一行的valuesx,valuesy,以这两点为当前点执行步骤(2);
(5)结束轮廓扫描算法,保存向量valuesx,valuesy到文件中;
3.2算法PAD图
4 具体实现及程序代码
4.1 提取点的灰度值
public: int Hui(int x,int y)
{
Bitmap^ bmp=gcnew Bitmap(this->pictureBox1->Image);
Color c;
c=bmp->GetPixel(x,y);
return (c.R+c.G+c.B)/3;
}
4.2 搜索一行看是否符合要求
public: void sousuohang(int y,int a,int m,array
{
valuesx[y]=0;
valuesy[y]=0;
for (int x=1;x { if(Hui(x,y) { valuesx[y]=x; valuesy[y]=x+2; for(int z=x+3;z { if(Hui(z,y)>m) { return; } else { valuesy[y]=z; continue; } } } } return; } 4.3 找到符合要求的第一行 public: void firstline(int &y,int a,int b,int m,array { for (y;y { sousuohang(y,a,m,valuesx,valuesy); if(valuesx[y]==0) { continue;
}
else
{
break;
}
}
}
4.4 找到左端点
public: void LR(int m,int a,int y,int &left,int &right,int x)
{
for (int p=x;p>1;p--)
{
if(Hui(p-1,y) { left=p-1; } else { break; } } for (int p=x;p { if(Hui(p+1,y) { right=p+1; } else { break; } } } 5 算法验证与结果分析比较 优点:从图2,图3中可以看出,此算法可以把原曲线还原提取出来啊。与扫描整个图片提取曲线相比,此算法需要的存储空间非常小,只需存储两组向量即可,大大节省了存储空间。而且所需要的运算量十分小,原来N*N的循环数减少为N*2—N*N(根据不同的图片不同,最坏情况下跟全图扫描同样循环数,一般为N*5左右),极大的增快了油田方面对图片信息提取的速度。 缺点:还原的曲线还不太精细,对于太细的曲线还不能很好地还原出来,对于曲线中突然变细的地方可能会有间断。对于每个像素的灰度差别无法体现,统一按照255的灰度来表示,导致图片略有失真,这个问题可以通过增加一组向量的储存空间来解决。 6 结束语 此算法与其他算法相比对存储空间要求很小,并且运行速度快,对于具有非常庞大数据的测井曲线来说是非常有应用价值和使用前景的。此外,此算法不仅可以应用于测井曲线的提取,同样也适用于一般的曲线提取,只需事先调整曲线的方向为自上到下。此算法同样在轮廓识别、模式识别等方面也有很多应用。 参考文献: [1] 余艳梅,罗代升,何小海.测井曲线智能数字化系统的设计与开发 [J].计算机工程与设计,2008,29(24). [2] 王玲璐,余艳梅,罗代升.一种基于BP网络的测井曲线自动提取方法[J].四川大学学报,2008,45(1). [3] 孙东利.测井曲线数字化采集处理方法研究[J].内蒙古石油化工,2009(1):92-94. [4] 刘波,余艳梅,罗峰.数字图像处理在测井曲线矢量化中的应用[J].西南民族大学学报,2005,31(1). [5] 左航.测井曲线的自动识别与提取[D].成都:四川大学电子信息学院,2003.