问题标签 [freeimage]

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 回答
555 浏览

.net - 无法使用 FreeImage .NET 包装器读取 JP2 文件

我正在尝试使用 FreeImage 接受的这个问题的答案来读取和转换 JP2 图像,但得到一个 0 字节的 JOEG 文件。当我走过时,我看到那条线

在 dib 中返回 0。有什么我想念的吗。

0 投票
1 回答
1591 浏览

c# - 在 FreeImage 中更改图像分辨率

我使用 FreeImage 打开一个多页 TIFF 文件并锁定特定页面。之后,我使用以下代码更改页面的图像分辨率:

在此之后,我想将页面导出为 JPEG,如下所示:

但是,在此之后,我保存的文件中总是有 72x72 的分辨率。我错过了什么?

0 投票
2 回答
2014 浏览

c# - FreeImage 中的透明度

我正在使用 FreeImage C# 包装器成功地将具有透明背景的 24 位 PNG 图像转换为 4 位 PNG 图像。但是,4 位图像的背景变为黑色而不是透明。这是代码。有任何想法吗?

FIBITMAP dib = FreeImageAPI.FreeImage.LoadEx("C:\title_normal.png"); FreeImage.SetTransparent(dib, true); FreeImage.SaveEx(ref dib, "C:\title_normal.png", FREE_IMAGE_FORMAT.FIF_PNG, FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION, FREE_IMAGE_COLOR_DEPTH.FICD_04_BPP, true);

0 投票
1 回答
1809 浏览

image - FreeImage 便携式浮动地图 (PFM) RGB 通道顺序

我目前正在使用 FreeImage 将 PFM 加载到一个使用 IplImages(OpenCV 的旧数据类型)的程序中。这是我正在做的一个示例(忽略有关 img 是 Mats 数组的部分,这与其他一些代码有关)。

奇怪的是,如果我使用 FreeImage 来加载 JPEG,而不是将 FIF_PFM 更改为 FIF_JPEG 并将 CV_32FC3 更改为 CV_8U,这可以正常工作,即复制的图片保持不变。这让我认为 OpenCV 和 FreeImage 普遍同意 RGB 通道的顺序,并且问题与 PFM 以及它们是非标准化格式有关。

我正在加载的 PFM 是用这段代码编写的(在“局部直方图均衡”下),它似乎以 RGB 顺序编写它们,尽管我可能错了。它只是从 MATLAB 3D 双精度矩阵中获取数据,并使用 fwrite 将其转储到文件中。此外,如果我修改该代码以编写 PPM,然后在 IrfanView 中查看它们,它们看起来是正确的。

所以,这让我认为 FreeImage 正在将文件数据作为 BGR 排序在磁盘上,它不是,也不应该是。

有什么想法吗?FreeImage 对 PFM 的读取是否存在错误,或者这里是否发生了更微妙的事情?谢谢。

0 投票
3 回答
2035 浏览

opencv - 将 OpenCV IplImage 或 Mat 复制到 Freeimage FIBITMAP

我需要在 FreeImage (FIBITMAP) 和 OpenCV 格式(IplImage 和/或 Mat)之间交换数据。我可以将数据从 FIBITMAP 获取到 IplImage 或 Mat 中,因为 FreeImage 为您提供了一个函数 FreeImage_GetScanLine,您可以将 OPenCV imageData ptr 设置为等于该函数。

但是,我被困在如何做相反的事情上,即一旦我有了 OpenCV 图像,我如何将其数据转换为 FreeImage 图像?

0 投票
2 回答
2391 浏览

c# - 帮助使用 JPEG 压缩更改 TIFF 文件中的 DPI

我有一个来自扫描仪的Tiff文件。它的分辨率为300 dpi。但后来我需要将其更改为不同的值,例如100

在不丢失初始压缩和颜色深度的情况下,最好的方法是什么?

我已经尝试使用 . 打开TiffBitmap.FromFile()但我得到了OutOfMemoryException,也使用了 FreeImage 库,但是在这里,如果 Tiff 是灰度的,它总是使用LZW压缩而不是JPEG。我知道 LZW 更好,但JPEG对我来说是强制性的。

0 投票
1 回答
1454 浏览

tiff - 如何在 FreeImage 中找出 TIFF 图像的压缩率?

我使用 FreeImage 处理多页 TIFF 文件,并且在某些时候我有一个 TIFF 页面,FIBITMAP我需要知道它的压缩。知道怎么做吗?

0 投票
1 回答
12628 浏览

android - 使用 FreeImage 时 Android NDK 链接器错误“未定义对 std::ios_base 的引用”

我正在尝试针对 Android NDK 的 libfreeimage.a 的开放框架构建静态链接(使用本机活动示例作为模板)。

当我编译和链接我的项目时,我得到了很多链接器错误:

../../../lib/ndk/armeabi-v7a/libfreeimage.a(ImfTimeCodeAttribute.o): In function global constructors keyed to ImfTimeCodeAttribute.cpp': ImfTimeCodeAttribute.cpp:(.text+0x28): undefined reference tostd::ios_base::Init::Init()'

我相信这是一个范围界定问题,可以通过向代码添加命名空间或在 gcc 上使用 g++ 来解决。我认为 -lstdc++ 会解决问题,但它没有。

任何帮助将不胜感激。

安卓.mk:

0 投票
1 回答
4582 浏览

dll - 在 cmake 构建中使用外部 DLL

我正在为我的项目编写 cmake 脚本,但遇到了一个问题:

我的项目使用第 3 方库 (FreeImage),它有自己的基于 Makefile 的构建系统。我可以通过简单地运行“make”(我正在使用 gnuwin32)来构建 FreeImage,这将使用 MinGW 构建 FreeImage 并产生:

现在我的问题是双重的:

  1. 我想从我的 cmake 脚本中执行“make”。
  2. 我想链接到导入库(FreeImage.lib),并确保将 DLL 复制到正确的位置,以便 EXE 运行。

我知道如何链接到 LIB 文件,但我迷失了其余部分。

文件夹结构是这样的:

顺便说一句:我在 Windows 7 上运行。我计划使用 MSVC 和 MinGW 构建我的项目。

谢谢!

编辑:我现在正尝试像这样使用 ExternalProject_Add:

这让我成为了那里的一部分,但并不完全奏效......它试图为我配置东西并尝试使用nmake......呃

0 投票
1 回答
157 浏览

c++ - 我什至没有使用的openframworks代码中的运行时错误

我正在使用openFrameworks中的Aubio库开始一个项目,因此我将代码从 Aubio 演示、修改等复制到我的项目中。Aubio 功能很好,但类似的功能却没有。事实上,它在所有东西的freeImage库中给了我一个 EXC_BAD_ACCESS 错误——我根本没有在我的项目中的任何地方引用它。(FreeImage 内置在 openFrameworks 中,是的,但除此之外我不会靠近它)new_aubio_pitchdetection()new_aubio_onset()

错误将我带到文件ofImage.cpp并说:

//这是他们需要调色的灰度图像:http: //sourceforge.net/forum/message.php ?msg_id=2856879

我对内存管理上下文中的 EXC_BAD_ACCESS 很熟悉,但这看起来可能存在命名空间问题?我发现这个函数如何在如此遥远的(并且应该是非活动的)代码中导致错误让我的小脑袋完全感到困惑。

当然,我可以发布代码示例,但这似乎是一个比片段更基本的问题。