文件 "E:\python\lib\re.py",第 229 行,在 finditer 返回



我正在使用skimage.feature.greycomatrix来计算图像的GLCM(灰度共现矩阵(,但是当我使用:

from skimage.feature import greycomatrix 

在壳python 3.6.4- 它可以工作。见图片

但是当我在我的崇高文本 3 中使用它时,那么 它将报告一个错误:

Traceback (most recent call last):
File "C:UsersMartin MaDesktopevery day pythontestGLCMmain.py", line 80, in <module>
from skimage.feature import greycomatrix
File "E:pythonlibsite-packagesskimagefeature__init__.py", line 9, in <module>
from .peak import peak_local_max
File "E:pythonlibsite-packagesskimagefeaturepeak.py", line 3, in <module>
from ..segmentation import relabel_sequential
File "E:pythonlibsite-packagesskimagesegmentation__init__.py", line 1, in <module>
from .random_walker_segmentation import random_walker
File "E:pythonlibsite-packagesskimagesegmentationrandom_walker_segmentation.py", line 43, in <module>
from ..filters import rank_order
File "E:pythonlibsite-packagesskimagefilters__init__.py", line 3, in <module>
from .edges import (sobel, sobel_h, sobel_v,
File "E:pythonlibsite-packagesskimagefiltersedges.py", line 17, in <module>
from ..restoration.uft import laplacian
File "E:pythonlibsite-packagesskimagerestoration__init__.py", line 12, in <module>
from .inpaint import inpaint_biharmonic
File "E:pythonlibsite-packagesskimagerestorationinpaint.py", line 9, in <module>
from ..measure import label
File "E:pythonlibsite-packagesskimagemeasure__init__.py", line 6, in <module>
from ._regionprops import regionprops, perimeter
File "E:pythonlibsite-packagesskimagemeasure_regionprops.py", line 645, in <module>
_install_properties_docs()
File "E:pythonlibsite-packagesskimagemeasure_regionprops.py", line 632, in _install_properties_docs
prop_doc = _parse_docs()
File "E:pythonlibsite-packagesskimagemeasure_regionprops.py", line 625, in _parse_docs
doc, flags=re.DOTALL)
File "E:pythonlibre.py", line 229, in finditer
return _compile(pattern, flags).finditer(string)
TypeError: expected string or bytes-like object

(见崇高文字错误图片(

谁能告诉我为什么会发生这种情况以及如何解决它?

我的代码:

from skimage.feature import greycomatrix
import numpy as np 
image=np.array([[1,1,5,6,8],
[0,0,5,7,1],
[4,0,0,1,2],
[8,5,1,2,5]],dtype=np.uint8)
#levels=256   image   this test is 9
result=greycomatrix(image,[1],[0,np.pi/4,np.pi/2,3*np.pi/4],levels=9)
print(result[:, :, 0, 0])

在此处输入图像描述

您使用-OO标志运行 Python,该标志丢弃文档字符串,用None替换它们。skimage.measure._regionprops包括一些代码,这些代码在初始化期间解析一个函数的文档字符串以设置一堆其他函数的文档字符串。当文档字符串被丢弃时,此操作将失败。运行不带-OO标志的 Python 可以避免此问题。

看起来类似的问题可能已经遇到并修复了scikit图像代码库的其他部分;我看到一些地方已经检查了将文档字符串设置为None,例如在skimage.io中。为了使skimage.measure._regionprops-OO兼容,必须向该模块添加对None文档字符串的类似检查。 不过,_install_properties_docs做的不仅仅是文档字符串处理,所以如果我们没有文档字符串,我们就不能跳过整个事情。

最新更新