vdat
@vdat
vdat 发布的帖子
-
为什么写入for循环break之后还是重复识别
import time, sensor, image, math from pyb import UART import sensor, image, math uart = 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 = [(18, 46, -4, 26, 5, 30)] # generic_red_thresholds thresholds_green = [(47, 64, -67, -39, -128, 127)] # generic_green_thresholds thresholds_blue = [(24, 38, -128, 36, -73, -10)] # generic_blue_thresholds cx = 0, # up sample by 4 #数据1 cy = 0, # up sample by 4 #数据2 cw = 0, # up sample by 4 #数据1 ch = 0, # up sample by 4 #数据2 cj = 0, # up sample by 4 #数据1 cz = 0, # up sample by 4 #数据2 def cx1(): for cx in tuple1: 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('r')#发送完成信号 print("cx=red") break elif 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('g')#发送完成信号 print("cx=green") break elif 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('b')#发送完成信号 print("cx=blue") break 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('读取') print(qrcode2) list1 = list(qrcode2) time.sleep(5) tuple1 = (cx, cy, cw, ch, cj, cz) print(tuple1) print(cx) cx1() print(cx) cy1() print(cy)
-
RE: 为什么出现SyntaxError: invalid syntax呢
@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")
-
RE: 为什么出现SyntaxError: invalid syntax呢
@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")
-
为什么出现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")