当我使用Ipython3运行代码时,它可以工作。但是当我尝试通过终端运行它的python脚本并得到下一个错误时:
Traceback (most recent call last):
File "procces_image.py", line 3, in <module>
import mahotas as mh
File "/home/s/.local/lib/python3.6/site-packages/mahotas/__init__.py", line 83, in <module>
from . import polygon
File "/home/s/.local/lib/python3.6/site-packages/mahotas/polygon.py", line 8, in <module>
from . import _convex
ValueError: module functions cannot set METH_CLASS or METH_STATIC
import cv2
import pylab
import mahotas as mh
import matplotlib.pyplot as plt
from PIL import Image
path = '2_1.tif'
image = mh.imread(path)
im = Image.open(path)
img = Image.new('P', (1024, 1024))
img.paste(im)
pylab.imshow(img)
pylab.show()
print(image.shape)
im = mh.gaussian_filter(im, 4)
im = im.astype('uint8')
ret,thresh = cv2.threshold(im,130,255,0)
T = mh.thresholding.otsu(im)
labeled,nr_objects = mh.label(im > T)
labeled = labeled.astype('uint8')
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
pylab.imshow(im)
pylab.show()
im1 = Image.open(path)
im1.paste(im)
pylab.show()
该计算机最近被格式化了。
并且所有软件包都已更新。
该代码最初是在Visual Studio代码中创建的。
由于某些原因,matplotlib无法与mahotas配合使用我需要使用以下方法重新安装matplotlibsudo -H apt-get install python3-matplotlib