问题标签 [mahotas]

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 投票
0 回答
106 浏览

python-2.7 - 如何编写大量的多页 TIFF 文件?

大家好,Python 初学者。我尝试使用 Mahotas 库(Python 2.7)中 freeimage 包的“freeimage.write_multipage()”函数将一个巨大的原始视频数据文件转换为多个多页 TIFF 文件。不幸的是,这个“非常易于使用”的功能似乎在运行脚本时并没有释放内存。因此,我的脚本适用于小型输入原始文件(小于 1 GB)但会因较大文件而崩溃(3 GB 输入文件会因 Win XP pro 32 - ram 3.2 GB 而崩溃)。我的目标是将输入文件转换为 1.5 TB。

运行我的脚本时,Windows 任务管理器显示使用的内存增加,输出文件后输出文件,直到崩溃释放所有使用的内存。报告错误的摘录是:“... RuntimeError : mahotas.freeimage: FreeImage 错误:内存分配失败...”

从 Stackoverflow,我看到了使用 Image Magic 或 Irfanview 中的脚本构建多页 TIFF 文件的不同建议,但我认为这不可能满足我的需求(我有数千张图片要组装)。感谢您的任何帮助。

0 投票
2 回答
602 浏览

3d - 神经数据的 3D 图像分割和跟踪算法

我正在尝试实现来自荧光成像的神经元/轴突数据的 3D 分割和跟踪算法。我研究了分水岭算法、活动轮廓、OTSU 阈值,但无法决定采用哪种算法。此外,在不同帧之间进行跟踪的最佳方法是什么,特别是因为这些细胞体移动,有时甚至相互重叠?

我将使用 python 库来做到这一点。我正在考虑使用 Mahotas 来实现,因为它具有高效的 C++ 实现。此外,我将使用 vispy 进行可视化。非常感谢!

0 投票
0 回答
831 浏览

python - 如何使用安装工具在 linux 上安装 python lib mahotas

我想在运行 rasbian(Debian 的特殊版本)的 Raspberry Pi 2 上安装 python 库 Mahotas。但是,当我尝试使用时,sudo apt-get install python-mahotas我收到一条错误消息,指出该库不存在。

然后我通过 GUI 中的浏览器下载了 mahotas,希望它能以这种方式工作。我将 zip 文件解压缩home/pi/Downloads/mahotas-1.4.0/并运行python setup.py install它现在返回一个错误,说它需要安装工具才能正确安装。

在互联网上进行了一些研究后,我安装了那些安装工具,使用sudo apt-get install python-setuptools,现在在目录中/usr/lib/python2.7/dist-packages/。mahotas 目录中的 Setup.py 仍然说我需要安装工具,所以我将安装工具文件夹复制到 mahotas 目录中,认为将它们放在同一目录中可能会解决问题。它没。

我用谷歌搜索了很多,但我无法解决问题。有谁知道我尝试安装 mahotas 的问题是什么?我是 linux 新手,所以它可能很简单,但我找不到任何解决方案。

更新 31-08:

我已经尝试了 Dave 在评论中建议的方法,但经过一些尝试后仍然没有用。第一个命令返回了一堆 404 的 . 起初我认为它仍然可以工作的原因是因为我的互联网做了一些奇怪的事情,有时会出错。我后来发现这里不是这种情况。

还有其他人有解决方案吗?

0 投票
2 回答
5541 浏览

python - 使用mahotas和opencv基于Zernike矩的图像重建

我在本教程之后听说了 mahotas ,希望在 python 中找到 Zernike 多项式的良好实现。这再简单不过了。但是,我需要比较原始图像和从 Zernike 矩重建的图像之间的欧几里得差异。我mahotas 的作者是否可以将重建功能添加到他的库中,但他没有时间构建它。

如何使用 mahotas 提供的 Zernike 矩在 OpenCV 中重建图像?

0 投票
1 回答
620 浏览

python - 细胞分割

我是计算机视觉的新手。我的目标是区分一组图片上的单个单元格,如下所示:示例

基本上,我模糊整个图像,在其上找到最大区域,并像种子一样在分水岭算法中对三分模糊图像的距离变换使用它。事实上,我正在关注你可以在这里找到的教程:

github/luispedro/python-image-tutorial

(对不起,不能发布超过 2 个链接)。

我的问题是我的集合中的一些细胞有非常明显的暗核(你可以在例子中看到),我的算法产生这样的结果,显然是错误的。

当然,可以通过增加高斯模糊的强度来修复它,但它会将其他一些单元格合并在一起,这会更糟。

可以做些什么来解决这个问题?如果分水岭不适用于这种情况(请记住,我的集合非常小并且学习似乎不可能),还有哪些其他可能性?

0 投票
1 回答
248 浏览

python - 计算使用 Mahotas 正确检测到的区域的像素

我正在使用附加的算法,目的是测量代码识别的区域的像素数量:

问题是背景的面积越大,检测到的像素数越多,考虑到所有点在不同图像中的像素数相同。这是由于以下行:

但是,这不应该发生,因为我需要的是这些区域是具有背景的区域的完全独立测量。

附上不同大小但相同的200x200像素方点的脚本和图像作为示例。

结果:

  • 图片 100x100.png 打印尺寸 = 1012 像素
  • 图像 200x 200.png 打印尺寸 = 1292 像素
  • 图片 76x66.png 打印尺寸 = 848 像素

但是,每个人都应该平等或相似

0 投票
2 回答
2995 浏览

python - 使用边缘检测和 scikit-image 在 Python 中去除背景/遮罩

我想从源 RAW 图像创建两个图像,在这种情况下是 Canon CR2。我已经对 RAW 转换进行了排序和一些处理。我的最终图像需要是带有 alpha 蒙版的 PNG 和 95% 质量的 JPG,其中 alpha 区域用黑色填充。我在这里设置了一个测试图像,显示了我在检测主题方面取得的进展:

http://imgur.com/a/Q8k3w/all

所以基本上,如您所见,我想将主题与灰色背景隔离开来。我还想尽可能多地屏蔽掉灰色背景上的任何阴影,最好是完全屏蔽掉。我正在使用我编写的 Python2 脚本,到目前为止主要是 scikit-image。如果需要,我会换成另一个 Python 兼容的图像处理库。此外,我需要在内存中执行所有步骤,以便在使用 PNG 和 JPG 进行所有图像处理结束时只保存一次。所以没有 subprocess.Popen 等。

您将从示例图像中看到,至少我认为我已经找到了解决方案。对于您在示例中看到的图像,我使用了 scikit-image 及其 Canny 边缘算法。

我现在需要做的是弄清楚如何用白色填充 Canny 图像中的主题,以便获得合适的纯白色蒙版。在我的大多数示例图像中,应用 Canny 过滤器后,似乎可以对主体本身进行良好的边缘检测,通常具有主要的完整边界。但是,我猜我将来可能会得到一些不会发生这种情况的图像,并且主要边界可能会有小中断。如果它看起来会成为以后处理步骤的问题,我需要处理这种情况。

另外,我想知道是否需要将整体边框增加一个像素并将其设置为与我的 0,0 像素相同的颜色(即背景中的第一个像素顶部/左侧),然后运行我的 Canny 过滤器,然后缩小我的再次边框1px?这应该允许检测到底部边缘以及主体何时打破框架的顶部或侧面?

所以真的,我只是在寻找建议,想知道下一步该去哪里买一个漂亮的固体面具。它需要保持二进制作为二进制掩码,(即主体之外的所有内容都需要完全掩码为 0)。这意味着我需要运行一些东西,在某个时候寻找低于某个像素体积的孤立像素岛——可能是最后一步,并将它们添加到蒙版(例如 50px 左右)。

此外,总体而言,经验法则是,如果主体的一点点被蒙版而不是更少的背景被蒙版(即我希望所有或尽可能多的背景/阴影区域被蒙版),效果会更好。 )

我已经尝试了一些东西,但还没有达到目标。我在想一些类似于 sci_kit 中 find_contours 的东西可能会有所帮助。但是我不能从 scikit-image 示例中完全看到我将如何选择然后将检测到的轮廓变成蒙版。我今天花了很多时间进行实验但没有成功,所以我想我会在这里问一下,看看是否有人有更好的想法。

这是一种看起来很有前途的基于 OpenCV 的方法:

http://funcvis.org/blog/?p=44

如果可能的话,我想坚持使用 scikit-image 或其他一些可互换的 Python numty 图像库。但是,如果使用 OpenCV 或其他库更容易、更快捷,那么只要我能坚持使用 Python,我就会对想法持开放态度。

还值得记住的是,对于我的应用程序,我将始终拥有没有主题的背景图像。所以也许我应该走这条路。问题是我认为简单的差异方法不能很好地处理阴影。在我看来,在某些时候需要某种边缘检测才能获得更好的掩蔽方法。

1“来源 1”

2“来源 2”

3“来源 3”

1“结果 1”

2“结果 2”

3“结果 3”

0 投票
2 回答
1216 浏览

python - 无法安装mahotas,安装python-dev也没有修复错误

我正在阅读一本教科书,其中一个示例需要 Python 的 mahotas。我立即尝试使用 pip 安装它,并立即收到此错误:

现在,在查找了其他错误之后#include <Python.h>error: command 'x86_64-linux-gnu-gcc我一直被告知要安装python-dev. 不幸的是,这也立即失败了,因为python-dev已经是最新版本了,python3-dev我明白了:

当我尝试安装这些?

A:

接着:

乙:

这是一个兔子洞。我怎么能逃脱?

0 投票
1 回答
309 浏览

python - 计算机视觉:细胞计数时如何去除碎片?

我正在尝试使用 python 来计算图像中的一些单元格。我或多或少地遵循这里的教程。在阈值步骤之后,我找到区域最大值并计算它们。这对于计数细胞核非常有效,但是有一些误报,包括我不想计数的死细胞和细胞碎片。我使用的代码:

图像如下。死细胞位于右下角和中心的左侧。误报是大红色斑点

在此处输入图像描述

无论如何我可以过滤掉这些误报吗?我尝试获取所有区域的大小并根据大小进行过滤,但是一旦我采用区域最大值,结果看起来很奇怪。

这只消除了其中一个误报并在其他几个位置扭曲了图像(见下文),让我觉得我做错了什么。

在此处输入图像描述 同样,这张图片的位置与第一张不同,但与原始图片相比,它看起来有些扭曲,死细胞碎片仍然存在,所以我确定我做的不对。

所以我的问题是,使用 python 从图像中去除小碎片/死细胞以获得更好的细胞计数估计的最佳方法是什么?

0 投票
1 回答
321 浏览

degrees - mahotas.features.zernike_moments 的返回值是什么意思

我使用下面的这个函数来计算我的图像的 zernike 矩。

我设置 degree=8 并得到 25 个返回值。有人可以向我解释为什么我得到 25 个值,它们是什么?

这里的“学位”是什么?是径向度数还是方位角度数?

我很难将这个结果与维基百科的知识联系起来。例如,如果我设置 degree = 2,则返回四个值。但是从维基百科来看,有三个径向度数 = 2 的多项式,总共有 6 个径向度数 <= 2 的多项式。为什么?