LCD屏用简单初始化没问题可以运行,但是一加到条形码里面就一直白屏了
-
import sensor, image, time, math from pyb import UART import lcd sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA2) # High Res! sensor.set_windowing((640, 200)) # V Res of 80 == less work (40 for 2X the speed). sensor.skip_frames(time = 2000) sensor.set_auto_gain(False) # 必须关闭此功能,以防止图像冲洗… sensor.set_auto_whitebal(False) # 必须关闭此功能,以防止图像冲洗… clock = time.clock() uart = UART(3, 9600) # 条形码检测可以在OpenMV Cam的OV7725相机模块的640x480分辨率下运行。 # 条码检测也将在RGB565模式下工作,但分辨率较低。 也就是说, # 条形码检测需要更高的分辨率才能正常工作,因此应始终以640x480的灰度运行。 lcd.init() def barcode_name(code): if(code.type() == image.EAN2): return "EAN2" if(code.type() == image.EAN5): return "EAN5" if(code.type() == image.EAN8): return "EAN8" if(code.type() == image.UPCE): return "UPCE" if(code.type() == image.ISBN10): return "ISBN10" if(code.type() == image.UPCA): return "UPCA" if(code.type() == image.EAN13): return "EAN13" if(code.type() == image.ISBN13): return "ISBN13" if(code.type() == image.I25): return "I25" if(code.type() == image.DATABAR): return "DATABAR" if(code.type() == image.DATABAR_EXP): return "DATABAR_EXP" if(code.type() == image.CODABAR): return "CODABAR" if(code.type() == image.CODE39): return "CODE39" if(code.type() == image.PDF417): return "PDF417" if(code.type() == image.CODE93): return "CODE93" if(code.type() == image.CODE128): return "CODE128" while(True): clock.tick() img = sensor.snapshot() codes = img.find_barcodes() for code in codes: img.draw_rectangle(code[0:4]) #img.draw_cross(code[5], code[6]) # cx, cy x=code[5] print(x) print_args = (barcode_name(code), code.payload(), (180 * code.rotation()) / math.pi, code.quality(), clock.fps()) print("Barcode %s, Payload \"%s\", rotation %f (degrees), quality %d, FPS %f" % print_args) tiaoxinma=code.payload() print(tiaoxinma) #FZ = bytearray([0x31,0x31]) #uart.write(FZ) #date = bytearray([tiaoxinma]) #uart.write(date) lcd.display(sensor.snapshot()) img.draw_string(100,100,str(tiaoxinma),color=(0,0,0)) if not codes: print("FPS %f" % clock.fps())
-
lcd.display(sensor.snapshot()) 改为lcd.display(img),否则每次都是显示新采集的图片。
lcd.display(sensor.snapshot()) 的缩进也要改。否则是检测到一个码就显示一次,没检测到就不显示。