Thank you. Here is the code i am running:
import sensor, image, time, math
from pyb import UART
#
#
thresholds = (200, 255) #definerer grenseverdi for gråskala på sider
thresholds_v = (220, 255) #definerer grenseverdi for gråskala på sider
#threshold_S = (10, 200) #definerer grenseverdi for gråskala i senter av bildet
felt_blob_V1 = 123,70,8,150 # ROI for detektering
felt_blob_V2 = 77,100,3,30
felt_blob_V3 = 83,190,3,30
#felt_blob_S = 90,130,120,8
status_V1 = False # Lagret status for her ROI-sone
status_V2 = False
status_V3 = False
status_S = False
arduino_ok = b'\x00' # Status fra Arduino
antall = 0 # holder orden på hvor mange overscan som skal kjøres
#arduino_ok = 0
# UART 3, og baudrate.
uart = UART(3, 9600)
uart_kode = 1
#THRESHOLD = (0, 101) # test gråskala
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.QVGA)
sensor.set_vflip(True)
sensor.skip_frames(time = 1000)
sensor.set_auto_gain(False) # slå av for å kjøre RGB
#sensor.set_auto_whitebal(False) # Slå av for å kjøre RGB
sensor.set_auto_exposure(False, exposure_us = int (600)) # setter fast eksponering.
sensor.set_contrast(3) # øker kontrast til maks for å øke detektering av gråskala
clock = time.clock()
print("Kamera start") # Debug
w_sens = sensor.width()
h_sens = sensor.height()
TARGET_POINTS = [(-11, 0), # (x, y) Venstre topp
(w_sens-0, 0), # (x, y)# Topp høyre
(w_sens-0, h_sens-0), # (x, y) # høyre hjørne nede
(0, h_sens-0)] # (x, y) Drar venstre hjørne nede
while(True):
clock.tick()
if (uart.any()):
arduino_ok = uart.read()
print(arduino_ok) # Debug
img = sensor.snapshot().rotation_corr(corners = TARGET_POINTS)#.binary([THRESHOLD]).negate()
img.draw_rectangle((felt_blob_V1), color = (200, 150, 50))
for blob in img.find_blobs([thresholds],roi = (felt_blob_V1), pixels_threshold=800, merge=True):
# These values depend on the blob not being circular - otherwise they will be shaky.
if blob.elongation() > 0.5:
status_V1 = True
img.draw_edges(blob.min_corners(), color=0)
img.draw_line(blob.major_axis_line(), color=0)
img.draw_line(blob.minor_axis_line(), color=0)
# These values are stable all the time.
img.draw_rectangle(blob.rect(), color=127)
img.draw_cross(blob.cx(), blob.cy(), color=127)
# Note - the blob rotation is unique to 0-180 only.
img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=40, color=127)
else :
status_V1 = False