sensor (camera)
sensor sensor module (here specifically refers to the camera module), for camera configuration and image capture, etc., used to control the development board camera to complete the camera task.
Method
Initialize the monocular camera
Reset and initialize the monocular camera
sensor.reset([, freq=24000000[, set_regs=True[, dual_buff=False]]])
Parameters
freq
: Set the camera clock frequency, the higher the frequency, the higher the frame rate, but the image quality may be worse. The default is24MHz
, if the camera has colored spots (ov7740), you can adjust it appropriately, such as20MHz
set_regs
: Allow the program to write camera registers, the default isTrue
. If you need to customize the reset sequence, you can set it toFalse
, and then use thesensor.__write_reg(addr, value)
function to customize the write register sequencedual_buff
: The default isFalse
. Double buffering is allowed, which will increase the frame rate, but the memory usage will also increase (about 384KiB)choice
: Specify the type of camera to be searched, ov type (1), gc type (2), mt type (3), if this parameter is not passed, all types of cameras will be searched
return value
no
Reset the binocular camera
Reset and initialize the binocular camera
K210 has only one DVP interface and can only control one Sensor at a time. But we can use the
shudown
method to control the PWDN pin to select a specific Sensor. The remaining operations remain unchanged after the Sensor is specified. See
Routine 2
sensor.binocular_reset()
Parameters
no
return value
no
Set frame size
Used to set the output frame size of the camera, k210 supports the maximum VGA format, and the image cannot be obtained if it is larger than VGA
The screen configured on the MaixPy development board is 320*240 resolution, and it is recommended to set it to QVGA format
sensor.set_framesize(framesize[, set_regs=True])
Parameters
framesize
: frame sizeset_regs
: Allow the program to write camera registers, the default isTrue
. If you need to customize the sequence of setting the frame size, you can set it toFalse
, and then use thesensor.__write_reg(addr, value)
function to customize the write register sequence
return value
True
: set successfullyFalse
: setting error
Set frame format
Used to set the camera output format
The screen configured on the MaixPy development board uses RGB565, and it is recommended to set it to RGB565 format
sensor.set_pixformat(format[, set_regs=True])
Parameters
format
: Frame formatset_regs
: Allow the program to write camera registers, the default isTrue
. If you need to customize the sequence of setting the pixel format, you can set it toFalse
, and then use thesensor.__write_reg(addr, value)
function to customize the write register sequence
Available frame formats are
GRAYSCALE
,RGB565
,YUV422
return value
True
: set successfullyFalse
: setting error
Image capture control
Image capture function control
sensor.run(enable)
Parameters
enable
: 1 means start capturing images 0 means stop capturing images
return value
True
: set successfullyFalse
: setting error
Take an image
Take a picture with the camera
sensor.snapshot()
Parameters
no
return value
img
: The returned image object
Camera control
Turn off the camera / switch camera
sensor.shutdown(enable/select)
Parameters
Monocular camera
enable
: True means to turn on the camera False means to turn off the camera
Binocular camera
select
: switch camera by writing 0 or 1
return value
no
Frame skip
Skip the specified number of frames or skip the image within the specified time, so that the camera image is stable after changing the camera settings
sensor.skip_frames(n, [, time])
Parameters
n
: skip n frames of imagestime
: skip the specified time, the unit is ms
If n and time are not specified, the method skips 300 milliseconds of frames; if both are specified, the method skips n number of frames, but will return after time milliseconds
return value
no
Resolution width
Get the camera resolution width
sensor.width()
Parameters
no
return value
int
type of camera resolution width
Resolution height
Get the camera resolution height
sensor.height()
Parameters
no
return value
int
type of camera resolution height
Get frame buffer
Get the current frame buffer
sensor.get_fb()
Parameters
no
return value
- Objects of type
image
Get ID
Get the current camera ID
sensor.get_id()
Parameters
no
return value
- ID of type
int
Set the color bar test mode
Set the camera to the color bar test mode
After the color bar test mode is turned on, the camera will output a color bar image, which is often used to check whether the camera bus is connected correctly.
sensor.set_colorbar(enable)
Parameters
enable
: 1 means turn on the color bar test mode 0 means turn off the color bar test mode
return value
no
Set contrast
Set camera contrast
sensor.set_contrast(contrast)
Parameters
constrast
: camera contrast, the range is [-2,+2]
return value
True
: set successfullyFalse
: setting error
Set brightness
Set camera brightness
sensor.set_brightness(brightness)
Parameters
brightness
: Camera brightness, range [-2,+2]
return value
True
: set successfullyFalse
: setting error
Set saturation
Set camera saturation
sensor.set_saturation(saturation)
Parameters
constrast
: camera saturation, the range is [-2,+2]
return value
True
: set successfullyFalse
: setting error
Set automatic gain
Set camera auto gain mode
sensor.set_auto_gain(enable,gain_db)
Parameters
enable
: 1 means turn on auto gain 0 means turn off auto gaingain_db
: When auto gain is turned off, the set camera fixed gain value, the unit is dB
If you need to track the color, you need to turn off the automatic gain
return value
no
Get the gain value
Get the camera gain value
sensor.get_gain_db()
Parameters
no
return value
float
type gain value
Set horizontal mirroring
Set camera horizontal mirroring
sensor.set_hmirror(enable)
Parameters
enable
: 1 means enable horizontal mirroring 0 means turn off horizontal mirroring
return value
no
Set the camera to flip vertically
Set the camera to flip vertically
sensor.set_vflip(enable)
Parameters
enable
: 1 means turn on vertical flip 0 means turn off vertical flip
return value
no
Write register
Write the specified value to the camera register
sensor.__write_reg(address, value)
Parameters
address
: register addressvalue
: write value
return value
no
Please refer to the camera data sheet for details
Read register
Read camera register value
sensor.__read_reg(address)
Parameters
address
: register address
return value
int
type of register value
Please refer to the camera data sheet for details
set_jb_quality
Set the quality of the image transmitted to the IDE
sensor.set_jb_quality(quality)
Parameters
quality
: int
type, image quality percentage (0~100), the larger the number, the better the quality
Routine
Routine 1
# Monocular camera
import sensor
import lcd
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
img = sensor.snapshot()
lcd.display(img)
Routine 2
# Binocular camera
import sensor
import image
import lcd
import time
lcd.init()
sensor.binocular_reset()
sensor.shutdown(0) # Select sensor 0
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.shutdown(1) # Select sensor 1
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
while True:
sensor.shutdown(0) # Select sensor 0
img = sensor.snapshot()
lcd.display(img)
time.sleep_ms(100)
sensor.shutdown(1) # Select sensor 1
img = sensor.snapshot()
lcd.display(img)
time.sleep_ms(100)