问题标签 [scikit-image]

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

python - 在 python 中倾斜或剪切图像

我需要使用 python 剪切和倾斜一些图像。我遇到了这个 skimage 模块,但我似乎无法准确理解我应该如何使用它。

我尝试了一些事情,这显然给了我错误,因为我后来突然意识到,我没有将图像传递给函数。然后我注意到该函数首先没有将我的图像作为输入参数。那么应该如何应用转换呢?或者这甚至是为了倾斜或剪切图像而查看的正确功能?

0 投票
2 回答
1170 浏览

python - 计算地图图像中屋顶的面积

我是一名 R 用户,在 Python 中进行图像分析时遇到了麻烦。计算图像中心建筑物面积的有效方法是什么?目标是将边缘算法应用于谷歌地图静态图像并计算地址屋顶的表面积。

0 投票
1 回答
24081 浏览

python - 使用 scikit-image 将 numpy 数组保存为高精度(16 位)的图像

我正在使用我想以高精度(例如 16 位)保存到灰度 .png 文件的二维浮点 numpy 数组。如果可能的话,我想使用 scikit-imageskimage.io包来做到这一点。

这是我尝试过的主要内容:

产生:

首先,我尝试将其保存为图像,然后使用 Python 图像库重新加载:

产生:

所以某处(在写入或读取中)我失去了精度。然后我尝试使用 matplotlib 插件:

给了我一个 32 位浮点数:

但我怀疑这真的是 32 位,因为我将 16 位 uint 保存到文件中。如果有人能指出我哪里出错了,那就太好了。我也希望它扩展到 3D 数组(即每个颜色通道节省 16 位,每个图像 48 位)。

更新:

问题在于imsave。图像是每通道 8 位。如何使用 io.imsave 输出高位深度图像?

0 投票
1 回答
837 浏览

python - 可变大小图像的固定长度 HOG 描述符

我正在研究一些对象检测代码,但是我的对象没有固定大小,所以;

没有给我相等长度的向量(因为它使用固定大小的单元格),因此我不能对它们使用学习算法。

所以,我尝试动态分配 HOG 特征长度:

但是,现在它主要给出2916大小的向量,但有时它也给出更长的向量(如3402元素长)。

我相信当 bin 大小和对象形状之间存在特定比例时会发生这种情况,但不知道确切原因。

你能帮助我吗?

0 投票
3 回答
4359 浏览

python - AttributeError:“builtin_function_or_method”对象没有属性“iterkeys”

这是我的代码:

在第 2 行抛出错误说:

追溯:

0 投票
1 回答
158 浏览

python - Python程序的脏并行化

我有一个程序可以循环加载 2600 张图像,进行一些处理并返回一个值。伪代码:

问题是 - 这个过程大约需要 20-30 分钟,而且似乎只使用一个 CPU 内核。我正在寻找一种快速而肮脏的方法来在更多内核上运行它,也许通过将列表分成两部分。我已经阅读了很多关于 Python 的内容以及它的问题/解决方案,但我不知道下一步该做什么。我该怎么做呢?

仅供参考,在 2009 Macbook Pro(Core 2 Duo)上使用 Python 2.7,带有 Numpy Scipy Scikit-image 和 OpenCV。

0 投票
2 回答
1107 浏览

python - Pillow 中浮动图像的堆叠线图

我正在使用浮动图像来绘制一些线条。

错误的结果

但是,它不会将行堆叠在一起。我想要一个从两个线条图中添加值的结果。

预期结果

我试图 add_modulo 两个浮动图像

但是 Pillow 正在提高一个ValueError: image has wrong mode(这对于很多行来说效率很低)。

除了迭代两个图像来添加像素之外,还有其他方法吗?

编辑: 它似乎scikit-image遇到了同样的问题,所以我也会接受任何涉及它的解决方案。

0 投票
1 回答
2002 浏览

image - 使用不同尺寸但相同数量的 HoG 特征的图像训练分类器

我想用一些图像训练我的分类器,其中一些具有不同的尺寸。

它们都属于以下维度:

  • 100x50
  • 50x100
  • 64x72
  • 72x64

然而,使用 9 个方向箱和每个单元 8 个像素,每个单元生成 648 个 HoG 特征。

实际上,我将所有图像选择为其中一种尺寸,以便它们最终具有相同数量的 HoG 特征,以便训练是统一的。

我选择这个的原因是因为训练图像中感兴趣的对象有时具有不同的纵横比,因此将所有图像裁剪为相同大小,因为其中一些图像留下了太多背景。

现在我的问题是——只要 HoG 特征的数量是一致的,训练图像的纵横比/图像尺寸有什么关系?(我的训练算法只包含 HoG 特征)。

0 投票
1 回答
2432 浏览

python - 无复制的 Numpy 视图重塑(2d 移动/滑动窗口、步幅、蒙面内存结构)

我有一个存储为二维 numpy 数组(可能是多维)的图像。

我可以在该数组上创建一个反映二维滑动窗口的视图,但是当我对其进行整形以使每一行都是一个扁平窗口(行是窗口,列是该窗口中的一个像素)时,python 会制作一个完整的副本。这样做是因为我使用的是典型的跨步技巧,并且新形状在内存中并不连续。

我需要这个,因为我将整个大图像传递给一个 sklearn 分类器,该分类器接受 2d 矩阵,其中没有批处理/部分拟合过程,并且完整的扩展副本对于内存来说太大了。

我的问题:有没有办法在不完全复制视图的情况下做到这一点?

我相信答案要么是(1)我忽略的有关 strides 或 numpy 内存管理的东西,要么(2)python 的某种掩码内存结构可以模拟 numpy 数组,甚至可以模拟像 sklearn 这样的外部包,其中包括赛通。

这种在内存中移动二维图像窗口的训练任务很常见,但我所知道的直接解释补丁的唯一尝试是 Vigra 项目(http://ukoethe.github.io/vigra/)。

谢谢您的帮助。

0 投票
1 回答
4814 浏览

python - graycomatrix scikit-image python中的levels参数

我正在使用 scikit-image 工具将我的 Matlab 图像处理算法转移到 Python,并且正在使用graycomatrix计算灰度共现矩阵 ( GLCM ) 。如果参数小于强度图像的最大值 ( ),我会遇到问题。例如:levelsimage.max()

输出是:

这是正确的,一个 4x4 矩阵。但是如果levels=3,我无法计算 GLCM,错误是:

当然......我得到了错误,但我应该能够计算一个低于image.max(). 例如,对于:

我应该得到以下 GLCM(我可以在 Matlab 中完成):

当我处理大图像时,我会降低 GLCM 的级别以减少计算时间。有什么问题greycomatrix还是我想错了?提前致谢。