2
0
mirror of https://github.com/boostorg/gil.git synced 2026-01-31 08:12:14 +00:00
Commit Graph

113 Commits

Author SHA1 Message Date
Dirk Stolle
79a4a724c0 chore: fix some typos (#751) 2025-11-19 08:33:09 +01:00
Mateusz Łoskot
011e147960 Merge branch 'develop'
* develop:
  fix: Broken build of test project for gcc-5 (#712)
  build: Add cxx14_constexpr requirement to example/Jamfile
  chore: Tidy up
  build: Remove unused Boost.Build imports from example/Jamfile
2022-07-23 20:24:13 +02:00
Mateusz Loskot
6dc55c6bfc build: Add cxx14_constexpr requirement to example/Jamfile 2022-07-21 23:47:57 +02:00
Mateusz Loskot
f52cc35f6a chore: Tidy up 2022-07-21 23:47:35 +02:00
Mateusz Loskot
4d80bc881f build: Remove unused Boost.Build imports from example/Jamfile 2022-07-21 23:47:05 +02:00
Mateusz Łoskot
bba6d62b4a Merge branch 'develop'
* develop:
  test: Add more basic cases for image class (#423)
  test: Add virtual_2d_locator fixture; is_2d_traversable test case
  test: Check more properties of indexed_image_view from extension/toolbox
  test: Add basic is_1d_traversable cases for image_view
  chore: Update CMakeSettings.json sample [ci skip]
  chore: Update CMake to use latest cmake-conan/0.18.1 [ci skip]
  Add pmr image typedefs (#529)
  test: Add test cases for image with empty dimensions (#702)
  test: Case test_constructor_from_view was not called
  fix: Memory leak in image class for empty dimensions (#649)
  docs: Bump C++11 to C++14 as current required (#700)
  ci: Remove C++11 build jobs after C++14 switch (#698)
  build: Fix CMake source file extensions must be explicit
  refactor: Switch to trailing return types (#599)
  build: Bump Boost required by CMake from 1.72 to 1.80
  build: Update CMAKE_CXX_STANDARD from 11 to 14
2022-06-29 23:03:26 +02:00
Mateusz Łoskot
00423cca03 chore: Update CMakeSettings.json sample [ci skip] 2022-06-29 00:14:28 +02:00
Mateusz Łoskot
5c3cfc7f7b docs: Bump C++11 to C++14 as current required (#700)
Related to #677
2022-06-27 22:47:47 +02:00
Mateusz Łoskot
b29f3da72c Merge branch 'develop'
* develop:
  docs!: Announce plan to require C++17 after Boost 1.80 (#694)
  feat: Added apply_rasterizer() free function (#695)
  refactor: Ellipse rasterizer according to the comment at (#692)
  refactor: Deprecate apply_operation in favor of variant2::visit for any_image (#656)
  refactor: Replace deprecated libtiff v4.3 typedefs with C99 fixed-size integers (#685)
  fix: Automatic detection of <filesystem> header (#684)
  test: Add tiled TIFF test case to simple_all_formats
  test: Add tests for RGB to HSL (#691)
  refactor: Move RGB to HSL tests to color_convert_rgb.cpp
  refactor: Make with_tolerance reusable across other tests
  chore: Correct include guard
  fix: Add missing #include <array>
  fix: Wrong RGB -> HSL convertion (#505)
2022-06-27 10:10:45 +02:00
Marco Langer
d5492e1ace feat: Added apply_rasterizer() free function (#695)
This PR implements the gil::apply_rasterizer()
free function mentioned in #680.
2022-06-27 09:54:58 +02:00
Marco Langer
adddbec896 refactor: Ellipse rasterizer according to the comment at (#692)
https://github.com/boostorg/gil/pull/585#issuecomment-1144412220
2022-06-26 13:33:53 +02:00
Mateusz Łoskot
b1d64abbba Merge branch 'develop' 2022-06-19 12:52:52 +02:00
Olzhas Zhumabek
48d7ebffe0 Move diffusion and Hough transform
Move anisotropic diffusion and
Hough transform into extension.
Adjust tests and cmakelists
2022-05-31 02:37:56 +06:00
Olzhas Zhumabek
f87ee565c1 In depth explanation for Hough line
Added in depth explanation for
Hough line transform in the
associated markdown file
2022-05-31 02:37:56 +06:00
Olzhas Zhumabek
bab2a370ff Fix Hough transform and move rasterization
Hough line transform had incorrect
rounding which lead to misleading message
2022-05-31 02:37:56 +06:00
Dirk Stolle
1be8c87c10 chore: do not use deprecated header in test or elsewhere (#675) 2022-05-18 23:25:36 +02:00
Mateusz Łoskot
6ef11459a9 Merge branch 'develop' 2022-05-09 22:14:49 +02:00
Dirk Stolle
4f83beb735 style: Remove trailing space characters (#651) 2022-04-26 20:52:56 +02:00
Paul92
caf92fa94b Renamed adaptive_he to adaptive_histogram_equalization (#638) 2022-04-21 16:38:19 +02:00
Pranam Lashkari
9bd8642f69 numeric extension move into core part 5
moved numeric/kernel.hpp into core
2022-02-18 14:25:59 +05:30
Pranam Lashkari
483915cb20 numeric extension move into core part 3
moved numeric/convolve.hpp into core
2022-02-18 14:25:59 +05:30
Pranam Lashkari
2562e11241 numeric extension move into core 1
moved numeric/algorithm.hpp into core
2022-02-18 14:25:59 +05:30
Mateusz Łoskot
0accacdbe6 Fix warning: comparison of integer expressions of different signedness 2022-02-05 14:20:14 +01:00
Nicolas Herry
0b24f4cdbf Ensure all examples build without error (#628)
* Added all missing examples, dodgy Jamfile still
* Fixed attributions and Jamfile indent
* One readme per example: synopsis, build and exec reqs
* Cleaned up example/convolve2d.cpp
* Added example target to root Jamfile

Closes #436
2021-11-10 18:21:02 +01:00
meshtag
bc3a6c0db9 Add rasterizer support for ellipse (#585)
* Added all standard morphological transformations
* Should handle grayscale dilation/erosion
* Added test cases and improved code structure
* Should handle multichannel images
2021-03-28 21:00:12 +02:00
René Ferdinand Rivera Morell
f18445f90b Repoint B2 refs to new non-boostorg home. (#571) 2021-03-01 21:15:02 +01:00
meshtag
1e8526797e Added all standard morphological transformations (#541)
* Added all standard morphological transformations

* Improved comments and some other things

* Applied adviced changes

* Applied adviced changes

* Should handle grayscale dilation/erosion

* Checking

* Added test cases and improved code structure

* Added command line control

* Added command line control

* Rectified some things

* Rectified some more things

* Improved comments

* Improved comments

* Improved doxygen comments and added more test cases

* Improved compatibility for builds and rectifying whitespace use

* Minor improvement in comments

* Did clang formatting

* pushed enum class inside namespace 'detail' and some other things

* Should handle multichannel images

* Clang formatting attempt

* got rid of if/else comparators for target_element

* Adds morphology.hpp declaration in boost/gil.hpp

* Fix newline

* (std::max)(a, b) instead of std::max(a, b)

* Improved Formatting
2021-02-13 22:01:22 +06:00
Scramjet911
90f7952b05 Fixed most of warnings in examples and some in core library (#545) 2021-02-02 18:53:16 +01:00
Mateusz Łoskot
5d63cf6798 Fix more warnings in examples
Completing https://github.com/boostorg/gil/pull/545
2021-01-28 22:15:50 +01:00
Olzhas Zhumabek
a37f12b3e9 Add implementation of Hough transforms (#512)
Support construction from step_size, step_count, and a function for angles

Implement angle and radious version of Hough line transform and adds a demo
with static line that goes over secondary diagonal.

Implement incremental line raster
Implement naive line raster
Implement Bresenham line raster
Leave only Bresenham line rasterization

Naive and incremental algorithms were removed because they are supposed
to produce the same results anyway.
The reason for diverging results is inaccuracy of floating point numbers

Add circle rendering through trigonometric functions, using
arctan(1 / (radius + 1)) as minimal angle step.

Trigonometric circle rasterizer does not follow circle equation, but still
produces very round shapes.
A new testing methodology needs to be devised for this rasterizer.

The new version accepts start and points inclusively and tries to use
canonic representation during computations.

Slope decided to be is (diff_y + 1) / (diff_x + 1).
2021-01-25 23:31:39 +01:00
Debabrata Mandal
a68a95d5f4 Add code for ahe algorithm (#516) 2021-01-24 23:22:48 +01:00
Olzhas Zhumabek
b82aed8f8e Implement hstack and vstack (#506)
Allow non-equal dims along stack dim
Width can be different in hstack, height can be different in vstack
2021-01-24 21:43:06 +01:00
Debabrata Mandal
77255e9e61 Add histogram matching algorithm (#515) 2021-01-24 21:33:38 +01:00
Debabrata Mandal
fb7512c29f Add histogram equalization feature (#514)
Co-authored-by: codejaeger <dhabalm1@>
2021-01-24 21:32:39 +01:00
Debabrata Mandal
3e729e5dae Add histogram class and related functionality (#499)
A new histogram class proposed with close suport for gil
image constructs.

Shift the stl support implmentation to extension to
serve as example for overloading fill_histogram.

Add cumulative histogram and histogram normalization.

Co-authored-by: debabrata1 <debabrata@goodhealthapp.com>
2021-01-24 00:02:51 +01:00
Olzhas Zhumabek
cb5bc9d8c2 Add Perona–Malik anisotropic diffusion algorithm (#500)
The output type must be floating point, thus a check was added to make sure it
is the case. Though I had to add specific cases for float32_t as std::is_floating_point does not
consider it a floating point type

The accumulate part was wrong, it multiplied by delta_t on every sum, which is wrong

Use 8 way nabla compute.
This is just different discretization of Laplace operator
https://en.wikipedia.org/wiki/Discrete_Laplace_operator

Laplace stencils are now the same as in mathematical notation

The new function will provide a uniform way to generate stencils
by making sure directions are indexed properly

Add only required stencil points:
The 5 points Laplace stencil is now adding only required points and not assuming that others are zero
2021-01-22 23:55:17 +01:00
Mateusz Łoskot
0b14663ff6 Second merge of develop branch for Boost 1.74 release
* origin/develop:
  meta/libraries.json: Add Pranam Lashkari (@lpranam) to maintainers [ci skip]
  CMakeSettings.json: Fix use of BOOST_GIL_ENABLE_EXT_NUMERIC [ci skip]
  Re-enable self containing header tests in CMake (#509)
  Fix dynamic_image extension header dependencies (#508)
  CMakeSettings.json: Add 1.74 to Boost_ADDITIONAL_VERSIONS [ci skip]
  RELEASES.md: Tag more C++ modernizations with BREAKING
  Clarify removal of Boost.Variant is a breaking change
2020-07-27 02:58:20 +02:00
Mateusz Łoskot
0dc68398b8 CMakeSettings.json: Fix use of BOOST_GIL_ENABLE_EXT_NUMERIC [ci skip] 2020-07-27 02:51:02 +02:00
Mateusz Łoskot
e27454d040 CMakeSettings.json: Add 1.74 to Boost_ADDITIONAL_VERSIONS [ci skip] 2020-07-26 13:51:11 +02:00
Mateusz Łoskot
0ac2e42376 Initial merge of develop branch for Boost 1.74 release
* develop:
  Collect release notes for Boost 1.74
  Fix missing header in numeric/kernel.hpp to make it self-contained (#502)
  Use perfect forwading from apply_operation to visit (#491)
  Fix typos and replace mpl with mp11 in tutorial (#494)
  Implemented mechanism to reverse kernel_2d (#489)
  added missing const& in extend_boundary parameters (#490)
  Add initializing image constructor (#486)
  Fix interleaved_view factory using point<std::ptrdiff_t> for dimension (#487)
  RELEASES.md: Remove beta tag [ci skip]
  Replace Boost.Variant with Boost.Variant2 (#474)
  Fix error plane_view_t is not a class or namespace name (#481)
  Fix image constructor from other image (#477)
  Fix overflow in RGB to CMYK32 conversion (#470)
2020-07-11 20:19:54 +02:00
Samuel Debionne
601790f241 Replace Boost.Variant with Boost.Variant2 (#474)
* Update documentation
* Update example
* Update io and extensions
2020-04-17 19:25:19 +02:00
Mateusz Łoskot
7eb2301de2 Link to clang-format bug [ci skip] 2020-03-30 16:04:35 +02:00
Mateusz Łoskot
23702f9879 Add good-enough .clang-format to example/clang-format/
This is an example which offers _good enough_ configuration and
may be useful when writing code for GIL, not required though.

This is **not** a complete configuration!

Closes #87
2020-03-26 00:38:24 +01:00
siddhant2001
cd2c894b4c Update example/Jamfile to compile all programs with b2 (#437)
Completes one of tasks of #436
2020-03-01 21:17:59 +01:00
Mateusz Łoskot
b1811c019d Include CTest to enable BUILD_TESTING as common CMake option [ci skip] 2020-02-21 19:20:45 +01:00
Pranam Lashkari
b03b51e4f3 Corrected the namespace in example (#427)
convolution_2d was invoked using wrong namespace in `sobel_scharr.cpp`

Change missing from #397
2020-01-20 23:54:00 +01:00
Sourabh Dharpure
5bfc4211f5 Prefix CMake parameters with BOOST_ (#419) 2020-01-16 20:14:10 +01:00
Mateusz Łoskot
5f2011b23e Fix environment variables syntax in CMakeSettings.json [ci skip] 2020-01-01 22:02:40 +01:00
Mateusz Łoskot
0875e278d1 B2: Tidy up example/b2/user-config-windows-vcpkg.jam [ci skip] 2019-12-17 18:29:07 +01:00
Mateusz Łoskot
837888bef2 B2: Add example/b2/user-config-windows-vcpkg.jam [ci skip] 2019-12-17 14:14:04 +01:00