TypeError: object with buffer protocol required 出现错误
-
请在这里粘贴代码 ```# Single Color RGB565 Blob Tracking Example # # This example shows off single color RGB565 tracking using the OpenMV Cam. import sensor, image, time, math import time from pyb import UART uart = UART(3, 19200) threshold_index = 0 # 0 for red, 1 for green, 2 for blue # Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max) # The below thresholds track in general red/green/blue things. You may wish to tune them... thresholds = [(30, 100, 15, 127, 15, 127), # generic_red_thresholds (30, 100, -64, -8, -32, 32), # generic_green_thresholds (0, 30, 0, 64, -128, 0)] # generic_blue_thresholds 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() # Only blobs that with more pixels than "pixel_threshold" and more area than "area_threshold" are # returned by "find_blobs" below. Change "pixels_threshold" and "area_threshold" if you change the # camera resolution. "merge=True" merges all overlapping blobs in the image. def findColor(r,g,b): rr = int(r) gg = int(g) bb = int(b) if rr > gg and rr > bb : return 'r' if gg > rr and gg > bb : return 'g' if bb > rr and bb > gg : return 'b' while(True): time.sleep(100) clock.tick() img = sensor.snapshot() rgbs = img.get_pixel(int(img.width()/2),int(img.height()/2+0.5)) print(findColor(rgbs[0],rgbs[1],rgbs[2])) result = findColor(rgbs[0],rgbs[1],rgbs[2]) uart.write(result)
-
findColor有问题,有默认返回值吗?否则会返回None。