为什么出现SyntaxError: invalid syntax呢
-
import time, sensor, image, math
from pyb import UART
import sensor, image, mathuart = UART(3, 9600)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking
clock = time.clock()thresholds_red = [(30, 100, 15, 127, 15, 127)] # generic_red_thresholds
thresholds_green = [(30, 100, -64, -8, -32, 32)] # generic_green_thresholds
thresholds_blue = [(0, 15, 0, 40, -80, -20)] # generic_blue_thresholds
int(cx), # up sample by 4 #数据1
int(cy), # up sample by 4 #数据2
int(cw), # up sample by 4 #数据1
int(ch), # up sample by 4 #数据2
int(cj), # up sample by 4 #数据1
int(cz), # up sample by 4 #数据2while(True):
clock.tick()
img = sensor.snapshot()
img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
for code in img.find_qrcodes():
img.draw_rectangle(code.rect(), color = (255, 0, 0))
print(code)
qrcode2 = code.payload()
cx = int(qrcode2[0:1])
cy = int(qrcode2[1:2])
cw = int(qrcode2[2:3])
ch = int(qrcode2[4:5])
cj = int(qrcode2[5:6])
cz = int(qrcode2[6:7])
print(cx)if cx == 1 : clock.tick() img = sensor.snapshot() for blob in img.find_blobs(thresholds_red, pixels_threshold=200, area_threshold=200): #未设置roi # These values depend on the blob not being circular - otherwise they will be shaky. if blob.elongation() > 0.5: img.draw_edges(blob.min_corners(), color=(255,0,0)) img.draw_line(blob.major_axis_line(), color=(0,255,0)) img.draw_line(blob.minor_axis_line(), color=(0,0,255)) # These values are stable all the time. img.draw_rectangle(blob.rect()) img.draw_cross(blob.cx(), blob.cy()) # Note - the blob rotation is unique to 0-180 only. img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20) #识别寻找红色色块 uart.write('red')#发送完成信号 print("red")
-
-
缩进不对,if下面必须有缩进。
-
@kidswong999 解决了多谢
-
@kidswong999 while(True):
clock.tick()
img = sensor.snapshot()
img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
for code in img.find_qrcodes():
img.draw_rectangle(code.rect(), color = (255, 0, 0))
print(code)
qrcode2 = code.payload()
cx = int(qrcode2[0:1])
cy = int(qrcode2[1:2])
cw = int(qrcode2[2:3])
ch = int(qrcode2[4:5])
cj = int(qrcode2[5:6])
cz = int(qrcode2[6:7])
print(cx)if cx == 1 : clock.tick() img = sensor.snapshot() for blob in img.find_blobs(thresholds_red, pixels_threshold=200, area_threshold=200): #未设置roi # These values depend on the blob not being circular - otherwise they will be shaky. if blob.elongation() > 0.5: img.draw_edges(blob.min_corners(), color=(255,0,0)) img.draw_line(blob.major_axis_line(), color=(0,255,0)) img.draw_line(blob.minor_axis_line(), color=(0,0,255)) # These values are stable all the time. img.draw_rectangle(blob.rect()) img.draw_cross(blob.cx(), blob.cy()) # Note - the blob rotation is unique to 0-180 only. img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20) #识别寻找红色色块 uart.write('red')#发送完成信号 print("red") else if cx == 2 : clock.tick() img = sensor.snapshot() for blob in img.find_blobs(thresholds_green, pixels_threshold=200, area_threshold=200): #未设置roi # These values depend on the blob not being circular - otherwise they will be shaky. if blob.elongation() > 0.5: img.draw_edges(blob.min_corners(), color=(255,0,0)) img.draw_line(blob.major_axis_line(), color=(0,255,0)) img.draw_line(blob.minor_axis_line(), color=(0,0,255)) # These values are stable all the time. img.draw_rectangle(blob.rect()) img.draw_cross(blob.cx(), blob.cy()) # Note - the blob rotation is unique to 0-180 only. img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20) #识别寻找绿色色块 uart.write('green')#发送完成信号 print("green")
-
那关于这个错误呢
-
62行和63行缩进也不对。
-
@kidswong999 改了之后还是不行
import time, sensor, image, math
from pyb import UART
import sensor, image, mathuart = UART(3, 9600)
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 2000)
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking
clock = time.clock()thresholds_red = [(30, 100, 15, 127, 15, 127)] # generic_red_thresholds
thresholds_green = [(30, 100, -64, -8, -32, 32)] # generic_green_thresholds
thresholds_blue = [(0, 15, 0, 40, -80, -20)] # generic_blue_thresholds
int(cx), # up sample by 4 #数据1
int(cy), # up sample by 4 #数据2
int(cw), # up sample by 4 #数据1
int(ch), # up sample by 4 #数据2
int(cj), # up sample by 4 #数据1
int(cz), # up sample by 4 #数据2while(True):
clock.tick()
img = sensor.snapshot()
img.lens_corr(1.8) # strength of 1.8 is good for the 2.8mm lens.
for code in img.find_qrcodes():
img.draw_rectangle(code.rect(), color = (255, 0, 0))
print(code)
qrcode2 = code.payload()
cx = int(qrcode2[0:1])
cy = int(qrcode2[1:2])
cw = int(qrcode2[2:3])
ch = int(qrcode2[4:5])
cj = int(qrcode2[5:6])
cz = int(qrcode2[6:7])
print(cx)if cx == 1 : clock.tick() img = sensor.snapshot() for blob in img.find_blobs(thresholds_red, pixels_threshold=200, area_threshold=200): #未设置roi # These values depend on the blob not being circular - otherwise they will be shaky. if blob.elongation() > 0.5: img.draw_edges(blob.min_corners(), color=(255,0,0)) img.draw_line(blob.major_axis_line(), color=(0,255,0)) img.draw_line(blob.minor_axis_line(), color=(0,0,255)) # These values are stable all the time. img.draw_rectangle(blob.rect()) img.draw_cross(blob.cx(), blob.cy()) # Note - the blob rotation is unique to 0-180 only. img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20) #识别寻找红色色块 uart.write('red')#发送完成信号 print("red") else if cx == 2 : clock.tick() img = sensor.snapshot() for blob in img.find_blobs(thresholds_green, pixels_threshold=200, area_threshold=200): #未设置roi # These values depend on the blob not being circular - otherwise they will be shaky. if blob.elongation() > 0.5: img.draw_edges(blob.min_corners(), color=(255,0,0)) img.draw_line(blob.major_axis_line(), color=(0,255,0)) img.draw_line(blob.minor_axis_line(), color=(0,0,255)) # These values are stable all the time. img.draw_rectangle(blob.rect()) img.draw_cross(blob.cx(), blob.cy()) # Note - the blob rotation is unique to 0-180 only. img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20) #识别寻找绿色色块 uart.write('green')#发送完成信号 print("green") else if cx == 3: clock.tick() img = sensor.snapshot() for blob in img.find_blobs(thresholds_blue, pixels_threshold=200, area_threshold=200): #未设置roi # These values depend on the blob not being circular - otherwise they will be shaky. if blob.elongation() > 0.5: img.draw_edges(blob.min_corners(), color=(255,0,0)) img.draw_line(blob.major_axis_line(), color=(0,255,0)) img.draw_line(blob.minor_axis_line(), color=(0,0,255)) # These values are stable all the time. img.draw_rectangle(blob.rect()) img.draw_cross(blob.cx(), blob.cy()) # Note - the blob rotation is unique to 0-180 only. img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20) #识别寻找蓝色色块 uart.write('blue')#发送完成信号 print("blue")
-
我建议你先把python的语法学一遍,然后再写代码。这都是缩进这种基本问题。
-
@kidswong999 解决了谢谢,好久没用python了把elif写成else if了