skimage (Python) 实际如何保存图像

2023-11-27

我目前正在申请张素细化算法为了磨练一些我想稍后追踪的细丝。这需要我输出灰度图像以便使用 OpenCV 识别对象。

import matplotlib
import matplotlib.pyplot as plt
import skimage.io as io
"load image data"
Img_Original =  io.imread( './data/test1.bmp')      # Gray image, rgb images   need pre-conversion

"Convert gray images to binary images using Otsu's method"
from skimage.filter import threshold_otsu
Otsu_Threshold = threshold_otsu(Img_Original)   
BW_Original = Img_Original < Otsu_Threshold    # must set object region as 1, background region as 0 !

#...
"Apply the algorithm on images"
BW_Skeleton = zhangSuen(BW_Original)
# BW_Skeleton = BW_Original
"Display the results"
fig, ax = plt.subplots(1, 2)
ax1, ax2 = ax.ravel()
ax1.imshow(BW_Original, cmap=plt.cm.gray)
ax1.set_title('Original binary image')
ax1.axis('off')
ax2.imshow(BW_Skeleton, cmap=plt.cm.gray)
ax2.set_title('Skeleton of the image')
ax2.axis('off')
plt.show()

使用 matplotlib 绘制的图像正是我想要的(黑白)。当我使用 skimage 或 cv2 将输出图像写入文件路径时,我得到了类似的蓝色和红色图像。我唯一的问题是我无法将此蓝色/红色图像转换为灰度!所以本质上,我的输出图像是没有用的。如果这是一个微不足道的问题,请原谅我,但是是否有一个将图像写入文件路径的协议?当我使用这些工具时,我应该在图像类型(即字节、颜色/灰度、格式)方面注意什么?提前致谢!


您可以设置保存数据的颜色图,这样当您在 OpenCV 中打开图像时,它将是灰度的。

以下是一些示例数据:

data = np.random.rand(256,256)

您可以保存直接数据:

plt.imsave('test.png', data, cmap = plt.cm.gray)

或保存整个figure:

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

skimage (Python) 实际如何保存图像 的相关文章

  • 在 Celery 任务中调用 Google Cloud API 永远不会返回

    我正在尝试拨打外部电话Google Cloud Natural Language API从一个内Celery任务 使用google cloud python包裹 问题是对 API 的调用永远不会返回 挂起 celery task def g
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 打印数字时添加千位分隔符[重复]

    这个问题在这里已经有答案了 我真的不知道这个问题的 名称 所以它可能是一个不正确的标题 但问题很简单 如果我有一个数字 例如 number 23543 second 68471243 我想要它使print 像这样 23 54368 471
  • 如何将特定范围内的标量添加到 numpy 数组?

    有没有一种更简单 更节省内存的方法可以单独在 numpy 中执行以下操作 import numpy as np ar np array a l r ar c a a 0 l ar tolist a r 它可能看起来很原始 但它涉及获取给定数
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • 动态img(或视频)标签根本不加载资源,HTTP请求处于“待处理”状态

    我尝试使用以下方法在 Web 应用程序上加载资源时遇到一些问题img or videoHTML 标签 我在我的应用程序中使用 Angular 并动态设置src的参数img标签 使用ng src src 指示 没有那么多图像和资源需要加载 在
  • 当字段是数字时怎么说...在 mongodb 中匹配?

    所以我的结果中有一个名为 城市 的字段 结果已损坏 有时它是一个实际名称 有时它是一个数字 以下代码显示所有记录 db zips aggregate project city substr city 0 1 sort city 1 我需要修
  • Django 视图中的“请求”是什么

    在 Django 第一个应用程序的 Django 教程中 我们有 from django http import HttpResponse def index request return HttpResponse Hello world
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

    我的场景是 我尝试使用 python 实现从 Aws Lambda 读取 AWS 存储的 S3 word 文档 doc 和 docx 文件内容 下面的代码是我使用的 我的问题是我可以获取文件名 但无法读取内容 def lambda hand
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 制作一份 Python 文档的 PDF 文件

    Python 官方网站提供 PDF 文档下载 但它们是按章节分隔的 我下载了源代码并构建了 PDF 文档 这些文档也是单独的 PDF 我怎么能够从源代码中的 Makefile 构建一个 PDF 文件 我认为这样阅读起来会更方便 如果连接单独
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in

随机推荐

  • 如何使用 Sprite Kit 在 iOS 中创建 alpha 遮罩

    我想要达到的效果是在黑暗区域中有一个光圈 其效果类似于口袋妖怪游戏中的效果 当你处于黑暗的洞穴中并且周围的视野有限时 根据我的尝试和阅读 我无法在具有 alpha 级别的精灵套件中的节点上创建遮罩 我设法创建的蒙版都有硬边 而且基本上只是裁
  • ANTLR4:如何读取字符串中的双引号转义双引号?

    在ANTLR v4中 我们如何像VBA中那样解析这种带有双引号转义双引号的字符串 对于文本 some string with john doe in it 目标是识别字符串 some string with john doe in it 是
  • 我收到这个错误! [函数外的“return”语句]

    我正在为客户创建一个表单验证器并遇到这个奇怪的错误only在 Internet Explorer 资源管理器 7 8 中 函数外部的 return 第 1 行 字符 1 当然 第一行没有任何代码 这是一个简单的注释语句 无论如何 这并没有什
  • Java Hashmap:如何从值中获取键?

    如果我有这个价值 foo and a HashMap
  • Matlab GUI 应用程序中的软件工程和模式? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我被要求使用 Matlab 和 GUIDE 开发一个简单的 GUI 应用程序 它将与单独的后端引擎 也是 Matlab 交互 我有 Java 和 Net 背景 Matlab 文档
  • 将 google 时区转换为 .net 时区

    我正在使用这个 string url string Format https maps googleapis com maps api timezone json location 0 1 timestamp 1374868635 sens
  • 修改std::map的键

    有没有办法修改a的keystd map or 这个例子展示了如何通过重新平衡树来做到这一点 但是如果我提供一些保证密钥不需要重新平衡呢 include
  • 发送至 Apple TV 的 TcpClient 或 HttpWebRequest 在 30 秒后结束?

    我正在努力用 C 创建一个库 以使用 Airplay 协议将照片和视频发送到我的 Apple TV 特别是与第 3 代一起使用 但希望这对此无关紧要 https airlib codeplex com 根据此规范 Airplay 的所有命令
  • Maven Surefire 插件skipAfterFailureCount 配置不起作用

    当其中一个失败时 我想停止测试执行 我尝试了 pom xml 中的skipAfterFailureCount配置并且mvn Dsurefire skipAfterFailureCount 1作为命令行参数但仍然没有效果 有没有明确的方法来做
  • 如何使 SQL Developer/SQL+ 对于在单个语句中多次出现的替换变量仅提示一次?

    我有一个查询大致是这样的 select from A TABLE where A COLUMN aVariable union select from A TABLE where B COLUMN aVariable 但是当我运行它时 SQ
  • 无法访问非静态字段

    我不明白为什么它要寻找静态的东西 public class DatabaseBase private readonly string connectionString public DatabaseBase string connectio
  • ANT:使用条件标签,

    我想做这样的事情
  • 对象名称前的单下划线和双下划线的含义是什么?

    Python 中对象名称前的单下划线和双下划线代表什么 单下划线 在类中 带有前导下划线的名称向其他程序员表明该属性或方法旨在在该类内部使用 然而 隐私并不enforced以任何方式 在模块中的函数中使用前导下划线表示不应从其他地方导入它
  • 如何使用 dotnetzip 检查 zip 文件中是否存在文件

    我正在使用 dotnetzip 库创建 zip 但我不知道如何检查 zip 中是否存在文件 如果该文件存在 那么我将使用路径更新该文件 public void makezip string flname string fln flname
  • 测试是否未给出位置参数的惯用方法?

    如果没有给出位置参数 Bash 中测试最惯用的方法是什么 有很多方法可以检查这一点 我想知道是否有一种首选方法 一些方法是 check if is not true 0 is 0 is unset or null 对我来说 经典的方法是 e
  • 从 Linux 中的 C/C++ 程序发送电子邮件

    我想在每次模拟结束时向我的 Gmail 帐户发送一封电子邮件 我尝试在网上搜索并发现发电子邮件但已经超时了 如果有人能向我指出他们尝试过的包或链接 我将不胜感激 Thanks 您可以直接使用调用本地 MTApopen 并向其提供符合 RFC
  • 如何使用 SIFT/SURF 作为机器学习算法的特征?

    我正在研究自动图像注释问题 其中我试图将标签与图像相关联 为此 我尝试使用 SIFT 特征进行学习 但问题是所有的 SIFT 特征都是一组关键点 每个关键点都有一个二维数组 而且关键点的数量也很大 我的学习算法通常只接受一个 有多少个以及如
  • Angular 2:将依赖项注入@CanActivate?

    在 Angular 2 中 你可以指定一个 CanActivate组件的注释 您可以在其中确定是否应激活该组件 它不是接口的原因是因为回调在组件实例化之前被调用 问题是 我无法找到一种方法将依赖项注入到该回调中 我需要我的服务告诉我是否已登
  • 未找到 Heroku 资产 404

    我们正在处理一个问题 即我们的资产在 slug 编译期间编译时没有任何问题 然而 从昨天开始 在推送到我们的暂存和生产应用程序后 我们现在遇到了浏览器指示资产由于某种原因无法加载的问题 使用浏览器开发工具我们看到此错误 无法加载资源 服务器
  • skimage (Python) 实际如何保存图像

    我目前正在申请张素细化算法为了磨练一些我想稍后追踪的细丝 这需要我输出灰度图像以便使用 OpenCV 识别对象 import matplotlib import matplotlib pyplot as plt import skimage