mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Change skip_frames() to use a 2 second timeout.
This was necessary due to the increase in the frame rate. The previous method did not correlate to time. All scripts updated.
This commit is contained in:
parent
4e07e36226
commit
a039b5d1c7
@ -18,6 +18,7 @@
|
||||
#include "omv_boardconfig.h"
|
||||
#include "py_helper.h"
|
||||
#include "framebuffer.h"
|
||||
#include "systick.h"
|
||||
|
||||
extern sensor_t sensor;
|
||||
|
||||
@ -74,13 +75,35 @@ static mp_obj_t py_sensor_snapshot(uint n_args, const mp_obj_t *args, mp_map_t *
|
||||
return image;
|
||||
}
|
||||
|
||||
static mp_obj_t py_sensor_skip_frames(uint n_args, const mp_obj_t *args) {
|
||||
int frames = (n_args == 1) ? mp_obj_get_int(args[0]) : 10; // OV Recommended.
|
||||
for (int i = 0; i < frames; i++) {
|
||||
static mp_obj_t py_sensor_skip_frames(uint n_args, const mp_obj_t *args, mp_map_t *kw_args)
|
||||
{
|
||||
mp_map_elem_t *kw_arg = mp_map_lookup(kw_args, MP_OBJ_NEW_QSTR(MP_QSTR_time), MP_MAP_LOOKUP);
|
||||
mp_int_t time = 300; // OV Recommended.
|
||||
|
||||
if (kw_arg != NULL) {
|
||||
time = mp_obj_get_int(kw_arg->value);
|
||||
}
|
||||
|
||||
uint32_t millis = systick_current_millis();
|
||||
|
||||
if (!n_args) {
|
||||
while ((systick_current_millis() - millis) < time) { // 32-bit math handles wrap arrounds...
|
||||
if (sensor_snapshot(NULL, NULL, NULL) == -1) {
|
||||
nlr_raise(mp_obj_new_exception_msg(&mp_type_RuntimeError, "Sensor Timeout!!"));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (int i = 0, j = mp_obj_get_int(args[0]); i < j; i++) {
|
||||
if ((kw_arg != NULL) && ((systick_current_millis() - millis) >= time)) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (sensor_snapshot(NULL, NULL, NULL) == -1) {
|
||||
nlr_raise(mp_obj_new_exception_msg(&mp_type_RuntimeError, "Sensor Timeout!!"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
@ -329,7 +352,7 @@ static mp_obj_t py_sensor_read_reg(mp_obj_t addr) {
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_sensor_reset_obj, py_sensor_reset);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(py_sensor_snapshot_obj, 0, py_sensor_snapshot);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_sensor_skip_frames_obj, 0, 1, py_sensor_skip_frames);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(py_sensor_skip_frames_obj, 0, py_sensor_skip_frames);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_sensor_get_fb_obj, py_sensor_get_fb);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_sensor_get_id_obj, py_sensor_get_id);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(py_sensor_set_pixformat_obj, py_sensor_set_pixformat);
|
||||
|
||||
@ -7,7 +7,7 @@ import sensor, image, time
|
||||
sensor.reset() # Reset and initialize the sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
|
||||
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
|
||||
sensor.skip_frames(10) # Wait for settings take effect.
|
||||
sensor.skip_frames(time = 2000) # Wait for settings take effect.
|
||||
clock = time.clock() # Create a clock object to track the FPS.
|
||||
|
||||
while(True):
|
||||
|
||||
@ -57,7 +57,7 @@ write_command(0x29)
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # must be this
|
||||
sensor.set_framesize(sensor.QQVGA2) # must be this
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
while(True):
|
||||
|
||||
@ -14,14 +14,14 @@ BG_UPDATE_BLEND = 128 # How much to blend by... ([0-256]==[0.0-1.0]).
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.RGB565
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
sensor.set_auto_whitebal(False) # Turn off white balance.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
if not "temp" in os.listdir(): os.mkdir("temp") # Make a temp directory
|
||||
|
||||
print("About to save background image...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
sensor.snapshot().save("temp/bg.bmp")
|
||||
print("Saved background image - Now frame differencing!")
|
||||
|
||||
|
||||
@ -11,14 +11,14 @@ import sensor, image, pyb, os, time
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
sensor.set_auto_whitebal(False) # Turn off white balance.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
if not "temp" in os.listdir(): os.mkdir("temp") # Make a temp directory
|
||||
|
||||
print("About to save background image...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
sensor.snapshot().save("temp/bg.bmp")
|
||||
print("Saved background image - Now frame differencing!")
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ thresholds = [(100, 255)] # grayscale thresholds
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.RGB565
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
# On the OV7725 sensor, edge detection can be enhanced
|
||||
|
||||
@ -11,7 +11,7 @@ import sensor, image, time
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
# Segment the image by following thresholds. This segmentation is done while
|
||||
|
||||
@ -9,7 +9,7 @@ import sensor, image, time
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
while(True):
|
||||
|
||||
@ -9,7 +9,7 @@ import sensor, image, time
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
while(True):
|
||||
|
||||
@ -8,7 +8,7 @@ import sensor, image, time
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
while(True):
|
||||
|
||||
@ -10,7 +10,7 @@ import sensor, image, time
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.RGB565
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
while(True):
|
||||
|
||||
@ -13,7 +13,7 @@ kernel = [-1, -1, -1,\
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.RGB565
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
while(True):
|
||||
|
||||
@ -12,10 +12,10 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
sensor.skip_frames(30) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
pyb.LED(BLUE_LED_PIN).on()
|
||||
|
||||
@ -12,10 +12,10 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
sensor.skip_frames(30) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
pyb.LED(BLUE_LED_PIN).on()
|
||||
|
||||
@ -13,7 +13,7 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.HQVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
|
||||
# Load up a face detection HaarCascade. This is object that your OpenMV Cam
|
||||
# can use to detect faces using the find_features() method below. Your OpenMV
|
||||
@ -27,7 +27,7 @@ while(True):
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
print("About to start detecting faces...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
print("Now detecting faces!")
|
||||
|
||||
@ -13,7 +13,7 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
sensor.set_auto_whitebal(False) # Turn off white balance.
|
||||
|
||||
if not "temp" in os.listdir(): os.mkdir("temp") # Make a temp directory
|
||||
@ -22,7 +22,7 @@ while(True):
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
print("About to save background image...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
sensor.snapshot().save("temp/bg.bmp")
|
||||
|
||||
@ -14,11 +14,11 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
sensor.skip_frames(30) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
pyb.LED(BLUE_LED_PIN).on()
|
||||
|
||||
@ -17,7 +17,7 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.HQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
|
||||
# Load up a face detection HaarCascade. This is object that your OpenMV Cam
|
||||
# can use to detect faces using the find_features() method below. Your OpenMV
|
||||
@ -31,7 +31,7 @@ while(True):
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
print("About to start detecting faces...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
print("Now detecting faces!")
|
||||
|
||||
@ -17,7 +17,7 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
sensor.set_auto_whitebal(False) # Turn off white balance.
|
||||
|
||||
if not "temp" in os.listdir(): os.mkdir("temp") # Make a temp directory
|
||||
@ -26,7 +26,7 @@ while(True):
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
print("About to save background image...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
sensor.snapshot().save("temp/bg.bmp")
|
||||
|
||||
@ -15,11 +15,11 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
sensor.skip_frames(30) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
pyb.LED(BLUE_LED_PIN).on()
|
||||
|
||||
@ -18,7 +18,7 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.HQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
|
||||
# Load up a face detection HaarCascade. This is object that your OpenMV Cam
|
||||
# can use to detect faces using the find_features() method below. Your OpenMV
|
||||
@ -32,7 +32,7 @@ while(True):
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
print("About to start detecting faces...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
print("Now detecting faces!")
|
||||
|
||||
@ -18,7 +18,7 @@ BLUE_LED_PIN = 3
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.RGB565) # or sensor.GRAYSCALE
|
||||
sensor.set_framesize(sensor.QVGA) # or sensor.QQVGA (or others)
|
||||
sensor.skip_frames(10) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
sensor.set_auto_whitebal(False) # Turn off white balance.
|
||||
|
||||
if not "temp" in os.listdir(): os.mkdir("temp") # Make a temp directory
|
||||
@ -27,7 +27,7 @@ while(True):
|
||||
|
||||
pyb.LED(RED_LED_PIN).on()
|
||||
print("About to save background image...")
|
||||
sensor.skip_frames(60) # Give the user time to get ready.
|
||||
sensor.skip_frames(time = 2000) # Give the user time to get ready.
|
||||
|
||||
pyb.LED(RED_LED_PIN).off()
|
||||
sensor.snapshot().save("temp/bg.bmp")
|
||||
|
||||
@ -16,7 +16,7 @@ sensor.set_windowing((320, 240))
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
|
||||
# Skip a few frames to allow the sensor settle down
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
|
||||
# Load Haar Cascade
|
||||
# By default this will use all stages, lower satges is faster but less accurate.
|
||||
|
||||
@ -6,7 +6,7 @@ import sensor, image, time
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.RGB565
|
||||
sensor.set_framesize(sensor.QQVGA) # or sensor.QVGA (or others)
|
||||
sensor.skip_frames(30) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
sensor.set_gainceiling(8)
|
||||
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
@ -14,7 +14,7 @@ import sensor, image, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565) # grayscale is faster
|
||||
sensor.set_framesize(sensor.QQVGA)
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
clock = time.clock()
|
||||
|
||||
# All lines also have `x1()`, `y1()`, `x2()`, and `y2()` methods to get their end-points
|
||||
|
||||
@ -16,7 +16,7 @@ import sensor, image, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565) # grayscale is faster
|
||||
sensor.set_framesize(sensor.QQVGA)
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
clock = time.clock()
|
||||
|
||||
# All line objects have a `theta()` method to get their rotation angle in degrees.
|
||||
|
||||
@ -12,7 +12,7 @@ sensor.reset()
|
||||
sensor.set_contrast(1)
|
||||
sensor.set_gainceiling(8)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
|
||||
clock = time.clock() # Tracks FPS.
|
||||
|
||||
@ -14,7 +14,7 @@ sensor.set_framesize(sensor.VGA)
|
||||
sensor.set_windowing((320, 240))
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False, value=100)
|
||||
|
||||
def draw_keypoints(img, kpts):
|
||||
|
||||
@ -16,7 +16,7 @@ sensor.set_framesize(sensor.VGA)
|
||||
sensor.set_windowing((320, 240))
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False, value=100)
|
||||
|
||||
FILE_NAME = "desc"
|
||||
|
||||
@ -8,7 +8,7 @@ print("Letting auto algorithms run. Don't put anything in front of the camera!")
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(60)
|
||||
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()
|
||||
|
||||
@ -8,7 +8,7 @@ print("Letting auto algorithms run. Don't put anything in front of the camera!")
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(60)
|
||||
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()
|
||||
|
||||
@ -33,7 +33,7 @@ for r in ROIS: weight_sum += r[4] # r[4] is the roi weight.
|
||||
sensor.reset() # Initialize the camera sensor.
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # use grayscale.
|
||||
sensor.set_framesize(sensor.QQVGA) # use QQVGA for speed.
|
||||
sensor.skip_frames(30) # Let new settings take affect.
|
||||
sensor.skip_frames(time = 2000) # Let new settings take affect.
|
||||
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() # Tracks FPS.
|
||||
@ -43,8 +43,10 @@ while(True):
|
||||
img = sensor.snapshot() # Take a picture and return the image.
|
||||
|
||||
centroid_sum = 0
|
||||
|
||||
for r in ROIS:
|
||||
blobs = img.find_blobs(GRAYSCALE_THRESHOLD, roi=r[0:4], merge=True) # r[0:4] is roi tuple.
|
||||
|
||||
if blobs:
|
||||
# Find the blob with the most pixels.
|
||||
largest_blob = max(blobs, key=lambda b: b.pixels())
|
||||
@ -63,6 +65,7 @@ while(True):
|
||||
# are. Non-linear operations are good to use on the output of algorithms
|
||||
# like this to cause a response "trigger".
|
||||
deflection_angle = 0
|
||||
|
||||
# The 80 is from half the X res, the 60 is from half the Y res. The
|
||||
# equation below is just computing the angle of a triangle where the
|
||||
# opposite side of the triangle is the deviation of the center position
|
||||
|
||||
@ -7,7 +7,7 @@ import sensor, image, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or RGB565.
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -7,7 +7,7 @@ import sensor, image, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE) # or RGB565.
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -10,7 +10,7 @@ sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.VGA)
|
||||
sensor.set_windowing((240, 240)) # 240x240 center pixels of VGA
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -10,7 +10,7 @@ sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.VGA)
|
||||
sensor.set_windowing((240, 240)) # 240x240 center pixels of VGA
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -15,7 +15,7 @@ thresholds = [(30, 100, 15, 127, 15, 127), # generic_red_thresholds
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -17,7 +17,7 @@ thresholds = [(30, 100, 15, 127, 15, 127), # generic_red_thresholds -> index is
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -16,7 +16,7 @@ thresholds = [(30, 100, 15, 127, 15, 127), # generic_red_thresholds -> index is
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -11,7 +11,7 @@ thresholds = (245, 255)
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.VGA)
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -15,7 +15,7 @@ thresholds = [(30, 100, 15, 127, 15, 127), # generic_red_thresholds
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
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()
|
||||
|
||||
@ -8,7 +8,7 @@ import sensor, image, time, math
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QQVGA) # we run out of memory if the resolution is much bigger...
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
sensor.set_auto_whitebal(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
@ -8,7 +8,7 @@ import sensor, image, time, math
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QQVGA) # we run out of memory if the resolution is much bigger...
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
sensor.set_auto_whitebal(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
@ -9,7 +9,7 @@ sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.VGA) # we run out of memory if the resolution is much bigger...
|
||||
sensor.set_windowing((160, 120)) # Look at center 160x120 pixels of the VGA resolution.
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
sensor.set_auto_whitebal(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
@ -9,7 +9,7 @@ sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.VGA) # High Res!
|
||||
sensor.set_windowing((640, 80)) # V Res of 80 == less work (40 for 2X the speed).
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
sensor.set_auto_whitebal(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
@ -8,7 +8,7 @@ import sensor, image, time, math
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
sensor.set_auto_whitebal(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
@ -9,7 +9,7 @@ sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.VGA)
|
||||
sensor.set_windowing((320, 240)) # 2x Zoom
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
sensor.set_auto_whitebal(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
@ -8,7 +8,7 @@ import sensor, image, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QQVGA) # can be QVGA on M7...
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.VGA)
|
||||
sensor.set_windowing((240, 240)) # look at center 240x240 pixels of the VGA resolution.
|
||||
sensor.skip_frames(30)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
|
||||
clock = time.clock()
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ import image, math, pyb, sensor, struct, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.QQVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
|
||||
# LED Setup
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ import image, math, pyb, sensor, struct, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.QQVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
|
||||
# LED Setup
|
||||
|
||||
|
||||
@ -44,7 +44,7 @@ import image, math, pyb, sensor, struct, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.QQVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
|
||||
# LED Setup
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ import image, math, pyb, sensor, struct, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False)
|
||||
sensor.set_auto_whitebal(False)
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ import image, math, pyb, sensor, struct, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False)
|
||||
sensor.set_auto_whitebal(False)
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ import image, math, pyb, sensor, struct, time
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.RGB565)
|
||||
sensor.set_framesize(sensor.QVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
sensor.set_auto_gain(False)
|
||||
sensor.set_auto_whitebal(False)
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ valid_tag_ids = {
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.QQVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
|
||||
x_res = 160 # QQVGA
|
||||
y_res = 120 # QQVGA
|
||||
|
||||
@ -22,7 +22,7 @@ MAV_OPTICAL_FLOW_confidence_threshold = 0.2
|
||||
sensor.reset()
|
||||
sensor.set_pixformat(sensor.GRAYSCALE)
|
||||
sensor.set_framesize(sensor.QQVGA)
|
||||
sensor.skip_frames(60)
|
||||
sensor.skip_frames(time = 2000)
|
||||
|
||||
# Link Setup
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user