怎么把图像输入转化为三维点云数据
1、先给出图像,并载入到Mathematica里面。

2、把图片分离通道:
{r, g, b} = ColorSeparate[Rasterize@img]

3、单独把红色通道的图像,转化为三维数据,格式是{横坐标、纵坐标、像素值}:
rr = ImageData[r];
rrr = Flatten[Table[{i, j, rr[[i, j]]}, {i, 636}, {j, 636}], 1];

4、在三维空间中,绘制rrr中的所有直角坐标点:
ListPointPlot3D[rrr, PlotStyle -> Red]

5、降低点的密度:
rrr = Flatten[
Table[{i, j, rr[[i, j]]}, {i, 1, 636, 5}, {j, 1, 636, 5}], 1];
图像如下。这样不仅图像看着清楚一点,而且出图速度更快。

6、把三个通道的图像,都转化为点云图像:
ListPointPlot3D[{rrr, ggg, bbb}, PlotStyle -> {Red, Green, Blue}]

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:87
阅读量:178
阅读量:107
阅读量:159
阅读量:172