MindSpore数据集mindspore::dataset

ResizeBilinear

#include <image_process.h>

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

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

  • 参数
  • src: 输入的图片数据。
  • dst: 输出的图片数据。
  • dst_w: 输出图片数据的宽度。
  • dst_h: 输出图片数据的高度。
  • 返回值

执行成功返回true,否则不满足条件返回false。

InitFromPixel

#include <image_process.h>

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

从像素初始化LiteMat,提供数据为RGB或者BGR格式,不用进行格式转换,当前支持的转换是RGB_TO_BGR、RGBA_To_RGB、RGBA_To_BGR、NV21_To_BGR和NV12_To_BGR。

  • 参数
  • data: 输入的数据。
  • pixel_type: 像素点的类型。
  • data_type: 数据的类型。
  • w: 输出数据的宽度。
  • h: 输出数据的高度。
  • mat: 用于存储图像数据。
  • 返回值

初始化成功返回true,否则返回false。

ConvertTo

#include <image_process.h>

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

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

  • 参数
  • src: 输入的图片数据。
  • dst: 输出图像数据。
  • scale: 对像素做尺度(默认值为1.0)。
  • 返回值

转换数据类型成功返回true,否则返回false。

Crop

#include <image_process.h>

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

#include <image_process.h>

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

#include <image_process.h>

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。

ExtractChannel

#include <image_process.h>

bool ExtractChannel(const LiteMat &src, LiteMat &dst, int col)

按索引提取图像通道。

  • 参数
  • src: 输入的图片数据。
  • col: 通道的序号。
  • 返回值

提取图像通道成功返回true,否则返回false。

Split

#include <image_process.h>

bool Split(const LiteMat &src, std::vector<LiteMat> &mv)

将图像通道拆分为单通道。

  • 参数
  • src: 输入的图片数据。
  • mv: 单个通道数据。
  • 返回值

图像通道拆分成功返回true,否则返回false。

Merge

#include <image_process.h>

bool Merge(const std::vector<LiteMat> &mv, LiteMat &dst)

用几个单通道阵列创建一个多通道图像。

  • 参数
  • mv: 单个通道数据。
  • dst: 输出图像数据。
  • 返回值

创建多通道图像成功返回true,否则返回false。

Affine

#include <image_process.h>

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)

#include <image_process.h>

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

  • 参数
  • src: 输入图片数据。
  • out_img: 输出图片数据。
  • M[6]: 仿射变换矩阵。
  • dsize: 输出图像的大小。
  • borderValue: 采图之后用于填充的像素值。

GetDefaultBoxes

#include <image_process.h>

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

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

  • 参数
  • config: BoxesConfig结构体对象。
  • 返回值

返回默认框。

ConvertBoxes

#include <image_process.h>

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

#include <image_process.h>

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

#include <lite_mat.h>

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

~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()

释放内存的函数。

公有属性

data_ptr_

data_ptr_

pointer类型,表示存放图像数据的地址。

elem_size_

elem_size_

int类型,表示元素的字节数。

width_

width_

int类型,表示图像的宽度。

height_

height_

int类型,表示图像的高度。

channel_

channel_

int类型,表示图像的通道数。

c_step_

c_step_

int类型,表示经过对齐后的图像宽高之积。

dims_

dims_

int类型,表示图像的维数。

size_

size_

size_t类型,表示图像占用内存的大小。

data_type_

data_type_

LDataType类型,表示图像的数据类型。

ref_count_

ref_count_

pointer类型,表示引用计数器的地址。

Subtract

#include <lite_mat.h>

bool Subtract(const LiteMat &src_a, const LiteMat &src_b, LiteMat *dst)

计算每个元素的两个图像之间的差异。

  • 参数
  • src_a: 输入的图像a的数据。
  • src_b: 输入的图像b的数据。
  • dst: 输出图像的数据。
  • 返回值

满足条件的计算返回true,否则返回false。

Divide

#include <lite_mat.h>

bool Divide(const LiteMat &src_a, const LiteMat &src_b, LiteMat *dst)

计算每个元素在两个图像之间的划分。

  • 参数
  • src_a: 输入的图像a的数据。
  • src_b: 输入的图像b的数据。
  • dst: 输出图像的数据。
  • 返回值

满足条件的计算返回true,否则返回false。

Multiply

#include <lite_mat.h>

bool Multiply(const LiteMat &src_a, const LiteMat &src_b, LiteMat *dst)

计算每个元素在两个图像之间的相乘值。

  • 参数
  • src_a: 输入的图像a的数据。
  • src_b: 输入的图像b的数据。
  • dst: 输出图像的数据。
  • 返回值

满足条件的计算返回true,否则返回false。

MindSpore数据集mindspore::dataset的更多相关文章

  1. 『计算机视觉』Mask-RCNN_训练网络其一:数据集与Dataset类

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  2. 镶嵌数据集 Mosaic Dataset 的常见数据组织方式

    镶嵌数据集是ESRI公司推出一种用于管理海量影像数据的数据模型,定义在GeoDatabase数据模型中. 它的常见数据组织方式有两种: 1. 源镶嵌数据集 Source Mosaic Dataset ...

  3. MindSpore张量mindspore::tensor

    MindSpore张量mindspore::tensor MSTensor #include <ms_tensor.h> MSTensor定义了MindSpore Lite中的张量. 构造 ...

  4. MindSpore接口mindspore::api

    MindSpore接口mindspore::api Context #include <context.h> Context类用于保存执行中的环境变量. 静态公有成员函数 Instance ...

  5. HTML5 数据集属性dataset

    有时候在HTML元素上绑定一些额外信息,特别是JS选取操作这些元素时特别有帮助.通常我们会使用getAttribute()和setAttribute()来读和写非标题属性的值.但为此付出的代价是文档将 ...

  6. 数据库学习任务四:数据读取器对象SqlDataReader、数据适配器对象SqlDataAdapter、数据集对象DataSet

    数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...

  7. pytorch 读数据接口 制作数据集 data.dataset

    [吐槽] 啊,代码,你这个大猪蹄子 自己写了cifar10的数据接口,跟官方接口load的数据一样, 沾沾自喜,以为自己会写数据接口了 几天之后,突然想,自己的代码为啥有点慢呢,这数据集不大啊 用了官 ...

  8. Pytorch数据集读入——Dataset类,实现数据集打乱Shuffle

    在进行相关平台的练习过程中,由于要自己导入数据集,而导入方法在市面上五花八门,各种库都可以应用,在这个过程中我准备尝试torchvision的库dataset torchvision.datasets ...

  9. TensorFlow2.0(10):加载自定义图片数据集到Dataset

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

随机推荐

  1. android添加账户源码浅析

    上篇粗略的分析android添加账号的流程,本篇深入的解析下执行步骤.先来看图片,取自深入理解android卷2: 上图详细的分析了addAccount的流程,下面我们结合源码来理解它 1.addAc ...

  2. (CV学习笔记)看图说话(Image Captioning)-2

    实现load_img_as_np_array def load_img_as_np_array(path, target_size): """从给定文件[加载]图像,[缩 ...

  3. 【phpstorm】Server's certificate is not trusted

    问题描述 phpstorm 一直跳出 问题解决 file-->Settings然后搜索Server Certificates,选中框打钩

  4. 一、HttpRunner学习汇总

    HttpRunner是一款面向Http和HTTPS协议的通用测试框架,只需编写维护一份YAML/JSON脚本即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求,是基于关键字驱动的框架,基于 ...

  5. CSS中margin负值巧布局

    margin负值实现细边框 我们先准备五个div盒子,并设置好浮动和2px的实线黑色边框,看看效果 中间的边框线挨在了一起致使边框变粗成了4px,这时使用margin负值就可以解决这个问题 <s ...

  6. ELK 在 MacOS( Big Sur) 上安装与配置步骤

    ELK学习笔记 - 安装篇 目录 ELK学习笔记 - 安装篇 1. ElasticSearch 1.1 发展历史及现状 1.2 ElasticSearch 的安装 2. Logstash 2.1 Lo ...

  7. 1.HTML入门

    1.1 初识HTML 1.1.1 概述 网络世界已经跟我们息息相关,当我们打开一个网站,首先映入眼帘的就是一个个华丽多彩的网页.这些网页,不仅呈现着基本的内容,还具备优雅的布局和丰富的动态效果,这一切 ...

  8. MSSQL·CLI执行T-SQL

    阅文时长 | 0.44分钟 字数统计 | 480.8字符 主要内容 | 1.引言&背景 2.详细步骤&排坑指南 3.中途执行异常处理方式 4.声明与参考资料 『MSSQL·CLI执行T ...

  9. traefik: 基础入门总结

    traefik介绍 traefik-现代反向代理,也可称为现代边缘路由:traefik原声兼容主流集群,Kubernetes,Docker,AWS等.官方的定位traefik是一个让开发人员将时间花费 ...

  10. 用 set follow-fork-mode child即可。这是一个 gdb 命令,其目的是告诉 gdb 在目标应用调用fork之后接着调试子进程而不是父进程,因为在 Linux 中fork系统调用成功会返回两次,一次在父进程,一次在子进程

    GDB的那些奇淫技巧 evilpan 收录于 Security  2020-09-13  约 5433 字   预计阅读 11 分钟  709 次阅读  gdb也用了好几年了,虽然称不上骨灰级玩家,但 ...