:gitee_url: https://gitee.com/mindspore/docs .. _program_listing_file_include_vision.h: Program Listing for File vision.h ================================= |exhale_lsh| :ref:`Return to documentation for file ` (``include/vision.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_VISION_H_ #define MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_VISION_H_ #include #include #include #include #include #include "include/api/dual_abi_helper.h" #include "include/api/status.h" #include "include/dataset/constants.h" #include "include/dataset/transforms.h" #include "include/dataset/vision_lite.h" namespace mindspore { namespace dataset { class TensorOperation; // Transform operations for performing computer vision. namespace vision { class AdjustGamma final : public TensorTransform { public: explicit AdjustGamma(float gamma, float gain = 1); ~AdjustGamma() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class AutoContrast final : public TensorTransform { public: explicit AutoContrast(float cutoff = 0.0, std::vector ignore = {}); ~AutoContrast() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class BoundingBoxAugment final : public TensorTransform { public: explicit BoundingBoxAugment(TensorTransform *transform, float ratio = 0.3); explicit BoundingBoxAugment(const std::shared_ptr &transform, float ratio = 0.3); explicit BoundingBoxAugment(const std::reference_wrapper transform, float ratio = 0.3); ~BoundingBoxAugment() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class ConvertColor final : public TensorTransform { public: explicit ConvertColor(ConvertMode convert_mode); ~ConvertColor() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class CutMixBatch final : public TensorTransform { public: explicit CutMixBatch(ImageBatchFormat image_batch_format, float alpha = 1.0, float prob = 1.0); ~CutMixBatch() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class CutOut final : public TensorTransform { public: explicit CutOut(int32_t length, int32_t num_patches = 1); ~CutOut() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class Equalize final : public TensorTransform { public: Equalize(); ~Equalize() = default; protected: std::shared_ptr Parse() override; }; class HorizontalFlip final : public TensorTransform { public: HorizontalFlip(); ~HorizontalFlip() = default; protected: std::shared_ptr Parse() override; }; class HWC2CHW final : public TensorTransform { public: HWC2CHW(); ~HWC2CHW() = default; protected: std::shared_ptr Parse() override; }; class Invert final : public TensorTransform { public: Invert(); ~Invert() = default; protected: std::shared_ptr Parse() override; }; class MixUpBatch final : public TensorTransform { public: explicit MixUpBatch(float alpha = 1); ~MixUpBatch() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class NormalizePad final : public TensorTransform { public: NormalizePad(const std::vector &mean, const std::vector &std, const std::string &dtype = "float32") : NormalizePad(mean, std, StringToChar(dtype)) {} NormalizePad(const std::vector &mean, const std::vector &std, const std::vector &dtype); ~NormalizePad() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class Pad final : public TensorTransform { public: explicit Pad(std::vector padding, std::vector fill_value = {0}, BorderType padding_mode = BorderType::kConstant); ~Pad() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomColor final : public TensorTransform { public: RandomColor(float t_lb, float t_ub); ~RandomColor() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomColorAdjust final : public TensorTransform { public: explicit RandomColorAdjust(std::vector brightness = {1.0, 1.0}, std::vector contrast = {1.0, 1.0}, std::vector saturation = {1.0, 1.0}, std::vector hue = {0.0, 0.0}); ~RandomColorAdjust() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomCrop final : public TensorTransform { public: explicit RandomCrop(std::vector size, std::vector padding = {0, 0, 0, 0}, bool pad_if_needed = false, std::vector fill_value = {0, 0, 0}, BorderType padding_mode = BorderType::kConstant); ~RandomCrop() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomCropDecodeResize final : public TensorTransform { public: explicit RandomCropDecodeResize(std::vector size, std::vector scale = {0.08, 1.0}, std::vector ratio = {3. / 4, 4. / 3}, InterpolationMode interpolation = InterpolationMode::kLinear, int32_t max_attempts = 10); ~RandomCropDecodeResize() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomCropWithBBox final : public TensorTransform { public: explicit RandomCropWithBBox(std::vector size, std::vector padding = {0, 0, 0, 0}, bool pad_if_needed = false, std::vector fill_value = {0, 0, 0}, BorderType padding_mode = BorderType::kConstant); ~RandomCropWithBBox() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomHorizontalFlip final : public TensorTransform { public: explicit RandomHorizontalFlip(float prob = 0.5); ~RandomHorizontalFlip() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomHorizontalFlipWithBBox final : public TensorTransform { public: explicit RandomHorizontalFlipWithBBox(float prob = 0.5); ~RandomHorizontalFlipWithBBox() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomPosterize final : public TensorTransform { public: explicit RandomPosterize(const std::vector &bit_range = {4, 8}); ~RandomPosterize() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomResize final : public TensorTransform { public: explicit RandomResize(std::vector size); ~RandomResize() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomResizeWithBBox final : public TensorTransform { public: explicit RandomResizeWithBBox(std::vector size); ~RandomResizeWithBBox() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomResizedCrop final : public TensorTransform { public: explicit RandomResizedCrop(std::vector size, std::vector scale = {0.08, 1.0}, std::vector ratio = {3. / 4., 4. / 3.}, InterpolationMode interpolation = InterpolationMode::kLinear, int32_t max_attempts = 10); ~RandomResizedCrop() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomResizedCropWithBBox final : public TensorTransform { public: RandomResizedCropWithBBox(std::vector size, std::vector scale = {0.08, 1.0}, std::vector ratio = {3. / 4., 4. / 3.}, InterpolationMode interpolation = InterpolationMode::kLinear, int32_t max_attempts = 10); ~RandomResizedCropWithBBox() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomRotation final : public TensorTransform { public: RandomRotation(std::vector degrees, InterpolationMode resample = InterpolationMode::kNearestNeighbour, bool expand = false, std::vector center = {}, std::vector fill_value = {0, 0, 0}); ~RandomRotation() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomSelectSubpolicy final : public TensorTransform { public: explicit RandomSelectSubpolicy(const std::vector>> &policy); explicit RandomSelectSubpolicy( const std::vector, double>>> &policy); explicit RandomSelectSubpolicy( const std::vector, double>>> &policy); ~RandomSelectSubpolicy() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomSharpness final : public TensorTransform { public: explicit RandomSharpness(std::vector degrees = {0.1, 1.9}); ~RandomSharpness() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomSolarize final : public TensorTransform { public: explicit RandomSolarize(std::vector threshold = {0, 255}); ~RandomSolarize() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomVerticalFlip final : public TensorTransform { public: explicit RandomVerticalFlip(float prob = 0.5); ~RandomVerticalFlip() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RandomVerticalFlipWithBBox final : public TensorTransform { public: explicit RandomVerticalFlipWithBBox(float prob = 0.5); ~RandomVerticalFlipWithBBox() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class Rescale final : public TensorTransform { public: Rescale(float rescale, float shift); ~Rescale() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class ResizeWithBBox final : public TensorTransform { public: explicit ResizeWithBBox(std::vector size, InterpolationMode interpolation = InterpolationMode::kLinear); ~ResizeWithBBox() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class RGBA2BGR final : public TensorTransform { public: RGBA2BGR(); ~RGBA2BGR() = default; protected: std::shared_ptr Parse() override; }; class RGBA2RGB final : public TensorTransform { public: RGBA2RGB(); ~RGBA2RGB() = default; protected: std::shared_ptr Parse() override; }; class SlicePatches final : public TensorTransform { public: SlicePatches(int32_t num_height = 1, int32_t num_width = 1, SliceMode slice_mode = SliceMode::kPad, uint8_t fill_value = 0); ~SlicePatches() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class SoftDvppDecodeRandomCropResizeJpeg final : public TensorTransform { public: SoftDvppDecodeRandomCropResizeJpeg(std::vector size, std::vector scale = {0.08, 1.0}, std::vector ratio = {3. / 4., 4. / 3.}, int32_t max_attempts = 10); ~SoftDvppDecodeRandomCropResizeJpeg() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class SoftDvppDecodeResizeJpeg final : public TensorTransform { public: explicit SoftDvppDecodeResizeJpeg(std::vector size); ~SoftDvppDecodeResizeJpeg() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class SwapRedBlue final : public TensorTransform { public: SwapRedBlue(); ~SwapRedBlue() = default; protected: std::shared_ptr Parse() override; }; class UniformAugment final : public TensorTransform { public: explicit UniformAugment(const std::vector &transforms, int32_t num_ops = 2); explicit UniformAugment(const std::vector> &transforms, int32_t num_ops = 2); explicit UniformAugment(const std::vector> &transforms, int32_t num_ops = 2); ~UniformAugment() = default; protected: std::shared_ptr Parse() override; private: struct Data; std::shared_ptr data_; }; class VerticalFlip final : public TensorTransform { public: VerticalFlip(); ~VerticalFlip() = default; protected: std::shared_ptr Parse() override; }; } // namespace vision } // namespace dataset } // namespace mindspore #endif // MINDSPORE_CCSRC_MINDDATA_DATASET_INCLUDE_DATASET_VISION_H_