问题标签 [python-imageio]

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

python-imageio - imageio(Python)上的函数 imwrite 似乎正在重新缩放图像数据

imageio (Python) 上的函数 imwrite() 似乎在保存之前重新缩放图像数据。我的图像数据的值在 [30, 255] 范围内,但是当我保存它时,它会拉伸数据,使最终图像从 [0, 255] 扩展,从而在直方图中创建“洞”以增加整体对比度。

是否有任何参数可以解决此问题并使 imwrite() 不修改数据?

谢谢

到目前为止,我将一个像素设置为 0 以防止这种情况发生:

(预测是一个包含彩色照片的 [1024, 768, 3] 数组)

0 投票
0 回答
581 浏览

python - Imageio 或 OpenCv 在更改图像阵列后保存黑色空白图像

好的,我正在尝试为我的大学项目做一些简单的图像加密,我需要做的就是将图像打开为一个 numpy 数组并通过整数键递增像素值,然后将其保存为 16 位图像,然后打开那个图像和。但是,每当我增加像素时,结果就会变成只有黑色阴影的变形图像,并且当我尝试通过执行相反的操作(使用相同的整数键减少像素)来获取原始图像时,它会导致一个完整的图像黑色空白图像。尺寸是正确的,但所有数据似乎都丢失了(尽管当我打印矩阵时,值似乎是正确的)。

我曾尝试将 Imageio 与 freeimage 插件一起使用,并打开 cv 但似乎没有任何效果。我也是菜鸟,所以我不知道我是否缺少其他东西

我只需要通过向像素值添加一个键来更改图像,这样我就可以通过反向操作将其更改回来。

0 投票
2 回答
601 浏览

python - 在 tiff 文件中写入附加图像而不擦除现有图像

我实际上正在做的是将图像保存在 tiff 文件中,使用imageio.mimwrite(). 但在我的脚本中,我多次打开和关闭文件,因此它会在保存新闻图像之前删除现有图像。我想将现有图像保留在 tiff 文件中,并且只添加新图像而不删除以前的图像。我在文档中没有找到任何可以帮助我的东西。

我实际上正在使用这个: imageio.mimwrite("example.tiff", image, format=".tiff")

image是一个包含整数数组的数组,每个数组代表一个图像。

此代码打开example.tiff、删除现有图像(如果存在)并写入新闻图像。但我想添加喜欢的东西open("file.txt", "a")

0 投票
2 回答
4278 浏览

python - RuntimeError: imageio.ffmpeg.download() 已被弃用。请改用“pip install imageio-ffmpeg”。

我正在尝试使用 Jupiter notebook从这里运行车道检测项目。我得到这个运行时错误:

错误图片

当我尝试运行此代码时:

我已经尝试安装最新版本的moviepywith conda install -c conda-forge moviepy。我也尝试用 pip 安装,但仍然是同样的错误。

0 投票
0 回答
33 浏览

python-3.x - 导入 PDF 图像以转换为文本时出错

我有一个用于转换为图像格式的 PDF 图像,因此我正在尝试读取 PDF 图像并将数据存储在文本文件中。

当我运行它时,我得到了错误can't set attribute

0 投票
1 回答
1320 浏览

python - 从图像分割中保存单个片段

我一直在使用 skimage.segmentation 模块来查找图像中的连续片段。例如,

这个图片

段很好地

分段的

我希望能够单独查看原始图像的不同区域(这样上面的图像会产生 6 个大致矩形的子图像)。我在这方面取得了一定程度的成功,但这很困难。我可以使用任何预先存在的模块来完成此操作吗?

如果没有,将不胜感激高级算法建议。

到目前为止的方法:

使用这种方法,我可以从示例图像中生成与左侧接壤的四个区域,而不会出错。虽然上面的伪代码中没有显示它,但我还在用透明像素填充片段以保持它们的形状。这种额外的考虑使得寻找右侧子图像更加困难。

0 投票
1 回答
126 浏览

python - 从 Firebase 获取图像并创建 stripe.File

我正在尝试使用该 stripe.File.create()方法将文件从 firebase 数据库传输到 Stripe。这是我正在使用的代码:

但是当我运行这段代码时,我得到:

我相信我从 firebase 获得了正确的图像,因为我可以运行以下行并将图像保存到我的本地驱动器:

但是 Stripe 似乎不喜欢我给它的文件格式。我相信该文件必须以二进制模式提供,所以也许我只需要编辑该行img = Image.open(BytesIO(response.content))即可以二进制模式获取文件。

任何反馈表示赞赏。

0 投票
1 回答
1164 浏览

keras - VOC2012:PIL Image.open 将 PNG 转换为二维数组

我正在使用 VOC2012 数据集。输入图像为 PNG 格式,当我使用 imageio 打开图像时,其形状为 (375, 500, 4)。当我使用 PIL 打开图像时,突然形状变为 (500, 375)。PNG 图像在最后一个轴上应该有四个维度:rgb 和 alpha。这是一个示例图像

图像显然是彩色图像,因此它应该具有 3 个维度(高度、宽度、深度)。PIL 似乎暗示它只有两个维度:宽度和高度。

PNG图像可以用二维数组表示吗?请帮忙!所以此刻迷失了。谢谢!


PIL似乎知道VOC2012如何标记数据也很神奇。PIL_image_to_array有一个独特的价值[0, 2, 255]。方便地,2 表示 VOC2012 中的自行车。0 表示背景,255 可能表示自行车周围的黄色边界。但是从第一个代码片段开始,我从未将 pascal 类传递给 PIL 进行转换。

0 投票
0 回答
50 浏览

python - 为什么使用 imageio 保存和加载动画 GIF 后颜色维度消失了?

从 Numpy 形状数组中保存动画 GIF(20, 64, 64, 3)并再次加载时,形状突然变为(20, 64, 64). 我认为该数组可能包含调色板的索引,但我不确定如何访问它。如何从保存的 GIF 中恢复原始数据?

0 投票
1 回答
550 浏览

python - 在 Python 中将 3D 32 位浮点数组保存为 48 位整数 PNG 以匹配 Kitti Ground Truth 格式

Kitti 有一个光流基准。他们要求流量估计为 48 位 PNG 文件,以匹配他们拥有的地面实况文件的格式。

地面真相PNG图像可在此处下载

Kitti 有一个 Matlab DevKit 用于估计与地面实况的比较。

我想将网络中的流量输出为 48 位整数 PNG 文件,以便可以将我的流量估计值与其他 Kitti 基准流量估计值进行比较。

来自网络的 numpy 缩放流文件可从此处下载

但是,我无法在 python 中将 float32 3D 数组流转换为 3 通道 48 位文件(每通道 16 位),因为图像库提供程序似乎不支持这一点,或者因为我做错了什么我的代码。任何人都可以帮忙吗?

我尝试了很多不同的库并阅读了很多帖子。

不幸的是,Scipy 输出了一个只有 24 位的 png。使用 scipy 生成的输出流估计 png可在此处获得

我想获得一个与 Kitti Ground Truth 相同的 48 位 png 文件,看起来是绿色的。目前 Scipy 输出一个 24 位的 png 文件,看起来是蓝白色的。