问题标签 [libtiff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
892 浏览

debugging - 检测/调试/查看可能损坏的 Tiff/BigTiff 文件

我收到了一个 BigTiff 文件,其中包含无法使用 ImageJ/Fiji 正确读取的科学数据。LibTiff 和 StripOffsets 标签似乎有问题。

我发现的唯一选择是直接使用 LibTiff(可能很糟糕,如果我不确定问题是否由 LibTiff 本身引起)和 ImageJ/Fiji。

有没有办法对提供的数据进行“更高级别”的访问(即没有十六进制编辑器)?例如。一些库或工具来“调试”文件并即时更改属性?

0 投票
2 回答
1320 浏览

ios - TIFFOpen 在 ios 中总是返回 NULL

我正在尝试使用 Libtiff 创建 TIFF 图像。我无法弄清楚文件无法打开的原因。任何人有任何想法?

编辑 1

任何帮助将不胜感激。谢谢

0 投票
1 回答
202 浏览

c - 添加自定义 TAG 时实现 _TIFFVGetField 的困惑

(免责声明:我意识到这是一堵巨大的文字墙,但我已尽力将事情归结为要领。如果您熟悉 libtiff,这不是一个非常复杂的问题)

我已经在 libtiff 邮件列表上问过这个问题,但我认为如果有任何与图书馆合作过的人,我在这里也有很好的机会。

我正在使用此处的文档将自己的内置标签添加到库中:http: //libtiff.maptools.org/addingtags.html

因此,我在 tif_dirinfo.c 顶部定义的 TIFFFieldInfo 数组中添加了一个条目,如下所示:

TIFFDirectory然后我在定义的结构中添加了一个字段tif_dir.h

现在我继续按照指示_TIFFVSetField进行修改。_TIFFVGetField这是我遇到问题的地方。

在模仿库中已经存在的模式时(参见 的实现TIFFTAG_YCBCRSUBSAMPLING,这类似于我正在做的事情),我将以下代码添加到_TIFFVGetField

据我所知,这是完全不正确的。此处的目的是根据整数数组填充变量参数列表中的输入。一个可取之处是 中提供的参数va_list始终是类型int32,并且 YcBr 代码使用两个int16's。所以,它有效,但我无法复制该实现。

_TIFFVGetFieldTIFFWriteNormalTag最终从in调用tif_dirwrite.c。相关代码是这样的:

因此,声明了一个未初始化的指针lp并将其地址传递给TIFFGetField. 这反过来设置了 va_list(withlp作为唯一的参数)和调用TIFFVGetField,它_TIFFVGetField使用提供的va_list和指向未初始化指针的指针进行调用。

这里有两个问题。

首先,这是库提取数据的方式(我的代码,但同样遵循已经存在的模式)

这似乎不正确。它将原始指针设置为 int 的值。我推断,也许,在我遵循的示例 (TIFFTAG_YCBCRSUBSAMPLING) 中,这些整数实际上是地址。好吧,但即使是这样,但还有另一个问题。

库调用va_args N时间,其中N是数组中元素的数量。从我看到的变量参数列表中只包含一个参数(指针的地址)。根据标准,这是未定义的行为(开头很重要):

如果没有实际的下一个参数,或者类型与实际的下一个参数的类型不兼容(根据默认参数提升),则行为未定义。

正确的版本是

这会将先前未初始化的指针设置为有效的数组。我不喜欢它指向数据本身而不是副本,但无论如何;至少它不会崩溃并给我正确的结果。

我在这里担心的是我错过了一些微妙的东西。这个软件很老,很多人都在用。因此,将其称为错误对我来说就像将崩溃归咎于编译器,这几乎总是错误的。

但是,我无法推断出一种正确的方式,特别是库如何写入va_arg多次调用时返回的内容。

任何帮助将不胜感激。提前致谢。

0 投票
2 回答
2780 浏览

objective-c - 如何使用元数据生成 tiff 文件

我必须生成一个包含许多图像和元数据的 tiff 文件。我发现可以在 这里将 png 或 jpg 转换为 tiff :但是如何添加元数据?iOS 版 ImageMagic 可以吗?谢谢

编辑:最后我在iphone上安装了ImageMagick,但我没有找到如何用magickwand创建多页tiff ....也可以直接使用libtiff:我找到了如何在c代码中创建一个空的简单页面

那么有没有关于如何在创建的 tiff 文件中插入图像数据的 c 教程?以及如何创建多页 tiff ?谢谢

0 投票
2 回答
2805 浏览

python - 使用 PyLibtiff 读取平铺图像

我最近从这里下载并安装了 PyLibTIFF,并一直在尝试读取平铺的 tiff 图像。

我可以完美地阅读扫描线图像,但似乎甚至找不到正确的功能来阅读瓷砖。我在我的 python 站点包文件夹中搜索了整个 libtif 目录,但没有找到任何类型的“read_tile”命令。

我基本上是想从这个例子中转码:

到蟒蛇。

到目前为止,我已经得到:

我实际上只需要测试 tiff 是否损坏。tif.info() 无济于事,因为它只是读取即使在损坏的 tif 中也完好无损的文件头。

任何帮助、想法或想法将不胜感激!谢谢!

0 投票
0 回答
514 浏览

matlab - 在 MATLAB R2012a 中加载 Libtiff

我正在尝试在 MATLAB R2012a 中加载 libtiff 3.9.5,情况是:Matlab 说我需要一个编译器和 Perl。我安装了 Visual Studio 2010 和 perl 5.14.2。mex -setup 说编译器没问题,但 Perl 没有。运行 loadlibrary 我遇到了很多错误(其中输入字符无效且未知变量)。我发现 Matlab 在 Windows 系统中查找 shrlib.dll,所以我在 Internet 上找到了一个 libtiff.dll,使用它并没有任何变化。接下来我得到 Big TIFF libtiff 4.1,它有一个 libtiff.lib 并且没有再次更改。由于我是 Matlab 的新手,我只是想不出该怎么做。所以我问是否有人会帮助我。非常感谢提前和最好的问候。

PS 我将 libtiff 文件夹放在 R2012a 目录中,并将其设为当前文件夹。

0 投票
1 回答
563 浏览

c# - 使用 LibTiff 编辑现有的 TIFF 文件

有人可以分享一个如何在 C# 中使用 LibTiff 编辑现有 TIFF 图像的示例。例如,如何将右上角的当前日期添加到多页 TIFF 图像中的每一页?

0 投票
1 回答
838 浏览

imagemagick - Have problems installing imagemagick in particular with brew link libtiff

Basically I am trying to install imagemagick using brew and got the following error.

Everytime I remove one, I get the error message asking me to remove another file. I have already removed like 20 of those files and I am not sure how many more are there. Is there a easier way of doing this?

Appreciate any advice.

0 投票
2 回答
1680 浏览

android - search.h-在 Android-tiff 4.0.1 上移植 libtiff 时没有这样的文件或目录

我正在尝试在 Android 上移植 libtiff。我使用的源版本是 tiff 4.0.1。我正在 u1 android OS 中构建这个源代码。当我运行 mmm external/tiff 4.0.1/ 时出现以下错误

我尝试在互联网上搜索很多但无法解决问题。谁能给我一个大概的想法可能是什么问题或缺少哪个包。

0 投票
1 回答
1492 浏览

perl - 如何将各种尺寸的 TIFF 文件转换为页面大小为 8.5″×11″ 的统一大小的 PDF 文件而不损失质量?

目前,我正在尝试使用 Perl/ImageMagick 和/或 Ghostscript 将存储为 TIFF 的扫描文本文档转换为 8.5″×11″(ANSI A “Letter”大小)的 PDF 文件。

我已经尝试了许多调整大小的 ImageMagick 过滤器,但仍然发现一些以前完全清晰的文件现在变得难以辨认。这些图像通常为 72 dpi,当转换为 8.5″×11″ 时,最终会得到 612×792 像素。原件为1700×2200;如您所见,在重新调整大小时丢失了相当多的像素。

除了调整大小,我还应该使用其他东西吗?会不会像 ImageMagick 报告图像是 72 dpi 而实际上是 200 dpi?将图像重新采样到适合 8.5 英寸×11 英寸区域的最高 dpi 会有帮助吗?

有没有人有任何其他选择来最终创建一个所有页面都是 8.5″×11″ 的 PDF 文件?