123456789101112131415161718192021222324252627282930313233 |
- //
- // Copyright 2019 Olzhas Zhumabek <[email protected]>
- //
- // Use, modification and distribution are subject to the Boost Software License,
- // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- //
- #ifndef BOOST_GIL_IMAGE_PROCESSING_DETAIL_MATH_HPP
- #define BOOST_GIL_IMAGE_PROCESSING_DETAIL_MATH_HPP
- #include <array>
- #include <boost/gil/image_processing/kernel.hpp>
- namespace boost { namespace gil { namespace detail {
- static constexpr double pi = 3.14159265358979323846;
- static constexpr std::array<float, 9> dx_sobel = {{-1, 0, 1, -2, 0, 2, -1, 0, 1}};
- static constexpr std::array<float, 9> dx_scharr = {{-1, 0, 1, -1, 0, 1, -1, 0, 1}};
- static constexpr std::array<float, 9> dy_sobel = {{1, 2, 1, 0, 0, 0, -1, -2, -1}};
- static constexpr std::array<float, 9> dy_scharr = {{1, 1, 1, 0, 0, 0, -1, -1, -1}};
- template <typename T, typename Allocator>
- inline auto get_identity_kernel() -> detail::kernel_2d<T, Allocator>
- {
- detail::kernel_2d<T, Allocator> kernel(1, 0, 0);
- kernel[0] = 1;
- return kernel;
- }
- }}} // namespace boost::gil::detail
- #endif
|