关于利用识别线段来识别三角形的问题
-
在代码中 sum+=l.theta()一直报错,改为将l.theta()改为其他类型,还是报错,请问怎样解决啊
import sensor, image, time, math sensor.reset() sensor.set_pixformat(sensor.RGB565) # 灰度更快 sensor.set_framesize(sensor.QQVGA) sensor.skip_frames(time = 2000) clock = time.clock() # 所有线段都有 `x1()`, `y1()`, `x2()`, and `y2()` 方法来获得他们的终点 # 一个 `line()` 方法来获得所有上述的四个元组值,可用于 `draw_line()`. while(True): clock.tick() img = sensor.snapshot() if enable_lens_corr: img.lens_corr(1.8) # for 2.8mm lens... for l in img.find_line_segments(merge_distance = 10, max_theta_diff = 10): img.draw_line(l.line(), color = (255, 0, 0)) sum+=l.theta() sum-=180 if sum<110 and sum>1: print('三角形') num_segment=1
-
原因:没有定义sum变量。
解决办法:在前面加一个sum=0另外的建议:sum是python的内置函数,所以不要用sum当变量。
-
好的,谢谢大佬
-
@pt6u 我想请问一下你识别的效果怎么样?