【问题标题】:Anyone know how to read a pixel translation (pixtiff compression)?任何人都知道如何读取像素翻译(pixtiff 压缩)?
【发布时间】:2010-07-22 15:20:32
【问题描述】:

我正在尝试读取具有关联的 ANN 文件的 TIFF 文件。 tiff 不使用标准查看器打开。当我打开二进制 ANN 文件时,我唯一能理解的是它是使用 Pixel Translations Inc. 的软件创建的,采用 PIXTIFF 格式。

有谁知道如何手动或以编程方式查看此文件?有什么免费软件可以用作查看器吗?

谢谢!

【问题讨论】:

    标签: file image image-processing


    【解决方案1】:

    为了全面披露,我是 Atalasoft 的一名员工。

    由于这篇文章,我们有一家公司与我们联系,我想帮助尽可能多的可能遇到相同问题的人。

    公司拥有内部识别为 PIXTIFF 的文件。出现的特定字符串是“Pixel Translations Inc., PIXTIFF Version”和一个版本号。但是,这些文件在 tiff 标头之前有几百字节,导致它们无法在标准查看器中打开。

    我在寻找有效的 tiff 时确实找到了另一组文件,以使用相同的 PIXTIFF 字符串进行参考,这些 PIXTIFF 字符串已经在工作 tiff。我不能说是有人已经“修复”了它们,还是非标准流程创建了这家公司的集合。

    因此,如果您确实发现您有这些 PIXTIFF 二进制文件,请先检查它们是否是有效的 tiff,然后再继续。复制一份,给它一个 .tif 扩展名,然后使用IrfanView 之类的东西尝试打开它。

    查看Tiff header spec:Tiff 文件以 II* (0x49 0x49 0x2A 0x00) 或 MM* (0x4D 0x4D 0x2A 0x00) 开头,然后是从文件开头到第一个图像目录的偏移量。 (尽管根据我的经验,大端 MM 顺序很少见。)

    可以通过剥离 tiff 标头之前的所有数据来修复有问题的文件。相对于 tiff 标头,偏移量已经正确。

    我已经包含了一个快速的 C# 示例,说明我曾经在本地执行此操作。用您选择的语言实现这一点应该非常简单。

    注意:Stream.CopyTo 仅在 .Net 4.0 及更高版本中可用。这也仅纠正了两个可能的标头之一,但它确实修复了手头的所有文件。

    byte[] header = { 0x49, 0x49, 0x2A, 0x00 };
    int found = 0;
    
    string filename = @"fileToFix";
    
    using (Stream fileToFix = File.OpenRead(filename))
    {
        while (found < 4 && fileToFix.Position < fileToFix.Length)
        {
            if (header[found] == fileToFix.ReadByte())
                found++;
            else
                found = 0;
        }
    
        if (found != 4) //Didn't find a tiff.
            return;
    
        fileToFix.Seek(-4, SeekOrigin.Current); //We're already 4 bytes in the the header, go back.
    
        using (Stream fixedFile = File.OpenWrite(Path.Combine(Path.GetDirectoryName(filename), Path.GetFileNameWithoutExtension(filename) + ".fixed.tif"))) //Same directory, same name but ending in .fixed.tif.
            fileToFix.CopyTo(fixedFile);
    }
    

    【讨论】:

      【解决方案2】:

      Altalasoft 成像产品可以读取(和创建)这些文件。

      见:http://www.atalasoft.com/

      此外,您通常可以使用标准 Windows Imaging SDK 甚至标准 GDI+ 库来读取 TIFF 文件。 (或者,.NET System.Windows.Drawing 库。)

      一些 PIXTIFF tif 文件是“类型 6”并使用 JPEG 压缩。我发现可以阅读这些内容的最佳库是 LibTiff 库(或 .NET 版本,BitMiracle 的 LibTiff.net:http://bitmiracle.com/libtiff/)。

      【讨论】:

        【解决方案3】:

        这是很久以前的事了,但从 1995 年到 2000 年,我担任 Pixel 翻译的开发人员支持主管。.ANN 文件包含要覆盖在图像顶部的注释(标记或编辑)。如果您无法使用上面的代码打开文件,请尝试通过像素转换找到名为 PixView 的应用程序的副本。它可以读取文件并打开注释。它起源于开发人员的示例应用程序,源代码可能在某处。我认为 emc/dell 现在拥有它。

        【讨论】:

          猜你喜欢
          • 2020-12-16
          • 1970-01-01
          • 2015-03-05
          • 2011-05-10
          • 1970-01-01
          • 1970-01-01
          • 2021-07-28
          • 1970-01-01
          • 2021-10-03
          相关资源
          最近更新 更多