代码烧录进去脱机运行后连电脑画面就这样了
-
``# # from pyb import Pin import time from pyb import UART p7 = Pin('P7', Pin.OUT_PP)#设置p_out为输出引脚 p8 = Pin('P8', Pin.OUT_PP)#设置p_out为输出引脚 p9 = Pin('P9', Pin.OUT_PP)#设置p_out为输出引脚 # UART 3, and baudrate. uart = UART(3, 115200) import sensor, image, time, pyb import json blue_threshold = (22, 67, 9, 127, -128, -54)#蓝色的阈值 red_threshold = (41, 61, 42, 127, -128, 127)#红色的阈值 yellow_threshold = ( 60 ,10,-15,20,30,80)#黄色的阈值 sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA)#320*240 #sensor.set_framesize(sensor.VGA) sensor.set_windowing((280, 290)) sensor.set_auto_gain(False) # 必须关闭此功能,以防止图像冲洗… clock = time.clock() def find_max(blobs): max_size=0 for blob in blobs: if blob.pixels() > max_size: max_blob=blob max_size = blob.pixels() return max_blob #寻找最大色块并返回最大色块的坐标 def color(): blobs0 = img.find_blobs([blue_threshold])#让蓝色色块为blob0 blobs1 = img.find_blobs([red_threshold])#让蓝色色块为blob1 blobs2 = img.find_blobs([yellow_threshold])#让蓝色色块为blob2 #如果找到蓝色色块 if blobs0: max_blob=find_max(blobs0) img.draw_rectangle(max_blob.rect())#框选最大色块 img.draw_cross(max_blob.cx(), max_blob.cy())#在最大色块中心画十字 data="b" data_out = json.dumps(set(data))#将data转化为json uart.write(data_out +'\n')#写到缓冲区,由arduino进行读取 print('you send:',data_out)#写到串口监视端,让你能够看到数据 print('蓝色')#写到串口监视端,让你能够看到数据 elif blobs1: max_blob=find_max(blobs1) img.draw_rectangle(max_blob.rect())#框选最大色块 img.draw_cross(max_blob.cx(), max_blob.cy())#在最大色块中心画十字 data="r" data_out = json.dumps(set(data)) uart.write(data_out +'\n') print('you send:',data_out) print('红色')#写到串口监视端,让你能够看到数据 global x x=x+1 elif blobs2: max_blob=find_max(blobs2) img.draw_rectangle(max_blob.rect())#框选最大色块 img.draw_cross(max_blob.cx(), max_blob.cy())#在最大色块中心画十字 data="g" data_out = json.dumps(set(data)) uart.write(data_out +'\n') print('you send:',data_out) print('黄色')#写到串口监视端,让你能够看到数据 else: print('not found') def erwm(): clock.tick() img = sensor.snapshot() img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。 for code in img.find_qrcodes(): img.draw_rectangle(code.rect(), color = (255, 0, 0)) bianhao=code.payload() print(bianhao) global a a=a+1 print(a) b=int(bianhao) global x x=x+1 if b==11: p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.high()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 time.sleep_ms(1000) print('二维码编号是11') elif b==12: p7.low()#设置p_out引脚为高 p8.high()#设置p_out引脚为高 p9.high()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 print('二维码编号是12') elif b==21: p7.high()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 print('二维码编号是21') time.sleep_ms(1000) elif b==22: p7.high()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.high()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 print('二维码编号是22') time.sleep_ms(1000) a=0 b=0 n=0 x=0 y=0 z=0 print(a) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 clock.tick() #img = sensor.snapshot() #img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。 while(1): if x==0: erwm() elif x==1: img = sensor.snapshot() color() elif x==2: while(1): erwm() ```我在电脑上画面显示是正常的 然后烧录进去 脱机运行不行 等下连接电脑就这种画面了 但是换了一个其他代码又可以正常显示画面了 我在电脑上画面显示是正常的 然后烧录进去 脱机运行不行 等下连接电脑就这种画面了 但是换了一个其他代码又可以正常显示画面了 我在电脑上画面显示是正常的 然后烧录进去 脱机运行不行 等下连接电脑就这种画面了 但是换了一个其他代码又可以正常显示画面了
-
sensor.set_windowing((280, 290))
不对,超过了320,240,改成
sensor.set_windowing((240, 240))
-
改了代码 还是不行 还是一样的问题
# 配送二维码 # from pyb import Pin import time from pyb import UART p7 = Pin('P7', Pin.OUT_PP)#设置p_out为输出引脚 p8 = Pin('P8', Pin.OUT_PP)#设置p_out为输出引脚 p9 = Pin('P9', Pin.OUT_PP)#设置p_out为输出引脚 # UART 3, and baudrate. uart = UART(3, 115200) import sensor, image, time, pyb import json blue_threshold = (22, 67, 9, 127, -128, -54)#蓝色的阈值 red_threshold = (41, 61, 42, 127, -128, 127)#红色的阈值 yellow_threshold = ( 60 ,10,-15,20,30,80)#黄色的阈值 sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA)#320*240 #sensor.set_framesize(sensor.VGA) sensor.set_windowing((240, 240)) sensor.set_auto_gain(False) # 必须关闭此功能,以防止图像冲洗… clock = time.clock() def find_max(blobs): max_size=0 for blob in blobs: if blob.pixels() > max_size: max_blob=blob max_size = blob.pixels() return max_blob #寻找最大色块并返回最大色块的坐标 def color(): blobs0 = img.find_blobs([blue_threshold])#让蓝色色块为blob0 blobs1 = img.find_blobs([red_threshold])#让蓝色色块为blob1 blobs2 = img.find_blobs([yellow_threshold])#让蓝色色块为blob2 #如果找到蓝色色块 if blobs0: max_blob=find_max(blobs0) img.draw_rectangle(max_blob.rect())#框选最大色块 img.draw_cross(max_blob.cx(), max_blob.cy())#在最大色块中心画十字 data="b" data_out = json.dumps(set(data))#将data转化为json uart.write(data_out +'\n')#写到缓冲区,由arduino进行读取 print('you send:',data_out)#写到串口监视端,让你能够看到数据 print('蓝色')#写到串口监视端,让你能够看到数据 elif blobs1: max_blob=find_max(blobs1) img.draw_rectangle(max_blob.rect())#框选最大色块 img.draw_cross(max_blob.cx(), max_blob.cy())#在最大色块中心画十字 data="r" data_out = json.dumps(set(data)) uart.write(data_out +'\n') print('you send:',data_out) print('红色')#写到串口监视端,让你能够看到数据 global x x=x+1 elif blobs2: max_blob=find_max(blobs2) img.draw_rectangle(max_blob.rect())#框选最大色块 img.draw_cross(max_blob.cx(), max_blob.cy())#在最大色块中心画十字 data="g" data_out = json.dumps(set(data)) uart.write(data_out +'\n') print('you send:',data_out) print('黄色')#写到串口监视端,让你能够看到数据 else: print('not found') def erwm(): clock.tick() img = sensor.snapshot() img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。 for code in img.find_qrcodes(): img.draw_rectangle(code.rect(), color = (255, 0, 0)) bianhao=code.payload() print(bianhao) global a a=a+1 print(a) b=int(bianhao) global x x=x+1 if b==11: p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.high()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 time.sleep_ms(1000) print('二维码编号是11') elif b==12: p7.low()#设置p_out引脚为高 p8.high()#设置p_out引脚为高 p9.high()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 print('二维码编号是12') elif b==21: p7.high()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 print('二维码编号是21') time.sleep_ms(1000) elif b==22: p7.high()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.high()#设置p_out引脚为高 time.sleep_ms(3000) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 print('二维码编号是22') time.sleep_ms(1000) a=0 b=0 n=0 x=0 y=0 z=0 print(a) p7.low()#设置p_out引脚为高 p8.low()#设置p_out引脚为高 p9.low()#设置p_out引脚为高 clock.tick() #img = sensor.snapshot() #img.lens_corr(1.8) # 1.8的强度参数对于2.8mm镜头来说是不错的。 while(1): if x==0: erwm() elif x==1: img = sensor.snapshot() color() elif x==2: while(1): erwm() 改了代码 还是不行 还是一样的问题
-
你没加 sensor.reset()