Program Listing for File vision_lite.h
↰ Return to documentation for file (include/vision_lite.h
)
#ifndef MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_VISION_LITE_H_
#define MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_VISION_LITE_H_
#include <map>
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include "include/api/status.h"
#include "include/dataset/constants.h"
#include "include/dataset/transforms.h"
namespace mindspore {
namespace dataset {
// Transform operations for performing computer vision.
namespace vision {
// Forward Declarations
class RotateOperation;
class Affine final : public TensorTransform {
public:
explicit Affine(float_t degrees, const std::vector<float> &translation = {0.0, 0.0}, float scale = 0.0,
const std::vector<float> &shear = {0.0, 0.0},
InterpolationMode interpolation = InterpolationMode::kNearestNeighbour,
const std::vector<uint8_t> &fill_value = {0, 0, 0});
~Affine() = default;
std::shared_ptr<TensorOperation> Parse() override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class CenterCrop final : public TensorTransform {
public:
explicit CenterCrop(std::vector<int32_t> size);
~CenterCrop() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
std::shared_ptr<TensorOperation> Parse(const MapTargetDevice &env) override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class RGB2BGR final : public TensorTransform {
public:
RGB2BGR() = default;
~RGB2BGR() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
};
class RGB2GRAY final : public TensorTransform {
public:
RGB2GRAY() = default;
~RGB2GRAY() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
};
class Crop final : public TensorTransform {
public:
Crop(std::vector<int32_t> coordinates, std::vector<int32_t> size);
~Crop() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class Decode final : public TensorTransform {
public:
explicit Decode(bool rgb = true);
~Decode() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
std::shared_ptr<TensorOperation> Parse(const MapTargetDevice &env) override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class GaussianBlur final : public TensorTransform {
public:
GaussianBlur(const std::vector<int32_t> &kernel_size, const std::vector<float> &sigma = {0., 0.});
~GaussianBlur() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class Normalize final : public TensorTransform {
public:
Normalize(std::vector<float> mean, std::vector<float> std);
~Normalize() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
std::shared_ptr<TensorOperation> Parse(const MapTargetDevice &env) override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class RandomAffine final : public TensorTransform {
public:
explicit RandomAffine(const std::vector<float_t> °rees,
const std::vector<float_t> &translate_range = {0.0, 0.0, 0.0, 0.0},
const std::vector<float_t> &scale_range = {1.0, 1.0},
const std::vector<float_t> &shear_ranges = {0.0, 0.0, 0.0, 0.0},
InterpolationMode interpolation = InterpolationMode::kNearestNeighbour,
const std::vector<uint8_t> &fill_value = {0, 0, 0});
~RandomAffine() = default;
std::shared_ptr<TensorOperation> Parse() override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class Resize final : public TensorTransform {
public:
explicit Resize(std::vector<int32_t> size, InterpolationMode interpolation = InterpolationMode::kLinear);
~Resize() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
std::shared_ptr<TensorOperation> Parse(const MapTargetDevice &env) override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class ResizePreserveAR final : public TensorTransform {
public:
ResizePreserveAR(int32_t height, int32_t width, int32_t img_orientation = 0);
~ResizePreserveAR() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
private:
struct Data;
std::shared_ptr<Data> data_;
};
class Rotate final : public TensorTransform {
public:
Rotate();
Rotate(float degrees, InterpolationMode resample = InterpolationMode::kNearestNeighbour, bool expand = false,
std::vector<float> center = {}, std::vector<uint8_t> fill_value = {0, 0, 0});
~Rotate() = default;
protected:
std::shared_ptr<TensorOperation> Parse() override;
private:
std::shared_ptr<RotateOperation> op_;
struct Data;
std::shared_ptr<Data> data_;
};
} // namespace vision
} // namespace dataset
} // namespace mindspore
#endif // MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_VISION_LITE_H_