点云画笔选取系统及方法技术领域
本发明涉及一种点云处理系统及方法,特别是关于一种点云画笔快
速选取系统及方法。
背景技术
扫描设备扫描出来的数据一般都是三维点云的数据,而且因为受扫
描设备、光照、环境、产品等因素的影响,扫描出来的产品图像经常会
存在很多杂点,导致图片轮廓不清晰。这样对图像的检测处理增加很大
的难度,而且还会导致检测处理出来的数据精度低,误差大。在点云处
理系统中,如果没有能够自由选择点区域的方法,就不能较好的检测和
处理点云图像,这样对图像的处理就没有意义。在现有点云处理系统中,
只能进行点云大范围的搜索选中点云进行粗略处理图像;在小范围点云
区域处理杂点时容易将需要保留的点去掉,违反完善图像的目的;并且
只能对图像整体轮廓外的点云区域处理。
发明内容
鉴于以上内容,有必要提供一种点云套索选取系统及方法,能够利
用模型空间系统的画笔快速有效地选择出目标产品的三维点云图像中的
点云区域进行处理。
所述的点云画笔选取系统运行于计算机装置中,该计算机装置连接
有数据库。该点云画笔选取系统包括:点云图像绘制模块,用于从数据
库中读取一个点云文件,将该点云文件中的三维坐标转化成像素点并绘
制到模型空间系统中来形成一幅由多个像素点组合成的三维点云图像;
坐标转换模块,用于根据世界坐标系与平面坐标系的相互转换算法将三
维点云图像中的每一个像素点的世界坐标转化成平面坐标来将三维点云
图像转化成平面点云图像;画笔选中模块,用于在用户需要选取的点云
区域拖动模型空间系统中的画笔形成一个画笔覆盖区域,并利用该画笔
覆盖区域选中平面点云图像中的点云区域,从模型空间系统中获取所述
画笔覆盖区域内一组像素点的坐标值,以及获取该画笔覆盖区域的轮廓
坐标值;像素点判断模块,用于将平面点云图像中每一像素点的坐标与
画笔覆盖区域的轮廓坐标值进行计算比较来判断平面点云图像中每一像
素点是否在画笔覆盖区域内;颜色处理模块,用于将画笔覆盖区域内每
一像素点的颜色转换成特定颜色。
所述的点云画笔选取方法应用于计算机装置中,该方法包括步骤:
从数据库中读取一个点云文件,将该点云文件中的三维坐标转化成像素
点并绘制到模型空间系统中来形成一幅由多个像素点组合成的三维点云
图像;根据世界坐标系与平面坐标系的相互转换算法将三维点云图像中
的每一个像素点的世界坐标转化成平面坐标来将三维点云图像转化成平
面点云图像;在用户需要选取的点云区域拖动模型空间系统中的画笔形
成一个画笔覆盖区域,并利用画笔覆盖区域选中平面点云图像中的点云
区域;从模型空间系统中获取所述画笔覆盖区域内一组像素点的坐标值,
并获取该画笔覆盖区域的轮廓坐标值;将平面点云图像中每一像素点的
坐标与画笔覆盖区域的轮廓坐标值进行计算比较来每一像素点是否在画
笔覆盖区域内;将画笔覆盖区域内每一像素点的颜色转换成特定颜色。
相较于现有技术,本发明所述的点云画笔选取系统及方法能够利用
模型空间系统的画笔快速有效地选择出目标产品的三维点云图像中的杂
质点进行处理,以便消除杂质点还原出目标产品的轮廓图像。
附图说明
图1是本发明点云画笔选取系统较佳实施例的运行环境示意图。
图2是本发明点云画笔选取方法较佳实施例的流程图。
图3是利用画笔选中点云区域的示意图。
图4是确定画笔覆盖轮廓内像素点的示意图。
主要元件符号说明
计算机装置1
点云图像绘制模块101
坐标转换模块102
画笔选中模块103
像素点判断模块104
颜色处理模块105
存储设备11
处理器12
显示设备13
数据库2
具体实施方式
参阅图1所示,是本发明点云画笔选取系统较佳实施例的运行环境
示意图。在本实施例中,所述的点云画笔选取系统10安装并运行于计算
机装置1中,该计算机装置1还包括,但不仅限于,存储设备11、处理
器12及显示设备13。该计算装置1安装有操作系统(例如Windows操
作系统或Linux操作系统)以及各种应用系统(例如CAD等图形处理软
件)。所述的计算机装置1可以为一种个人计算机(PC)、工作站计算机
(Workstationcomputer)、笔记本计算机(Notebook)、服务器(Server)
或者其他电子计算装置。
所述的计算机装置1连接有数据库2,该连接可以为本地数据线(例
如Cable数据线)连接,也可以是网络(例如WAN或者LAN网络)连
接。所述数据库2存储有目标物体(例如鼠标)的点云文件,所述的点
云文件为一组解析成空间坐标的数据文件。在一个模型空间系统(例如
CAD系统)中打开点云文件,自动根据点云文件中的空间坐标在模型空
间系统中可以得到一幅由许多像素点组合而成的三维点云图像。
所述的存储设备11包括,但不仅限于,内存、硬盘以及外部存储设
备等。所述的处理器12包括,但不仅限于,中央处理器(CPU)、微处
理器或其它数据处理机等。
在本实施例中,所述的点云画笔选取系统10包括,但不仅限于,点
云图像绘制模块101、坐标转换模块102、画笔选中模块103、像素点判
断模块104及颜色处理模块105。本发明所称的功能模块是指一种能够
被计算机装置1的处理器12所执行并且能够完成固定功能的一系列程序
指令段,其存储于计算机装置1的存储设备11中。关于各功能模块
101-105将在图2的流程图中作详细描述。
参阅图2所示,是本发明点云画笔选取方法较佳实施例的流程图。
在本实施例中,该方法应用于计算机装置1中,能够利用模型空间系统
(例如CAD系统)的画笔快速有效地选择出目标产品的三维点云图像中
的杂质点,以便消除杂质点还原出目标产品的轮廓图像。
步骤S21,点云图像绘制模块101从数据库2中读取一个点云文件,
通过一个模型空间系统(例如CAD系统)打开该点云文件,并将该点云
文件中的三维坐标转化成像素点并绘制到模型空间系统中来形成一幅由
许多像素点组合成的三维点云图像。在本实施例中,所述的点云文件为
一组已经由像素点解析成空间坐标的数据文件,文件中的每一个包含三
个坐标的数据都代表一个像素点,所述的点云图像绘制模块101自动根
据点云文件中的三维坐标转化成相应的每一个点云文件并绘制到模型空
间系统的视窗中。
步骤S22,坐标转换模块102根据世界坐标系与平面坐标系的相互
转换算法将三维点云图像中的每一个像素点的世界坐标转化成平面坐
标,以便将三维点云图像转化成平面点云图像。在本实施例中,在平面
坐标系(retinalcoordinatesystem)中,用(μ,v)表示图像坐标系坐标,(x,
y)表示平面坐标系坐标,若O1在图像坐标系中的坐标为(μ0,ν0),μ轴
和ν轴方向上的物理尺寸坐标为μx,μy,μ轴和ν轴的夹角为θ,则图像坐
标与平面坐标的关系为如下所示:
μ v 1 1 μ x - 1 μ x cos θ μ 0 0 1 μ y 1 sin θ v 0 0 0 1 x y 1 - - - ( 1.1 ) ]]>
在世界坐标系(worldcoordinatesystem)中,所述世界坐标系由基准
观测原点和XW、YW、ZW轴组成。例如,摄像机坐标系与世界坐标系之
间的关系可用旋转矩阵R与平移向量T来描述,假如某点p的世界坐标与
摄像机坐标下的坐标设为[XW,YW,ZW,1]T,[XC,YC,ZC,1]T,则存在如下关系:
X C Y C Z C 1 = R T 0 T 1 X W Y W Z W 1 = M 1 X W Y W Z W 1 - - - ( 1.2 ) ]]>
在(1.2)式中,R为3×3正交单位矩阵;T=[Tx,Ty,Tz]T为三位平移矩阵;
M1是4×4的矩阵,通常R、T为外部参数。R的三个欧拉角,分别为偏离
角θ、倾斜角φ、旋转角R可以由θ、φ、来表示为:
在本实施例中,世界坐标与平面坐标之间的转换算法为:假设一点的坐
标p,为其中,(x,y)为p点的图像坐标,[Xc,Yc,Zc]T为
空间点p的坐标,世界坐标与平面坐标之间的转换关系为:
Z c x y 1 = f 0 0 0 0 f 0 0 0 0 1 0 X c Y c Z c 1 - - - ( 1.3 ) ]]>
根据上述(1.1)式、(1.2)式、(1.3)式可以得出p点的空间坐标
系转换成平面坐标的关系表示为如下(1.4)式:
Z c μ v 1 = 1 μ x - 1 μ x cot θ μ 0 0 1 μ y 1 sin θ v 0 0 0 1 f 0 0 0 0 f 0 0 0 0 1 0 R T 0 1 X W Y W Z W 1 = f x - f x cot θ μ 0 0 0 f y 1 sin θ v 0 0 0 0 1 0 R T 0 T 1 X W Y W Z W 1 = M 1 M 2 X W Y W Z W 1 = MX - - - ( 1.4 ) ]]>
步骤S23,画笔选中模块103在用户需要选取的点云区域拖动所述
模型空间系统中的画笔形成一个画笔覆盖区域,并利用该画笔覆盖区域
选中平面点云图像中的点云区域。在本实施例中,用户在需要选中的点
区域拖动画笔,此时画笔经过的地方将会把选中的点元区域覆盖形成一
个画笔覆盖区域。如图3所示,画笔覆盖区域Q内的像素点部分为选中
的点云区域。
步骤S24,画笔选中模块103从模型空间系统中获取所述画笔覆盖
区域内一组像素点的坐标值,并获取该画笔覆盖区域的轮廓坐标值。在
本实施例中,模型空间系统(例如CAD系统)中有专门读取每一像素点
坐标的算法,该算法会自动保存画笔经过区域的一组像素点的坐标值,
并保存画笔覆盖区域的轮廓坐标值。如图4所示,画笔覆盖区域Q具有
轮廓W,该画笔覆盖轮廓W同样是由很多像素点组合成,获取该轮廓
W的每一像素点的坐标值并存放在存储设备11中。
步骤S25,像素点判断模块104将平面点云图像中每一像素点的坐
标与画笔覆盖区域的轮廓坐标值进行计算比较。在本实施例中,将平面
点云图像中的像素点逐个取其坐标与画笔平面点云图像轮廓坐标进行计
算比较来判断平面点云图像中每一个像素点是否在画笔覆盖轮廓中。例
如,画笔覆盖轮廓的坐标表示为(x,y),x坐标在平面内会有一个最大
值Xmax和最小值Xmin,y坐标在平面内也由一个最大值Ymax和一个最小值
Ymin。将点云图像中的每一像素点(xa,yb)与画笔覆盖轮廓的最大最小
坐标值作比较,当像素点的x轴坐标的值符合Xmin≤xa≤Xmax,像素点的y
轴坐标值符合Ymin≤yb≤Ymax),则确定该像素点在画笔覆盖区域内,否则确
定该像素点在画笔覆盖区域内。
步骤S26,像素点判断模块104根据比较结果判断平面点云图像中
每一像素点是否在画笔覆盖区域内。若像素点在画笔覆盖区域内,流程
执行步骤S27;若像素点不在画笔覆盖区域内(即在画笔覆盖区域之外),
流程执行步骤S28。
步骤S27,若所述像素点在画笔覆盖区域内,颜色处理模块105则
将画笔覆盖区域内像素点的颜色转换成特定颜色,例如红色、黄色、绿
色、或其它任何区别性的颜色。在本实施例中,颜色处理模块105通过
颜色转换算法将符合要求像素点的颜色由原来的颜色转换成红色,即会
自动将表示黑色点的像素值更新为相应表示红色点的像素值,并在显示
设备13上以红色显示选中的点云区域。
步骤S28,若像素点不在画笔覆盖区域中(即在画笔覆盖区域之外),
颜色处理模块105则对画笔覆盖区域外的像素点不作任何颜色处理。
本发明所述的点云画笔选取系统及方法能够模仿画笔选中涂改特
性,利用用鼠标拖动就能快速有效地选择出目标产品的三维点云图像中
的点云区域。在模拟过程中,使用者还能根据需要调节画笔的粗细和颜
色,达到通用的效果。可对任何形状、任何尺寸的三维点云图像及复杂
曲面进行操作。画笔可以对小范围中的点云进行操作,效率高、速度快,
且能准确选中所要选择的点范围,而且不会过多增加多余的点,图像处
理精度高。任何形状内外的点云区域,利用画笔都能一次性选中,不需
要分几次来执行,从而节约点云处理的时间。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上
较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,
可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术
方案的精神和范围。