Shinya Kitaoka 810553
#pragma once
Shinya Kitaoka 810553
Toshihiro Shimizu 890ddd
#ifndef igs_gaussian_blur_hv_h
Toshihiro Shimizu 890ddd
#define igs_gaussian_blur_hv_h
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef IGS_GAUSSIAN_BLUR_HV_EXPORT
Toshihiro Shimizu 890ddd
#define IGS_GAUSSIAN_BLUR_HV_EXPORT
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
namespace igs {
Shinya Kitaoka 120a6e
namespace gaussian_blur_hv {
Shinya Kitaoka 120a6e
IGS_GAUSSIAN_BLUR_HV_EXPORT const int int_radius(const double real_radius);
Shinya Kitaoka 120a6e
IGS_GAUSSIAN_BLUR_HV_EXPORT const int buffer_bytes(const int height_with_margin,
Shinya Kitaoka 120a6e
                                                   const int width_with_margin,
Shinya Kitaoka 120a6e
                                                   const int int_radius);
Toshihiro Shimizu 890ddd
IGS_GAUSSIAN_BLUR_HV_EXPORT void convert(
Shinya Kitaoka 120a6e
    /* 入出力画像 */
Shinya Kitaoka 120a6e
    const void *in_with_margin, void *out_no_margin
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const int height_with_margin, const int width_with_margin,
Shinya Kitaoka 120a6e
    const int channels, const int bits
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
    /* Pixel毎に効果の強弱 */
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const unsigned char *ref /* 求める画像(out)と同じ高、幅、ch数 */
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const int ref_bits /* refがゼロのときはここもゼロ */
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const int ref_mode /* 0=R,1=G,2=B,3=A,4=Luminance,5=Nothing */
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
    /* 計算バッファ */
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    void *buffer, int buffer_bytes
Shinya Kitaoka 120a6e
    // Must be igs::gaussian_blur_hv::buffer_bytes(-)
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
    /* Action Geometry */
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const int int_radius  // margin
Shinya Kitaoka 120a6e
    // Must be igs::gaussian_blur_hv::int_radius(real_radius)
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
    ,
Shinya Kitaoka 120a6e
    const double real_radius, const double sigma = 0.25);
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
}
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif /* !igs_gaussian_blur_hv_h */