【问题标题】:3D image compression3D 图像压缩
【发布时间】:2012-09-14 09:26:12
【问题描述】:

我有一个 3D 图像,需要一种能够压缩它的方法。可用的二维压缩方法的质量非常好。但是,我找不到任何适合 3D 的方法。任何人都可以帮助我吗?我正在使用 MATLAB 进行工作。提前感谢您的帮助和建议。

【问题讨论】:

  • 3D 图像是什么意思?一个 3 通道图像、一组 3D 点(点云)、一个多边形网格(表面)、一个体积(按顺序或深度排列的一组图像)?考虑详细说明一下,并包括您通过 MATLAB 用于 2D 压缩的方法示例,例如DCT等
  • @Gevang:我有一个 3D 体积(100x100x50 的矩阵),我想让它更小,但又不失准确性。而且,在 MATLAB 中,我只使用 imresize 来调整我的 2D 图像的大小
  • 如果您想简单地调整大小(而不是某种形式的数据压缩),通过保持质量尝试在常规 3D 网格重新采样(即使用 ndgrid)并应用 3D 插值(使用 @987654323 @) 或抗锯齿(如imresize)。也看看stackoverflow.com/questions/12520152/…

标签: image matlab image-processing signal-processing


【解决方案1】:

您可以认为您的 3D 图像是视频(第三维是时间)。 然后,您可以使用标准的视频压缩算法。

在matlab中可以使用videoWriter类制作压缩视频文件:

https://www.mathworks.com/help/matlab/ref/videowriterclass.html

【讨论】:

    【解决方案2】:

    如果您的数据是基于网格的,例如 2d 图像,您会发现将 png 格式调整为三维非常容易。

    【讨论】:

    • PNG 图像格式通过processing line by line and storing only the difference to other pixels 压缩图像。这会从梯度产生恒定值(如果数据是 1、2、3,则可以将其存储为 1、1、1)。这使得数据对于像放气这样的“通用”算法更具可压缩性。然后使用 deflate 算法压缩生成的图像。如果您的 3d 图像具有与典型 2d 图像相似的属性,您可以编写一个基本上是 png 的格式,并为第三维添加额外的过滤方法
    猜你喜欢
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 2013-02-22
    相关资源
    最近更新 更多