mindspore::dataset

查看源文件

#include <lite_mat.h>
#include <image_process.h>

image_process.h文件的函数

ResizeBilinear

bool ResizeBilinear(LiteMat &src, LiteMat &dst, int dst_w, int dst_h)

通过双线性算法调整图像大小,当前仅支持的数据类型为uint8,当前支持的通道为3和1。

  • 参数

    • src: 输入的图片数据。

    • dst: 输出的图片数据。

    • dst_w: 输出图片数据的宽度。

    • dst_h: 输出图片数据的高度。

  • 返回值

    返回True或者False。

InitFromPixel

bool InitFromPixel(const unsigned char *data, LPixelType pixel_type, LDataType data_type, int w, int h, LiteMat &m)

从像素初始化LiteMat,当前支持的转换是rbgaTorgb和rgbaTobgr。

  • 参数

    • data: 输入的数据。

    • pixel_type: 像素点的类型。

    • data_type: 数据的类型。

    • w: 输出数据的宽度。

    • h: 输出数据的高度。

    • mat: 用于存储图像数据。

  • 返回值

    返回True或者False。

ConvertTo

bool ConvertTo(LiteMat &src, LiteMat &dst, double scale = 1.0)

转换数据类型,当前支持的转换是将uint8转换为float。

  • 参数

    • src: 输入的图片数据。

    • dst: 输出图像数据。

    • scale: 对像素做尺度(默认值为1.0)。

  • 返回值

    返回True或者False。

Crop

bool Crop(LiteMat &src, LiteMat &dst, int x, int y, int w, int h)

裁剪图像,通道支持为3和1。

  • 参数

    • src: 输入的图片数据。

    • dst: 输出图像数据。

    • x: 屏幕截图起点的x坐标值。

    • y: 屏幕截图起点的y坐标值。

    • w: 截图的宽度。

    • h: 截图的高度。

  • 返回值

    返回True或者False。

SubStractMeanNormalize

bool SubStractMeanNormalize(const LiteMat &src, LiteMat &dst, const std::vector<float> &mean, const std::vector<float> &std)

规一化图像,当前支持的数据类型为float。

  • 参数

    • src: 输入的图片数据。

    • dst: 输出图像数据。

    • mean: 数据集的均值。

    • std: 数据集的方差。

  • 返回值

    返回True或者False。

Pad

bool Pad(const LiteMat &src, LiteMat &dst, int top, int bottom, int left, int right, PaddBorderType pad_type, uint8_t fill_b_or_gray, uint8_t fill_g, uint8_t fill_r)

填充图像,通道支持为3和1。

  • 参数

    • src: 输入的图片数据。

    • dst: 输出图像数据。

    • top: 图片顶部长度。

    • bottom: 图片底部长度。

    • left: 图片左边长度。

    • right: 图片右边长度。

    • pad_type: padding的类型。

    • fill_b_or_gray: R或者GRAY。

    • fill_g: G.

    • fill_r: R.

  • 返回值

    返回True或者False。

Affine

void Affine(LiteMat &src, LiteMat &out_img, double M[6], std::vector<size_t> dsize, UINT8_C1 borderValue)

对1通道图像应用仿射变换。

  • 参数

    • src: 输入图片数据。

    • out_img: 输出图片数据。

    • M[6]: 仿射变换矩阵。

    • dsize: 输出图像的大小。

    • borderValue: 采图之后用于填充的像素值。

void Affine(LiteMat &src, LiteMat &out_img, double M[6], std::vector<size_t> dsize, UINT8_C3 borderValue)

对3通道图像应用仿射变换。

  • 参数

    • src: 输入图片数据。

    • out_img: 输出图片数据。

    • M[6]: 仿射变换矩阵。

    • dsize: 输出图像的大小。

    • borderValue: 采图之后用于填充的像素值。

GetDefaultBoxes

std::vector<std::vector<float>> GetDefaultBoxes(BoxesConfig config)

获取Faster R-CNN,SSD,YOLO等的默认框。

  • 参数

    • config: BoxesConfig结构体对象。

  • 返回值

    返回默认框。

ConvertBoxes

void ConvertBoxes(std::vector<std::vector<float>> &boxes, std::vector<std::vector<float>> &default_boxes, BoxesConfig config)

将预测框转换为(y,x,h,w)的实际框。

  • 参数

    • boxes: 实际框的大小。

    • default_boxes: 默认框。

    • config: BoxesConfig结构体对象。

ApplyNms

std::vector<int> ApplyNms(std::vector<std::vector<float>> &all_boxes, std::vector<float> &all_scores, float thres, int max_boxes)

对实际框的非极大值抑制。

  • 参数

    • all_boxes: 所有输入的框。

    • all_scores: 通过网络执行后所有框的得分。

    • thres: IOU的预值。

    • max_boxes: 输出框的最大值。

  • 返回值

    返回框的id。

LiteMat

LiteMat是一个处理图像的类。

构造函数和析构函数

LiteMat

LiteMat()

LiteMat(int width, LDataType data_type = LDataType::UINT8)

LiteMat(int width, int height, LDataType data_type = LDataType::UINT8)

LiteMat(int width, int height, int channel, LDataType data_type = LDataType::UINT8)

MindSpore中dataset模块下LiteMat的构造方法,使用参数的默认值。

~LiteMat();

MindSpore dataset LiteMat的析构函数。

公有成员函数

Init

void Init(int width, LDataType data_type = LDataType::UINT8)

void Init(int width, int height, LDataType data_type = LDataType::UINT8)

void Init(int width, int height, int channel, LDataType data_type = LDataType::UINT8)

该函数用于初始化图像的通道,宽度和高度,参数不同。

IsEmpty

bool IsEmpty() const

确定对象是否为空的函数。

  • 返回值

    返回True或者False。

Release

void Release()

释放内存的函数。

私有成员函数

AlignMalloc

void *AlignMalloc(unsigned int size)

申请内存对齐的函数。

  • 参数

    • size: 内存大小。

  • 返回值

    返回指针的大小。

AlignFree

void AlignFree(void *ptr)

释放指针内存大小的方法。

InitElemSize

void InitElemSize(LDataType data_type)

通过data_type初始化元素字节数的值。

  • 参数

    • data_type: 数据的类型。

 int addRef(int *p, int value)

用于计算引用该函数次数的函数。

  • 参数

    • p: 指向引用的对象。

    • value: 引用时所加的值。