AttributeError: 'NoneType' object has no attribute 'theta'
-
THRESHOLD = (153, 255) # Grayscale threshold for dark things... #设置是否使用img.binary()函数进行图像分割 BINARY_VISIBLE = True # 首先执行二进制操作,以便您可以看到正在运行的线性回归 import sensor, image, time sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(time = 2000) clock = time.clock() while(True): clock.tick() img = sensor.snapshot().binary([THRESHOLD]) if BINARY_VISIBLE else sensor.snapshot() singleline_check = img.get_regression([(255,255) if BINARY_VISIBLE else THRESHOLD],robust = True) if (singleline_check): img.draw_line(singleline_check.line(), color = 127) print("FPS %f, mag = %s" % (clock.fps(), str(singleline_check.magnitude()) if (singleline_check) else "N/A")) print(singleline_check.theta(),singleline_check.rho())
-
报错指向最后一行代码,有的时候程序能够正常运行,可以输出最后一行代码的两个值
-
这个提示很清楚了,因为singleline_check有时候是None,所以改一下代码,加一个判断就行:
THRESHOLD = (153, 255) # Grayscale threshold for dark things... #设置是否使用img.binary()函数进行图像分割 BINARY_VISIBLE = True # 首先执行二进制操作,以便您可以看到正在运行的线性回归 import sensor, image, time sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(time = 2000) clock = time.clock() while(True): clock.tick() img = sensor.snapshot().binary([THRESHOLD]) if BINARY_VISIBLE else sensor.snapshot() singleline_check = img.get_regression([(255,255) if BINARY_VISIBLE else THRESHOLD],robust = True) if (singleline_check): img.draw_line(singleline_check.line(), color = 127) print(singleline_check.theta(),singleline_check.rho()) print("mag = %s" % str(singleline_check.magnitude())) print("fps:", clock.fps())
-
@kidswong999 原来如此,谢谢!