我编译了这个程序,它从细胞图像中提取特征,并使用python-3.5上的randomforestclassifier判断是否癌变。我在windows 8.1上做的,在那里工作得很好。但我的覆盆子皮上没有覆盆子的弹性os。这是显示错误的代码。

def colorRatioMean(rgbImage):
  R = cv2.normalize(rgbImage[:,:,0].astype('double'), None, 0, 255,
  cv2.NORM_MINMAX)
  G = cv2.normalize(rgbImage[:,:,1].astype('double'), None, 0, 255,
  cv2.NORM_MINMAX)
  B = cv2.normalize(rgbImage[:,:,2].astype('double'), None, 0, 255,
  cv2.NORM_MINMAX)

上面显示的代码是我的类中提取特性的部分。
我得到以下错误:
Traceback (most recent call last):
File "/home/pi/Desktop/Cancer_Detector/image.py", line 117, in <module>
  r, g, b = features.colorRatioMean(image)
File "/home/pi/Desktop/Cancer_Detector/image.py", line 24, in colorRatioMean
  R = cv2.normalize(rgbImage[:,:,0].astype('double'), 0, 255,
  cv2.NORM_MINMAX)
TypeError: 'NoneType' object is not subscriptable

请帮我解决这个问题。

最佳答案

传递给函数的图像是空图像。要查看空图像的类型:
rgbMeave= CV2.imMead(“某物非生存图像.jpg”)
打印(“图像类型:”,类型(rgbImage))
结果将是:
“图像类型:”,类型“NoneType”
要解决此问题,请在将图像类型传递到函数之前对其进行测试
类似这样的函数被调用:
如果rgbImage为None:
#
#不要将它传递给函数,可能是通过传递
#
打印(“空图像”)
仅举个例子
其他:
色差(rgbImage)
请参阅:“'NoneType'对象不可订阅”是因为其中没有任何内容

关于python - TypeError:'NoneType'对象在cv2中无法下标。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49461887/

10-11 22:44