diff options
Diffstat (limited to 'nicla')
-rw-r--r-- | nicla/downscale.py | 19 | ||||
-rw-r--r-- | nicla/road.py | 4 |
2 files changed, 22 insertions, 1 deletions
diff --git a/nicla/downscale.py b/nicla/downscale.py new file mode 100644 index 0000000..738b4bb --- /dev/null +++ b/nicla/downscale.py @@ -0,0 +1,19 @@ +import sensor, image, time, math + +sensor.reset() +sensor.set_pixformat(sensor.RGB565) +sensor.set_framesize(sensor.HVGA) +sensor.skip_frames(time = 2000) +sensor.set_vflip(True) +sensor.set_hmirror(True) +clock = time.clock() + +def main(): + img = sensor.snapshot() + img.to_grayscale() + img.scale(copy_to_fb=True, x_size=100) + +if __name__ == "__main__": + while(True): + main() + clock.tick() diff --git a/nicla/road.py b/nicla/road.py index 5e5e1de..1b06e78 100644 --- a/nicla/road.py +++ b/nicla/road.py @@ -12,6 +12,8 @@ clock = time.clock() WIDTH = 480 HEIGHT = 320 +MAX_AREA = WIDTH * HEIGHT / 10 +MIN_AREA = 40 HORIZON = 150 STRETCH = 40 @@ -35,7 +37,7 @@ def drive(driveImg): offset_count = 0.0 for blob in img.find_blobs([(ROAD_MIN_BRIGHTNESS, 0xff)], pixels_threshold=100): img.draw_rectangle(blob.rect()) - area_weight = blob.area() + area_weight = MIN_AREA + min(MAX_AREA, blob.w() * blob.h()) # limit max area_weight so small blobs still have impact horizontal_pos = (blob.x() + blob.w()/2) / WIDTH offset_sum += horizontal_pos * area_weight offset_count += area_weight |