MindSpore数据集mindspore::dataset
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的更多相关文章
- 『计算机视觉』Mask-RCNN_训练网络其一:数据集与Dataset类
Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...
- 镶嵌数据集 Mosaic Dataset 的常见数据组织方式
镶嵌数据集是ESRI公司推出一种用于管理海量影像数据的数据模型,定义在GeoDatabase数据模型中. 它的常见数据组织方式有两种: 1. 源镶嵌数据集 Source Mosaic Dataset ...
- MindSpore张量mindspore::tensor
MindSpore张量mindspore::tensor MSTensor #include <ms_tensor.h> MSTensor定义了MindSpore Lite中的张量. 构造 ...
- MindSpore接口mindspore::api
MindSpore接口mindspore::api Context #include <context.h> Context类用于保存执行中的环境变量. 静态公有成员函数 Instance ...
- HTML5 数据集属性dataset
有时候在HTML元素上绑定一些额外信息,特别是JS选取操作这些元素时特别有帮助.通常我们会使用getAttribute()和setAttribute()来读和写非标题属性的值.但为此付出的代价是文档将 ...
- 数据库学习任务四:数据读取器对象SqlDataReader、数据适配器对象SqlDataAdapter、数据集对象DataSet
数据库应用程序的开发流程一般主要分为以下几个步骤: 创建数据库 使用Connection对象连接数据库 使用Command对象对数据源执行SQL命令并返回数据 使用DataReader和DataSet ...
- pytorch 读数据接口 制作数据集 data.dataset
[吐槽] 啊,代码,你这个大猪蹄子 自己写了cifar10的数据接口,跟官方接口load的数据一样, 沾沾自喜,以为自己会写数据接口了 几天之后,突然想,自己的代码为啥有点慢呢,这数据集不大啊 用了官 ...
- Pytorch数据集读入——Dataset类,实现数据集打乱Shuffle
在进行相关平台的练习过程中,由于要自己导入数据集,而导入方法在市面上五花八门,各种库都可以应用,在这个过程中我准备尝试torchvision的库dataset torchvision.datasets ...
- TensorFlow2.0(10):加载自定义图片数据集到Dataset
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
随机推荐
- 让vim显示空格,tab字符,及vim多行注释
1.显示 TAB 键 文件中有 TAB 键的时候,你是看不见的.要把它显示出来: :set list 现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里 ...
- 技术面试问题汇总第001篇:猎豹移动反病毒工程师part1
我在2014年7月1日参加了猎豹移动(原金山网络)反病毒工程师的电话面试,但是很遗憾,由于我当时准备不足,加上自身水平不够,面试官向我提出的很多技术问题我都没能答出来(这里面既有基础类的问题,也有比较 ...
- 360加固保so动态脱壳
环境及工具 手机 : 中兴 U887 系统版本: Android 2.3.5 工具 : IDA pro 6.6 .0101Editor 目前so加壳有很多家,我己知的有 爱加密,梆 ...
- hdu3400 两重三分
题意: 题意给你两个公路 A-B C-D 和三个速度V(ab) V(cd) 和 V(两条公路之间) 问你从A到D的最短时间是多少. 思路: 一开始暴力了其中的一条边,每次加0.01,另 ...
- Python第三章-字符串
第三章 字符串 3.1 基本字符串操作 Python的字符串和元组差不多,是不可以进行改变的,如果想改变值,可以尝试list序列化之后在进行修改. { website = 'http://ww ...
- Intel汇编语言程序设计学习-第六章 条件处理-下
6.6 应用:有限状态机 这个东西说了半天,感觉就是把逻辑弄得跟有向图一样,没看出来什么高端的东西,下面就整理下书上说的概念: 有限状态机(FSM,Finite-State Machine)是依据输 ...
- Github + Picgo + Typora 让笔记远走高飞
Github设置 登录 2.新建仓库 设置token 打开设置 然后点击,按钮生成Generate token Picgo设置 下载PicGo 参考视频 PicGo设置 设置Server 图床设置 上 ...
- Elastic-Job原理
概述Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成. Elastic-Job-Lite定位为轻量级无中心 ...
- 基于linux信号的timeout装饰器
在做基于ray的分布式任务处理时,偶尔遇到由于ray集群不稳定导致的长时间连接不上,进而导致程序卡死,无法向后端返回任务状态的情况.但是ray的初始化函数本身未实现超时机制,因此设计基于多线程+信号的 ...
- SpringBoot邮件报警
SpringBoot邮件报警 一.介绍 邮件报警,大体思路就是收集服务器发生的异常发送到邮箱,做到服务器出问题第一时间知道,当然要是不关注邮箱当我没说 二.配置邮箱 (1).注册两个邮箱账号(一个用来 ...