就比如:
BMP图像数据保存是这样的:先保存图像的文件头,再保存图像的信息头,再保存一个颜色表,最后才是图像数据.
(下面就以图像的文件头作详细说明)
图像的文件头的信息如下:
偏移 意义
0-1字节 .BMP文件的标志
2-5字节 给出位图文件的大小
6-7字节 保留并必须置为0
8-9字节 保留并必须置为0
10-13字节 位图阵列的偏移值
那么你想读图像的文件头时,你就可以定义如下的一个结构体来保存读到的数据:
typedef struct
{
char bfType[2] /*用来保存.BMP文件的标志*/
long bfSize /*用来保存位图文件的大小*/
int bfReserved1/*用来保存保留字节*/
int bfReserved2/*用来保存保留字节*/
long bfOffBits /*用来保存位图阵列偏移量*/
}BMPHEAD
这个结构体和上面的图像的文件头的偏移一一对应.
这样读文件时,首先用fopen()函数打开文件,用fread()函数将文件的数据读到结构体中就可以了.
读ply文件时用一样的方法就OK了
你可以看看PCL中测试实例中的,ply2pcd的程序,转化为pcd显示就可以了吧https://github.com/otherlab/pcl/blob/master/tools/ply2pcd.cpp
源码链接。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)