点击上方“新机器视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
Halcon|读取3D相机点云数据
最近发现很多小伙伴在使用Halcon处理3D工业相机扫描结果的时候遇到了“如何读取”的问题。一般的3D工业相机储存数据的格式有txt格式、tif格式、csv格式、ply格式、ptx格式、bin格式、obj格式等。
txt格式
读取txt文件生成3D模型一般需要分析txt文件的储存格式,下图是我使用的工业相机储存的部分txt数据:
经过分析,前3列为X、Y、Z坐标,第4列到第6列为每一点的法线坐标nX、nY、nZ,第7列到第9列为灰度值。因此我们采用以下代码重构3D模型:
open_file ('data.txt', 'input', XYZ) #打开文件X :=[]Y :=[]Z :=[]nX :=[]nY :=[]nZ :=[]Gray :=[]fread_line (XYZ, OutLine, IsEOF) #读文件中一行的字符串tuple_split (OutLine, ' ', Substrings) #根据空格分割一行的字符串while (IsEOF==0) #将X Y Z nX nY nZ Gray分别存储在不同的元组中 X :=[X,Substrings[0]] Y :=[Y,Substrings[1]] Z :=[Z,Substrings[2]] nX :=[nX,Substrings[3]] nY :=[nY,Substrings[4]] nZ