aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nicla/downscale.py19
-rw-r--r--nicla/road.py4
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