跳到主要内容

~ImageProcessor

类说明

ImageProcessor类,作为图像处理类,主要开放图像编解码、缩放和抠图等接口。

ImageProcessor对象不支持在多线程中并发使用,如需多线程使用同一个ImageProcessor对象,用户需自行保证加锁互斥。

:::note 说明 ImageProcessor类涉及申请Device侧资源,与MxDeInit的作用域冲突,因此,其作用域不能大于或等于MxDeInit的作用域。 :::

关于真实图片宽高与对齐后的图片宽高说明

图1所示,由于硬件限制,ImageProcessor使用过程中存在部分限制,为了加快读写速度,图片长宽需要对齐到指定大小,但不影响有效区域(采用向右、向下填充无效数据的方式,对齐到指定大小)。

在对图片进行缩放等操作时,ImageProcessor将会以图片原始的高宽进行处理。

图1 对齐宽高与真实宽高

父主题: ImageProcessor

ImageProcessor

函数功能

ImageProcessor类的构造函数,支持异步执行。

若因内存不足,或无法识别芯片等构造失败的场景会抛出std::runtime_error异常。

图像处理接口(解码除外)的输入Image类包含的内存数据均需要在Device侧,用户使用ImageProcessor类内的接口获取的Image对象内存数据已经在Device侧,并且无需用户管理释放。

函数原型

ImageProcessor(const int32_t deviceId = 0);

参数说明

参数名输入/输出说明
deviceId输入图像处理类部署的芯片,默认为0号芯片。 取值范围:[0, 识别到的芯片个数 - 1]。

父主题: ImageProcessor

~ImageProcessor

函数功能

ImageProcessor类的默认析构函数。

函数原型

~ImageProcessor()

父主题: ImageProcessor

InitJpegEncodeChannel

函数功能

初始化JPEGE图像通道,用于JPEG编码。

函数原型

APP_ERROR InitJpegEncodeChannel(const JpegEncodeChnConfig& config = JPEG_ENCODE_CHN_CONFIG);

参数说明

参数名输入/输出说明
config输入通道配置参数,取值范围为[32, 8192], 默认值为“JPEG_ENCODE_CHN_CONFIG”,(即图像最大宽高为8192 * 8192)。该配置无效。 当前仅支持配置图片编码的通道宽高(maxPicWidth、maxPicHeight),内部自动16对齐,当高小于宽时,高自动向上对齐到宽的长度,请根据实际编码场景图片预留适当的宽高。 对应数据结构参见如下。
text<br>struct JpegEncodeChnConfig &#123;<br>uint32_t maxPicWidth = MAX_HIMPI_VENC_PIC_WIDTH;<br>uint32_t maxPicHeight = MAX_HIMPI_VENC_PIC_HEIGHT;<br>&#125;;<br>

返回参数说明

数据结构说明
APP_ERROR程序执行返回的错误码,请参考APP_ERROR说明

父主题: ImageProcessor

InitJpegDecodeChannel

函数功能

初始化JPEGD图像通道,用于JPEG解码。

函数原型

APP_ERROR InitJpegDecodeChannel(const JpegDecodeChnConfig& config = JPEG_DECODE_CHN_CONFIG);

参数说明

参数名输入/输出说明
config输入通道配置参数,默认值为“JPEG_DECODE_CHN_CONFIG”。 对应数据结构参见如下(当前预留)。
text<br>struct JpegDecodeChnConfig &#123;&#125;;<br>

返回参数说明

数据结构说明
APP_ERROR程序执行返回的错误码,请参考APP_ERROR说明

父主题: ImageProcessor

在线提单