问题标签 [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.
debugging - 检测/调试/查看可能损坏的 Tiff/BigTiff 文件
我收到了一个 BigTiff 文件,其中包含无法使用 ImageJ/Fiji 正确读取的科学数据。LibTiff 和 StripOffsets 标签似乎有问题。
我发现的唯一选择是直接使用 LibTiff(可能很糟糕,如果我不确定问题是否由 LibTiff 本身引起)和 ImageJ/Fiji。
有没有办法对提供的数据进行“更高级别”的访问(即没有十六进制编辑器)?例如。一些库或工具来“调试”文件并即时更改属性?
ios - TIFFOpen 在 ios 中总是返回 NULL
我正在尝试使用 Libtiff 创建 TIFF 图像。我无法弄清楚文件无法打开的原因。任何人有任何想法?
编辑 1
任何帮助将不胜感激。谢谢
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。所以,它有效,但我无法复制该实现。
_TIFFVGetField
TIFFWriteNormalTag
最终从in调用tif_dirwrite.c
。相关代码是这样的:
因此,声明了一个未初始化的指针lp
并将其地址传递给TIFFGetField
. 这反过来设置了 va_list(withlp
作为唯一的参数)和调用TIFFVGetField
,它_TIFFVGetField
使用提供的va_list
和指向未初始化指针的指针进行调用。
这里有两个问题。
首先,这是库提取数据的方式(我的代码,但同样遵循已经存在的模式)
这似乎不正确。它将原始指针设置为 int 的值。我推断,也许,在我遵循的示例 (TIFFTAG_YCBCRSUBSAMPLING) 中,这些整数实际上是地址。好吧,但即使是这样,但还有另一个问题。
库调用va_args
N
时间,其中N
是数组中元素的数量。从我看到的变量参数列表中只包含一个参数(指针的地址)。根据标准,这是未定义的行为(开头很重要):
如果没有实际的下一个参数,或者类型与实际的下一个参数的类型不兼容(根据默认参数提升),则行为未定义。
正确的版本是
这会将先前未初始化的指针设置为有效的数组。我不喜欢它指向数据本身而不是副本,但无论如何;至少它不会崩溃并给我正确的结果。
我在这里担心的是我错过了一些微妙的东西。这个软件很老,很多人都在用。因此,将其称为错误对我来说就像将崩溃归咎于编译器,这几乎总是错误的。
但是,我无法推断出一种正确的方式,特别是库如何写入va_arg
多次调用时返回的内容。
任何帮助将不胜感激。提前致谢。
objective-c - 如何使用元数据生成 tiff 文件
我必须生成一个包含许多图像和元数据的 tiff 文件。我发现可以在 这里将 png 或 jpg 转换为 tiff :但是如何添加元数据?iOS 版 ImageMagic 可以吗?谢谢
编辑:最后我在iphone上安装了ImageMagick,但我没有找到如何用magickwand创建多页tiff ....也可以直接使用libtiff:我找到了如何在c代码中创建一个空的简单页面
那么有没有关于如何在创建的 tiff 文件中插入图像数据的 c 教程?以及如何创建多页 tiff ?谢谢
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 目录中,并将其设为当前文件夹。
c# - 使用 LibTiff 编辑现有的 TIFF 文件
有人可以分享一个如何在 C# 中使用 LibTiff 编辑现有 TIFF 图像的示例。例如,如何将右上角的当前日期添加到多页 TIFF 图像中的每一页?
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.
android - search.h-在 Android-tiff 4.0.1 上移植 libtiff 时没有这样的文件或目录
我正在尝试在 Android 上移植 libtiff。我使用的源版本是 tiff 4.0.1。我正在 u1 android OS 中构建这个源代码。当我运行 mmm external/tiff 4.0.1/ 时出现以下错误
我尝试在互联网上搜索很多但无法解决问题。谁能给我一个大概的想法可能是什么问题或缺少哪个包。
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 文件?