maix.camera
maix.camera module, access camera device and get image from it
You can use
maix.camera
to access this module with MaixPy
This module is generated from MaixCDK
Module
No module
Enum
Variable
Function
list_devices
item | doc |
---|---|
brief | List all supported camera devices. |
return | Returns the path to the camera device. |
C++ defination code:
std::vector<std::string> list_devices()
set_regs_enable
def set_regs_enable(enable: bool = True) -> None
item | doc |
---|---|
brief | Enable set camera registers, default is false, if set to true, will not set camera registers, you can manually set registers by write_reg API. |
param | enable: enable/disable set camera registers |
C++ defination code:
void set_regs_enable(bool enable = true)
Class
Camera
item | doc |
---|---|
brief | Camera class |
C++ defination code:
class Camera
__init__
def __init__(self, width: int = -1, height: int = -1, format: maix.image.Format = ..., device: str = None, fps: int = -1, buff_num: int = 3, open: bool = True) -> None
item | doc |
---|---|
type | func |
brief | Construct a new Camera object |
param | width: camera width, default is -1, means auto, mostly means max width of camera support height: camera height, default is -1, means auto, mostly means max height of camera support format: camera output format, default is image.Format.FMT_RGB888 device: camera device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device fps: camera fps, default is -1, means auto, mostly means max fps of camera support buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame, more than one buffer will accelerate image read speed, but will cost more memory. open: If true, camera will automatically call open() after creation. default is true. |
static | False |
C++ defination code:
Camera(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, const char *device = nullptr, int fps = -1, int buff_num = 3, bool open = true)
get_ch_nums
def get_ch_nums(self) -> int
item | doc |
---|---|
type | func |
brief | Get the number of channels supported by the camera. |
return | Returns the maximum number of channels. |
static | False |
C++ defination code:
int get_ch_nums()
open
def open(self, width: int = -1, height: int = -1, format: maix.image.Format = ..., fps: int = -1, buff_num: int = -1) -> maix.err.Err
item | doc |
---|---|
type | func |
brief | Open camera and run |
param | width: camera width, default is -1, means auto, mostly means max width of camera support height: camera height, default is -1, means auto, mostly means max height of camera support format: camera output format, default same as the constructor's format argument fps: camera fps, default is -1, means auto, mostly means max fps of camera support buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame, more than one buffer will accelerate image read speed, but will cost more memory. |
return | error code, err::ERR_NONE means success, others means failed |
static | False |
C++ defination code:
err::Err open(int width = -1, int height = -1, image::Format format = image::FMT_INVALID, int fps = -1, int buff_num = -1)
read
def read(self, buff: capsule = None, buff_size: int = 0, block: bool = True) -> maix.image.Image
item | doc |
---|---|
type | func |
brief | Get one frame image from camera buffer, must call open method before read.\nIf open method not called, will call it automatically, if open failed, will throw exception!\nSo call open method before read is recommended. |
param | buff: buffer to store image data, if buff is nullptr, will alloc memory automatically. In MaixPy, default to None, you can create a image.Image object, then pass img.data() to buff. block: block read, default is true, means block util read image successfully, if set to false, will return nullptr if no image in buffer |
return | image::Image object, if failed, return nullptr, you should delete if manually in C++ |
static | False |
C++ defination code:
image::Image *read(void *buff = nullptr, size_t buff_size = 0, bool block = true)
clear_buff
def clear_buff(self) -> None
item | doc |
---|---|
type | func |
brief | Clear buff to ensure the next read image is the latest image |
static | False |
C++ defination code:
void clear_buff()
skip_frames
def skip_frames(self, num: int) -> None
item | doc |
---|---|
type | func |
brief | Read some frames and drop, this is usually used avoid read not stable image when camera just opened. |
param | num: number of frames to read and drop |
static | False |
C++ defination code:
void skip_frames(int num)
close
def close(self) -> None
item | doc |
---|---|
type | func |
brief | Close camera |
static | False |
C++ defination code:
void close()
add_channel
def add_channel(self, width: int = -1, height: int = -1, format: maix.image.Format = ..., fps: int = -1, buff_num: int = 3, open: bool = True) -> Camera
item | doc |
---|---|
type | func |
brief | Add a new channel and return a new Camera object, you can use close() to close this channel. |
param | width: camera width, default is -1, means auto, mostly means max width of camera support height: camera height, default is -1, means auto, mostly means max height of camera support format: camera output format, default is RGB888 fps: camera fps, default is -1, means auto, mostly means max fps of camera support buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame, more than one buffer will accelerate image read speed, but will cost more memory. open: If true, camera will automatically call open() after creation. default is true. |
return | new Camera object |
static | False |
C++ defination code:
camera::Camera *add_channel(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, int fps = -1, int buff_num = 3, bool open = true)
is_opened
def is_opened(self) -> bool
item | doc |
---|---|
type | func |
brief | Check if camera is opened |
return | true if camera is opened, false if not |
static | False |
C++ defination code:
bool is_opened()
is_closed
def is_closed(self) -> bool
item | doc |
---|---|
type | func |
brief | check camera device is closed or not |
return | closed or not, bool type |
static | False |
C++ defination code:
bool is_closed()
width
def width(self) -> int
item | doc |
---|---|
type | func |
brief | Get camera width |
return | camera width |
static | False |
C++ defination code:
int width()
height
def height(self) -> int
item | doc |
---|---|
type | func |
brief | Get camera height |
return | camera height |
static | False |
C++ defination code:
int height()
fps
def fps(self) -> int
item | doc |
---|---|
type | func |
brief | Get camera fps |
return | camera fps |
static | False |
C++ defination code:
int fps()
format
def format(self) -> maix.image.Format
item | doc |
---|---|
type | func |
brief | Get camera output format |
return | camera output format, image::Format object |
static | False |
C++ defination code:
image::Format format()
buff_num
def buff_num(self) -> int
item | doc |
---|---|
type | func |
brief | Get camera buffer number |
return | camera buffer number |
static | False |
C++ defination code:
int buff_num()
hmirror
def hmirror(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get camera horizontal mirror |
return | camera horizontal mirror |
static | False |
C++ defination code:
int hmirror(int value = -1)
vflip
def vflip(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get camera vertical flip |
return | camera vertical flip |
static | False |
C++ defination code:
int vflip(int value = -1)
device
def device(self) -> str
item | doc |
---|---|
type | func |
brief | Get camera device path |
return | camera device path |
static | False |
C++ defination code:
std::string device()
write_reg
def write_reg(self, addr: int, data: int, bit_width: int = 8) -> maix.err.Err
item | doc |
---|---|
type | func |
brief | Write camera register |
param | addr: register address data: register data bit_width: register data bit width, default is 8 |
return | error code, err::ERR_NONE means success, others means failed |
static | False |
C++ defination code:
err::Err write_reg(int addr, int data, int bit_width = 8)
read_reg
def read_reg(self, addr: int, bit_width: int = 8) -> int
item | doc |
---|---|
type | func |
brief | Read camera register |
param | addr: register address bit_width: register data bit width, default is 8 |
return | register data, -1 means failed |
static | False |
C++ defination code:
int read_reg(int addr, int bit_width = 8)
show_colorbar
def show_colorbar(self, enable: bool) -> maix.err.Err
item | doc |
---|---|
type | func |
brief | Camera output color bar image for test |
param | enable: enable/disable color bar |
return | error code, err::ERR_NONE means success, others means failed |
static | False |
C++ defination code:
err::Err show_colorbar(bool enable)
get_channel
def get_channel(self) -> int
item | doc |
---|---|
type | func |
brief | Get channel of camera |
return | channel number |
static | False |
C++ defination code:
int get_channel()
set_resolution
def set_resolution(self, width: int, height: int) -> maix.err.Err
item | doc |
---|---|
type | func |
brief | Set camera resolution |
param | width: new width height: new height |
return | error code, err::ERR_NONE means success, others means failed |
static | False |
C++ defination code:
err::Err set_resolution(int width, int height)
exposure
def exposure(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get camera exposure |
attention | This method will affect the isp and thus the image, so please be careful with it. |
param | value: exposure time. unit: us If value == -1, return exposure time. If value != 0, set and return exposure time. |
return | camera exposure time |
static | False |
C++ defination code:
uint64_t exposure(uint64_t value = -1)
gain
def gain(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get camera gain |
attention | This method will affect the isp and thus the image, so please be careful with it. |
param | value: camera gain. If value == -1, returns camera gain. If value != 0, set and return camera gain. |
return | camera gain |
static | False |
C++ defination code:
uint32_t gain(uint32_t value = -1)
luma
def luma(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get camera luma |
attention | This method will affect the isp and thus the image, so please be careful with it. |
param | value: luma value, range is [0, 100] If value == -1, returns luma value. If value != 0, set and return luma value. |
return | returns luma value |
static | False |
C++ defination code:
uint32_t luma(uint32_t value = -1)
constrast
def constrast(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get camera constrast |
attention | This method will affect the isp and thus the image, so please be careful with it. |
param | value: constrast value, range is [0, 100] If value == -1, returns constrast value. If value != 0, set and return constrast value. |
return | returns constrast value |
static | False |
C++ defination code:
uint32_t constrast(uint32_t value = -1)
saturation
def saturation(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get camera saturation |
attention | This method will affect the isp and thus the image, so please be careful with it. |
param | value: saturation value, range is [0, 100] If value == -1, returns saturation value. If value != 0, set and return saturation value. |
return | returns saturation value |
static | False |
C++ defination code:
uint32_t saturation(uint32_t value = -1)
awb_mode
def awb_mode(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get white balance mode |
attention | This method will affect the isp and thus the image, so please be careful with it. |
param | value: value = 0, means set white balance to auto mode, value = 1, means set white balance to manual mode, default is auto mode. |
return | returns awb mode |
static | False |
C++ defination code:
uint32_t awb_mode(uint32_t value = -1)
exp_mode
def exp_mode(self, value: int = -1) -> int
item | doc |
---|---|
type | func |
brief | Set/Get exposure mode |
attention | This method will affect the isp and thus the image, so please be careful with it. |
param | value: value = 0, means set exposure to auto mode, value = 1, means set exposure to manual mode, default is auto mode. |
return | returns exposure mode |
static | False |
C++ defination code:
uint32_t exp_mode(uint32_t value = -1)