我试图从图像中计算灰度共生矩阵,用于特征提取。我正在使用greycomatrix
来完成任务,但我似乎不了解这个过程,因为我遇到了以下错误:
ValueError:缓冲区源数组是只读的
(完整的痕迹可以在下面找到)
将(PIL)图像转换为具有8个量化级别的灰度:
greyImg = img.convert('L', colors=8)
然后计算glcm矩阵:
glcm = greycomatrix(greyImg, distances=[1], angles=[0, np.pi/4, np.pi/2],
symmetric=True, normed=True)
这导致了一个相当隐晦的错误:
glcm=灰色矩阵(img,距离=[1],角度=[0,np.pi/4,np.pi/2],级别=256,对称=真,规范=真)
_glcm_循环(图像、距离、角度、级别、P)
文件“skimage/feature/_texture.pyx”,第18行,在skimage中。特写_质地_glcm_环
文件"stringsource",第654行,在View. MemoryView.memoryview_cwrapper
文件“stringsource”,第349行,在视图中。记忆视图。记忆视图_cinit___;ValueError:缓冲区源数组为只读
我一直在试着对这些参数感到刺痛,但我似乎不明白为什么会发生这种情况。计算glcm矩阵的正确方法是什么?
问题在于灰度转换。需要进行以下更改:
import numpy as np
greyImg = np.array(img.convert('L', colors=8))
函数greycomatrix
需要的是NumPyndarray
而不是PILImage
对象。您需要像这样转换greyImg
:
import numpy as np
greyImg = np.asarray(img.convert('L', colors=8))
本文向大家介绍Python中zip函数如何使用,包括了Python中zip函数如何使用的使用技巧和注意事项,需要的朋友参考一下 介绍 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。 ps. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。 例子 zip函数接受任意多个(包括0个
问题内容: 如何在python函数中设置全局变量? 问题答案: 要在函数内部使用变量,您需要像这样在函数内部进行操作。 给出输出 请记住,如果您要进行分配/更改它们,则只需要在函数内声明它们。打印和访问不需要。 你可以做, 而不像我们在第一个函数中那样声明它,它仍然可以正确赋值。 以a为例,您不能在不声明的情况下分配a ,但是可以调用它的方法并更改列表。如下所示。
问题内容: 我在javascript中有一个名为“ checkdata(code)”的函数,如您所见,该函数接受一个名为“ code”的参数来运行并返回一个15个字符的字符串。 因此,我发现了(并测试了)如何在javascript中调用无参数函数,但是我的问题是,当我调用checkdata(code)时,总是得到“无”返回值。到目前为止,这是我正在做的事情: 但是,正如我之前说的,我一直都没有打印
我使用下面的逻辑来计算python列表中的平均时间增量。 以下是该函数的输入:- 然而,我得到了下面的错误。 在prepare_llog(llog_pd)288 289 result_df[‘输入率’]=\-- ##############################################################################################
假设我们在下面的数据框中有一个带有
我目前正在阅读React官方网站,在那里我遇到了这个问题。React官方网站声明我们可以在JSX中使用函数代码。因此,我尝试了以下代码,但不起作用。 ABCD类扩展了React。组件{ } 我知道,我知道,你们中的一些人可能会说,看看React网站上给出的例子。我看到了,官网上的例子涉及到外部功能。我只是想知道我们能否独立使用JSX内部的函数。 有关更多信息,请参阅此链接:https://reac