通过 skimage.io.imread 读取的图像形状可疑

2024-02-24

我正在尝试使用 skimage.io.imread 读取 RGB 图像。但看完图片后发现图片形状不对,print(img.shape)表明 图像形状是(2,)。显示问题的完整代码是:

from skimage import io
img = io.imread(path/to/the/image)
print(img.shape)

我还尝试使用opencv的python包读取图像,返回的形状是正确的(高度*宽度*3)。

使用的skimage版本是0.12.3,有人可以解释一下我使用该包的方式有什么问题吗?或者这真的是一个错误吗?

Click the link for the test image

Edit1

测试图片上传时有改动,未改动的版本为here https://github.com/csucat/markdown_photos/blob/master/156.jpg。我也开了an issue https://github.com/scikit-image/scikit-image/issues/2406在 skimage github repo 上,结果发现测试图像是 双帧图像,但第二帧是空的。你可以考虑这张图 “损坏”的图像。

为了读取正确的图像,您可以使用此解决方法,img = io.imread(/path/to/the/image, img_num=0).


您可以通过强制执行来解决此问题skimage.io.imread() to use 绘图库:

In [131]: from skimage import io

In [132]: img = io.imread('156.jpg', plugin='matplotlib')

In [133]: img.shape
Out[133]: (978L, 2000L, 3L)

您的图像可能是多对象 JPG。如果您尝试使用以下方式阅读它PIL(这是默认插件)你会得到一个由两个对象组成的 NumPy 数组。第一个对象是图像本身,第二个对象可能是缩略图,但 PIL 无法正确处理它:

In [157]: img = io.imread('156.jpg', plugin='pil')

In [158]: img.dtype
Out[158]: dtype('O')

In [159]: img.shape
Out[159]: (2L,)

In [160]: img[0].shape
Out[160]: (978L, 2000L, 3L)

In [161]: img[1]
Out[161]: array(<PIL.MpoImagePlugin.MpoImageFile image mode=RGB size=2000x978 at 0x111DBCF8>, dtype=object)

看一眼这个线程 https://github.com/scikit-image/scikit-image/issues/2154了解有关此问题的更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 skimage.io.imread 读取的图像形状可疑 的相关文章

  • 下载 PyQt6 的 Qt Designer 并使用 pyuic6 将 .ui 文件转换为 .py 文件

    如何下载 PyQt6 的 QtDesigner 如果没有适用于 PyQt6 的 QtDesigner 我也可以使用 PyQt5 的 QtDesigner 但是如何将此 ui 文件转换为使用 PyQt6 库而不是 PyQt5 的 py 文件
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 检查所有值是否作为字典中的键存在

    我有一个值列表和一本字典 我想确保列表中的每个值都作为字典中的键存在 目前我正在使用两组来确定字典中是否存在任何值 unmapped set foo set bar keys 有没有更Pythonic的方法来测试这个 感觉有点像黑客 您的方
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 您可以在 Python 类型注释中指定方差吗?

    你能发现下面代码中的错误吗 米皮不能 from typing import Dict Any def add items d Dict str Any gt None d foo 5 d Dict str str add items d f
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • 为什么 PDWord 不是 ^DWORD?

    这个节目 APPTYPE CONSOLE TYPEDADDRESS ON uses Winapi Windows procedure Foo P PDWORD begin end procedure Bar var dw DWORD beg
  • 如何设置带有红色边框的必填编辑字段?

    我想要一些字段 当它们不被填充时 它们将是红色的并且需要填充 在帖子完成之前 这是我想要实现的目标的屏幕截图 我会添加一个TShape 它可以在编辑框周围画一条红线 如果您希望红色边框替换正常的 TEdit 边框 您可以修改编辑控件的属性
  • 部分和模板的复杂嵌套

    我的问题涉及如何处理复杂的嵌套模板 也叫partials 在 AngularJS 应用程序中 描述我的情况的最佳方式是用我创建的图像 正如您所看到的 这有可能成为一个相当复杂的应用程序 具有大量嵌套模型 该应用程序是单页的 因此它加载一个索
  • 开发过程中如何避免“死亡交换”?

    可能每个人在开发过程中都至少遇到过一次这个问题 while some condition here that somehow never will be false yourvector push back new SomeType 正如您
  • 滑动即可更改视图

    下面的代码容易写吗 我有一个表格视图 当用户选择一个单元格时 会加载详细视图 我希望允许用户通过向左和向右滑动来导航代表表格视图中项目的项目 详细视图 其工作方式与例如iPhone 的主屏幕 例如 滑动时 一页移出屏幕 然后出现下一页 我已
  • 解析 Boost program_options 中配置文件的未注册选项?

    使用命令行选项 我可以执行以下操作 po variables map vm auto parsedOptions po command line parser argc argv options optionsDescription1 al
  • 导入 React、{Component} 而不仅仅是 React 有什么好处?

    写作的最大好处是什么 import React Component from react class Link extends Component 代替 import React from react class Link extends
  • 在 Linux Mint 17.3 上安装 python 3.5

    我对 Linux 很陌生 想使用 python 因为它是我在学校学习的语言 我在网上查了一下我当前的版本是 2 7 这对我来说没有好处 因为我正在学习 python 3 但是 我听说更改系统 python 版本可能会非常糟糕 所以我不知道该
  • 如何与 UIActivityViewController 共享文本文件

    我尝试共享文件内容的 NSData 对象 活动视图中出现邮件选项 然后显示邮件撰写控制器 但没有附件 我尝试过与文件路径共享 NSUrl 但在这种情况下 当活动视图出现时 它会占据整个屏幕 但除了底部的 取消 按钮之外 它是空白的 诡异的
  • 使用 Ansible 停止可能不存在的服务

    我正在使用 Ansible2 6 1 我试图确保某些服务没有在目标主机上运行 问题是该服务可能在某些主机上根本不存在 如果是这种情况 Ansible 将因缺少服务而失败并出现错误 服务由Systemd 使用服务模块 name Stop se
  • 如何将 PDF 转换为文本,以便可以使用 PHP 解析该文本?

    我的 PDF 大多是简单格式的文本 我想用 PHP 解析文本 我意识到 PDF 是二进制的 因此我需要一个实用程序或库将其转换为文本 有什么建议吗 第三方软件可以转储PDF文件的文本内容 例如 xdoc2txt 仅限 Windows 在 W
  • 如何在 Angular 5 中实现无限滚动分页?

    我需要在 Angular 5 中实现无限滚动分页 我尝试过无限滚动 但它无法正常工作 我需要显示前 10 条帖子及其评论 滚动后这 10 条评论需要再次调用服务 10 条帖子 并将数据附加到现有帖子中 您可以使用ngx 无限滚动 npm i
  • 方法指针转换

    我正在为教育目的编写一个代表类 但遇到了一个小问题 委托不仅必须能够调用函数 还必须能够调用对象的成员方法 这意味着我需要存储指向方法的指针 void classname methodPtr 我需要存储指向不同类和不同参数列表的方法的指针
  • 未找到以下 ICU 库: -- i18n(必需)

    我必须构建 miktex 源代码 我从 github 安装源代码 他们给了我构建它的链接 https miktex org howto build mac https miktex org howto build mac 我按照链接中给出的
  • FancyBox 根本不工作

    我在运行 fancybox 时遇到问题 我也在运行其他一些 jquery 以下是正在运行的脚本
  • 使用 Tortoise SVN 跨 SVN 存储库移动目录

    如果两个目录都在同一个 SVN 存储库中 如何将子目录从一个目录移动到另一个目录 我正在使用乌龟SVN 选择要移动的文件夹 文件 然后右键单击它们并将它们拖动到要移动的位置 菜单将出现一个选项 SVN 将版本控制文件移至此处 正如所澄清的p
  • Android - 使用 jarsigner 签署我的 apk 时出错

    我制作了一个这样的密钥文件 C Users Alex gt keytool genkey v keystore alexkey keystore alias alexkey keyalg RSA keysize 2048 validity
  • 使用 MVEL 有什么优势?

    我正在学习jBPM引擎 我注意到它在流程设计中默认使用MVEL方言 那么问题来了 使用MVEL代替纯Java有什么优势呢 如果我开始用 Java 编写更复杂的流程 是否会遇到麻烦 jBPM 文档写道 请注意 MVEL 接受任何有效的 Jav
  • 如何将订单项自定义字段值从机会传递到销售订单?

    我在机会产品选项卡中有一个自定义行号字段 供客户对所选产品重新排序 并且网格按自定义字段值排序 我试图将机会的价值传递给也具有类似字段的销售订单 我尝试过以下代码但它不起作用 PXGraph InstanceCreated AddHandl
  • 通过 skimage.io.imread 读取的图像形状可疑

    我正在尝试使用 skimage io imread 读取 RGB 图像 但看完图片后发现图片形状不对 print img shape 表明 图像形状是 2 显示问题的完整代码是 from skimage import io img io i