问题标签 [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 回答
2623 浏览

c# - LibTiff.Net 彩色图像转换

我正在使用 Bit Miracle LibTiff.Net。

我找不到任何示例代码来获取 32bpp ARGB 彩色图像并使用此库将位图写入 TIFF。

有没有其他人尝试过这个?

这是我的示例代码。它会生成一个文件,但我拥有的任何软件都无法查看它。

编辑:代码现在可以工作,但颜色是错误的!

谢谢

0 投票
3 回答
15207 浏览

c++ - C++ LibTiff - 从内存读取和保存文件

LibTiff 中有没有办法从内存中读取文件并将其保存到内存中?

我不想先将图像保存到光盘,然后再用其他库打开它...

非常感谢!

0 投票
1 回答
10980 浏览

c++ - 在 Visual Studio 2010 中使用 LibTiff

我正在尝试在 Visual Studio 2010 的 C++ 程序中使用 LibTiff。我从ftp://ftp.remotesensing.org/pub/libtiff下载了 tiff-3.9.2.zip 。要测试 LibTiff,如果有人可以逐步指导我如何将 libtiff 导入到 Visual Studio 并构建 Fax2Tiff 工具,那就太好了。

文件太多了,我完全糊涂了。

我已经做了什么:

1) 新建一个名为“TiffTest”的空 Win32 控制台应用程序项目

2) 将文件夹“libtiff”从 tiff-3.9.2.zip 复制到项目文件夹

3) 将文件“fax2tiff.c”复制到项目文件夹

4) 将这些文件添加到项目中

替代文字替代文字

5) 将“libtiff”过滤器添加到附加的包含文件夹中

6) 将文件“tif_config.vc.h”和“tiffconf.vc.h”重命名为“tif_config.h”和“tiffconf.h”

7)试图编译它。

这真的行不通。我为摆脱错误消息所做的一切都会导致新的错误消息。谁能告诉我如何让 libtiff 工作?

我真的需要帮助...

非常感谢!

0 投票
1 回答
3392 浏览

c++ - Libtiff:如何获取像素值或如何将 TIFF 文件转换为文本文件

我试图让 libtiff 使用TIFFReadScanline(tif, buf, row)方法读取由一条大约 500x500 32 位像素组成的 tiff 文件。这给了我 tdata_t (??) 行。

如何将此缓冲区写为文本文件或访问像素值(应该是双精度值)?

我的代码如下所示:

在最后一行中,我尝试将整个缓冲区写出到一个文本文件中,但是没有双精度值,只有十六进制值。当我用 char 缓冲区替换 tdata_t 缓冲区时,会出现 ASCII 符号乱码。我想我应该将 tdata_t 缓冲区转换为 double 或 char 缓冲区,但如何?

它不应该是字节顺序,因为我认为 libtiff 会自动处理它。

欢迎任何建议!谢谢帮忙,祝大家周末愉快!

0 投票
1 回答
3927 浏览

.net - 从多页 TIFF 文件中删除/删除页面

我需要从多页 TIFF 文件中删除一个页面。我目前在 .NET 中工作,但如果有人知道如何用该语言进行操作,我可以迁移到另一种语言。

该页面可以是倒数第二页,也可以是文件中的最后一页。而且我需要在不解压缩文件中的先前页面的情况下执行此操作,因此不要创建新的 TIFF 并复制我仍然想要的所有页面。

我已经有执行此操作的代码,但是由于我正在使用的 TIFF 文件大约 1.0 gb - 3.0 gb 被高度压缩,这非常耗时。如果我可以删除我想要的文件部分而不创建一个速度更快的新文件。

与文件的其余部分相比,我需要删除的页面非常小,可能在也可能不在它之后的页面也是如此,大约 500*500 像素。

我尝试过的,我尝试过 LibTiff.Net 库,在这里找到

http://bitmiracle.com/libtiff/

在搞砸了一段时间后,我向开发人员询问了我的问题,他们说目前不支持这样做。我也稍微研究了 ImageMagick,但我也无法弄清楚如何在那里做到这一点。

有人在这里有任何有用的想法吗?

0 投票
2 回答
1061 浏览

linux - 在 Linux 上编译 libtiff 4.0 beta 时遇到问题

我正在尝试使用 gcc 将 libtiff 4.0 beta 编译为 Ubuntu 10.10 上的静态库。似乎可以很好地编译 libjpeg 和 libz,它们是依赖项。这是我得到的错误

关于如何解决这个问题的任何想法?

0 投票
1 回答
489 浏览

image-processing - 将 JPEG-In-Tiff 转换为普通 TIff

我有一个目录结构,其中包含 300 个演出的 Tiff 图像。一些编码为 Jpeg-in-Tiff,另一些编码为“Group 4 传真编码”。我需要将 all 的格式更改为后者,而不会丢失我的文件夹结构。

有人有想法么?

0 投票
3 回答
18540 浏览

c - 如何在 libtiff 中简单地加载灰度 tiff 并获得像素强度数组?

我正在尝试更多地理解图像,但遇到了很多麻烦。通过使用 matlab,我有使用 imread('test.tif') 的经验,并获得了一个漂亮的行与列矩阵,其中每个像素的强度为整数。因此,一个 720 x 250 的图像将给出一个 720 x 250 的矩阵,其中每个单元格包含像素的强度,范围为 0-255(取决于数据类型)。所以,0 是黑色,255 是白色。

这很简单,也很有意义。现在我正在尝试使用 libtiff,我真的很挣扎。我想做同样的事情——访问那些像素,但我就是做不到。

我有以下代码:

但是我得到了完全没有意义的结果——完全是数字。与我在 matlab 中加载图像时看到的数字完全不同。

我怎样才能简单地访问像素值并查看它们?

非常感谢。

0 投票
0 回答
284 浏览

c - 使用各种回调函数/事件侦听器自定义 LibTIFF

通过阅读 LibTIFF 源代码,在我看来,自定义 LibTIFF 的主要方法是定义新标签并实现新编解码器。此外,由于 LibTIFF 是开源的并且具有自由许可证,因此需要出于各种目的对其进行调整的用户可以直接对其进行修改。

但是,有一种自定义似乎不适合这两种扩展方法:我想安装各种事件侦听器(回调函数),以便我可以检测现有编解码器内部发生的各种情况。

示例 #1:我希望能够替换 LibTIFF 的错误/警告消息处理程序,以便它是线程安全的,并将消息发送到调用者设置的回调函数。

示例 #2:一些 TIFF 图像可能缺少一些标签,而 LibTIFF 试图通过猜测它们的值来弥补它们。有时某些标签显然是错误的,LibTIFF 会尝试更正它们。但是,我希望有一个回调函数,只要 LibTIFF 更改标签的值,它就会收到通知,以便我可以记录它并生成有关图像符合标准的报告。

示例 #3:我需要将多页 TIFF 的几页连接在一起。这些页面具有相同的尺寸和压缩参数。如果我可以访问压缩数据,那么我可以通过将压缩数据逐字复制到新 TIFF 图像的条带中来更有效地执行此操作。

向 LibTIFF 添加回调函数/事件侦听器的推荐方法是什么,而不会使其架构复杂化?

0 投票
1 回答
738 浏览

macos - 使用 Snow Leopard 的 C 的 libtiff。不知道 TIFF 的存储大小

我刚刚在运行 Snow Leopard 的 Mac 计算机上构建并安装了 tiff-4.0.0beta6。我按照http://www.kyngchaos.com/macosx/build/libtiff上的教程进行操作。安装顺利,但 TIFF 数据类型存在问题。

例如,当我编译以下简单代码时:

我收到错误消息:

当我编译代码时:

我得到编译错误:

对此的任何建议将不胜感激。

谢谢。